Substituir ações de teste de componente
Altere as propriedades de teste de um componente de página específico usando atributos HTML que são específicos para Automated Test Framework.
Antes de Iniciar
Por Que e Quando Desempenhar Esta Tarefa
Quando Automated Test Framework recupera um componente, ele determina quais interações ele suporta, por exemplo, se é um componente configurável ou clicável. Se o componente for configurável, Automated Test Framework determinará o tipo de campo que pode ser definido. Se Automated Test Framework determinar incorretamente as ações ou os tipos de campo do seu componente personalizado, ou se o seu componente contiver vários elementos DOM que devem ser tratados como uma entidade, defina-os explicitamente usando atributos HTML específicos para Automated Test Framework.
Como usar atributos sn-atf-clickable e sn-atf-settable
Use os atributos sn-atf-clickable e sn-atf-settable para especificar que um elemento e seus elementos secundários devem ser tratados como um componente clicável ou configurável personalizado.
Antes de Iniciar
Procedimento
Exemplo
//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>
Como usar o atributo sn-atf-class
Use o atributo sn-atf-class para especificar o objeto JavaScript a ser usado ao testar um componente clicável ou configurável personalizado. Grave um objeto JavaScript personalizado para especificar as ações de teste disponíveis para um componente personalizado.
Antes de Iniciar
Por Que e Quando Desempenhar Esta Tarefa
sn-atf-class. Defina o valor do atributo como o nome do objeto JavaScript que contém as ações de teste do componente. Os componentes personalizados testáveis devem ser clicáveis ou configuráveis, e essa classificação determina as funções e propriedades que seu objeto JavaScript requer. Consulte Etapas de teste da IU personalizada para obter os requisitos do componente de página testável.Procedimento
Exemplo
//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>
Seletor de referência e registro
Use etapas de IU personalizadas para manipular os valores das diretivas angulares sn-reference-picker e sn-record-picker. O valor em um seletor de referência retorna o sys_id do registro escolhido. O valor em um seletor de registro retorna o campo de valor escolhido para esse seletor de registro. Ambos os elementos podem ser definidos selecionando um registro para definir como seu valor.