Não é possível localizar o elemento usando a recursão após encontrá-lo como visível
Meu problema:
Estou tentando clicar em opções em um menu suspenso com o Nightwatch, usando seções em objetos de página. Não tenho certeza se é um problema com a declaração da seção ou se está faltando algo relacionado ao escopo. O problema é que ele encontra o elemento como visível, mas ao tentar clicar, gera um erro que não pode localizá-lo usando a recursão.
O que eu poderia tentar fazer para corrigir esse problema usando as seções?
No teste:
var myPage = browser.page.searchPageObject();
var mySection = searchPage.section.setResults;
// [finding and clicking the dropdown so it opens and displays the options]
browser.pause (3000);
browser.expect.section('@setResults').to.be.visible.before(1000);
myPage.myFunction(mySection, '18');
No objeto de página:
var searchKeywordCommands = {
myFunction: function (section, x) {
section.expect.element('@set18').to.be.visible.before(2000);
if (x == '18') section.click('@set18');
//[...]
};
module.exports = {
//[.. other elements and commands..]
sections: {
setResults: {
selector: '.select-theme-result', //have also tried with '.select-content' and '.select-options' but with the same result
elements: {
set18: '.select-option[data-value="18"]',
set36: '.select-option[data-value="36"]' //etc
}}}}
Quando executo esse pedaço de núcleo, ele parece encontrar a seção, encontra o elemento visível (também posso ver claramente que ele abre o menu suspenso e mostra as opções), mas ao tentar clicar em qualquer opção, recebo o erro:<strong>ERROR: Unable to locate element: Section[name=setResults], Element[name=@set18]" using: recursion</strong>
Minhas tentativas:
Eu tentei declarar queset18
seletor como um elemento individual em vez de dentro da seção e tudo funciona bem dessa maneira, mas não funciona dentro da seção. Também tentei todos os seletores disponíveis para definir o seletor da seção, mas ele não funcionará com nenhum deles.