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
Lors Framework de tests automatisés de la récupération d’un composant, 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 est définissable, Framework de tests automatisés détermine le type de champ qui peut être défini. Si les actions ou les types de champs de votre composant personnalisé ne sont pas correctement définis, ou si Framework de tests automatisés votre composant contient plusieurs éléments DOM qui doivent être traités comme une seule entité, définissez-les explicitement à l’aide d’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 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 Étapes de test d’interface utilisateur personnalisées les exigences relatives aux composants de page pouvant être testés.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>
Sélecteur de référence et 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. Ces deux éléments peuvent être définis en sélectionnant un enregistrement à définir comme valeur.