我从事 UI 测试已经有一段时间了,场景如下:
我的测试想确保在输入字段中输入的值确实是表中反映的值。问题是,如果不使用delay()方法,我就无法检索表中生成的值,这是应该避免的。
以下是我如何尝试恢复表中的值:
When waitFor(inputLocator.pathInputLocator).input("18.00")
And mouse().move(100, 200).go().click(); // click outside input, value updated in table
* def shippingCost = text(tableLocator.pathTableLocator)
* print shippingCost // return 0 instead of the value
感谢您的帮助
****** 编辑:****** 为了检查我是否获取了表中输入字段的值,我尝试了这段代码,但我可能误解了文档:
When waitFor(inputLocator.pathInputLocator).input("18.00")
And mouse().move(100, 200).go().click(); // click outside input, value updated in table
And def searchFunction =
"""
function() {
var results = scriptAll('tableLocator.pathTableLocator', "!_.textContent == '0'");
return results.size() > 0 ? results : null;
}
"""
And def getMyValue = waitUntil(searchFunction)
* print getMyValue
此代码在我将函数 searchFunction 作为参数传递给 waitUntil 的行上触发错误
感谢您的帮助