我需要使用selenium从phpunit测试运行javascript函数并检查javascript返回true。我已经研究过使用runScript但它似乎永远不会运行(我通过向代码添加警报来测试它,但它从未显示..)。
我的javascript需要检查元素的不透明度是否为1,如果不使用setTimeout再次运行该函数。 - 这段代码基本上要做的是确保调用了一个ajax调用(要更新的元素在更新时变为半透明,在更新时变为完全)
runScript是正确的函数,还是有更好的方法来检查ajax运行?这是JS:
function seleniumCheckOpacity(elementId, counter) {
if(counter >= 5) return false;
else if($(elementId).opacity == 1) return true;
else {
counter++
return setTimeout('seleniumCheckOpacity('+elemelementId+', '+counter+')', 500);
}
}
答案 0 :(得分:2)
我建议使用waitForCondition并使用你要检查不透明度的javascript。这个waitForX命令会为你做循环,如果失败则会出错,否则测试会继续进行。