Reusing SearchElement
lufton opened this issue · comments
Discussed in #2586
Originally posted by lufton May 16, 2022
I have a step definition that is failing:
step("Enter <value> into <fieldLabel> text field", async function(value, fieldLabel) {
let txtBox = await textBox(below(text(fieldLabel)), near(text(fieldLabel)));
await scrollTo(txtBox, { blockAlignment: 'center', inlineAligment: 'center' });
await write(value, into(txtBox));
});
But it fails at await write(value, into(txtBox))
line:
Error: TextBox below Element with text THE TEXT NEXT TO ELEMENT and near Element with text THE TEXT NEXT TO ELEMENT not found
This is weird, because await scrollTo(txtBox, { blockAlignment: 'center', inlineAligment: 'center' })
works as expected, so there is corresponding element.
Also if I replace txtBox
with textBox(below(text(fieldLabel)), near(text(fieldLabel)))
inside scrollTo
and write
method calls, then this code words. So it looks like as soon as I used txtBox variable it is not holding actual element anymore.
Steps to reproduce:
openBrowser();
goto("https://gauge.org/gauge-taiko/");
let lnk = await link("Taiko", below("Explore")); // Footer menu item
await scrollTo(lnk);
await click(lnk);
@zabil @NivedhaSenthil any update on this?