Substituir ações de teste de componente
Altere as propriedades de teste de um componente de página específico usando atributos HTML específicos de Automated Test Framework.
Antes de Iniciar
Por Que e Quando Desempenhar Esta Tarefa
Quando Automated Test Frameworkrecupera um componente, ele determina quais interações ele oferece suporte, como se é um componente configurável ou clicável. Se o componente for configurável, Automated Test Frameworkdetermina o tipo de campo que pode ser definido. Se Automated Test FrameworkDetermina incorretamente as ações ou os tipos de campo do componente personalizado, ou seu componente contém vários elementos DOM que devem ser tratados como uma entidade, defina-os explicitamente usando atributos HTML específicos para Automated Test Framework.
Usando atributos sn-atf-clickable e sn-atf-settable
Uso sn-atf-clicável e. sn-atf-configurável atributos para especificar que um elemento e seus elementos secundários devem ser tratados como um componente clicável personalizado 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>
Usando o atributo sn-atf-class
Use o. classe sn-atf Atributo para especificar o objeto JavaScript a ser usado ao testar um componente clicável ou configurável personalizado. Escreva 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
classe sn-atf atributo. 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 necessárias para o objeto JavaScript. Consulte Etapas de teste de IU personalizadapara requisitos de 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 do sn-reference-picker e. seletor de registro sn diretivas angular. 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 Valor escolhido para esse seletor de registro. Ambos os elementos podem ser definidos selecionando um registro para definir como seu valor.