Remplacer les actions de test du composant
Modifiez les propriétés de test d’un composant de page particulier à l’aide d’attributs HTML spécifiques à Framework de tests automatisés.
Avant de commencer
Pourquoi et quand exécuter cette tâche
Lorsqu’un Framework de tests automatisés composant est récupéré, il détermine les interactions qu’il prend en charge, par exemple s’il s’agit d’un composant définissable ou cliquable. Si le composant peut être définie, Framework de tests automatisés détermine le type de champ qui peut être défini. Si Framework de tests automatisés les actions ou les types de champs de votre composant personnalisé sont incorrectement définis, ou si votre composant contient plusieurs éléments DOM qui doivent être traités comme une seule entité, définissez-les explicitement à l’aide des attributs HTML spécifiques à Framework de tests automatisés.
Utilisation des attributs sn-atf-clickable et sn-atf-settable
Utilisez les attributs sn-atf-clickable et sn-atf-settable pour spécifier qu’un élément et ses éléments enfants doivent être traités comme un composant cliquable personnalisé ou définissable personnalisé.
Avant de commencer
Procédure
Exemple
//A custom clickable component
<div sn-atf-clickable="true" sn-atf-disabled id="customClickable">
<button id="customButton">Click me</button>
</div>
<script>
var customClickableDiv = document.getElementById("customClickable");
customClickableDiv.addEventListener('sn-atf-click', function() {
document.getElementById('customButton').click();
});
</script>
//A custom settable component
<div sn-atf-settable="true" id="customSettable" sn-atf-component-value="A default value">
<input id="customInput" value="A default value"></input>
</div>
<script>
var customSettableDiv = document.getElementById("customSettable");
customSettableDiv.addEventListener('sn-atf-setvalue', function(event) {
var newValue = event.detail.newValue;
document.getElementById("customInput").value = newValue;
});
</script>
Utilisation de l’attribut sn-atf-class
Utilisez l’attribut sn-atf-class pour spécifier l’objet JavaScript à utiliser lors du test d’un composant personnalisé cliquable ou définissable. Écrivez un objet JavaScript personnalisé pour spécifier les actions de test disponibles pour un composant personnalisé.
Avant de commencer
Pourquoi et quand exécuter cette tâche
sn-atf-class . Définissez la valeur de l’attribut sur le nom de l’objet JavaScript contenant les actions de test du composant. Les composants personnalisés testables doivent être cliquables ou définissables, et cette classification détermine les fonctions et propriétés requises par votre objet JavaScript. Reportez-vous à la section pour connaître les Étapes de test d’interface utilisateur personnalisées exigences de composant de page testable.Procédure
Exemple
//A custom clickable component
<form>
<div sn-atf-class="MyClickableComponent">
<label for="a_clickable_checkbox">MyClickableComponent</label>
<input type="checkbox" id="a_clickable_checkbox" checked="true"/>
</div>
</form>
<script>
var MyClickableComponent = {
// The constructor must have this signature, but you can perform additional setup after the $super(element, area) call
initialize: function($super, element, area) {
$super(element, area);
},
click: function() {
document.getElementById('a_clickable_checkbox').click();
return {success: true};
},
// The function returns an object with a result attribute of type String
getValue: function() {
var isChecked = document.getElementById('a_clickable_checkbox').checked ? "true" : "false";
return {success: true, result: isChecked};
},
// The function returns an object with a result attribute of type Boolean
isDisabled: function() {
if (document.getElementById('a_clickable_checkbox').disabled)
return {success: true, result: true};
return {success: true, result: false};
},
};
</script>
//A custom settable component
<form>
<div sn-atf-class="MySettableComponent">
<label for="a_settable_checkbox">MySettableComponent</label>
<input type="checkbox" id="a_settable_checkbox" checked="true"/>
</div>
</form>
<script>
var MySettableComponent = {
// This attribute is required for settable components
isSettable: true,
// The constructor must have this signature, but you can perform additional setup after the $super(element, area) call
initialize: function($super, element, area) {
$super(element, area);
},
// The value parameter is a string
setValue: function(value) {
document.getElementById('a_settable_checkbox').checked = (value == "true");
return {success: true};
},
// The function returns an object with a result attribute of type String
getValue: function() {
var isChecked = document.getElementById('a_settable_checkbox').checked ? "true" : "false";
return {success: true, result: isChecked};
},
// The function returns an object with a result attribute of type Boolean
isDisabled: function() {
if (document.getElementById('a_settable_checkbox').disabled)
return {success: true, result: true};
return {success: true, result: false};
},
};
</script>
Référence et sélecteur d’enregistrement
Utilisez des étapes d’interface utilisateur personnalisées pour manipuler les valeurs des directives angulaires sn-reference-picker et sn-record-picker . La valeur d’un sélecteur de référence renvoie le sys_id de l’enregistrement choisi. La valeur d’un sélecteur d’enregistrement renvoie le champ de valeur choisi pour ce sélecteur d’enregistrement. Les deux éléments peuvent être définis en sélectionnant un enregistrement à définir comme valeur.