Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
phpunit和selenium:运行javascript并检查返回_Php_Selenium_Phpunit - Fatal编程技术网

phpunit和selenium:运行javascript并检查返回

phpunit和selenium:运行javascript并检查返回,php,selenium,phpunit,Php,Selenium,Phpunit,我需要使用selenium从phpunit测试中运行javascript函数,并检查javascript是否返回true。我曾研究过使用runScript,但它似乎从未运行过(我通过向代码中添加警报来测试它,但它从未显示…) 我的javascript需要检查元素的不透明度是否为1,如果不是,请使用setTimeout再次运行该函数。-这段代码的基本目的是确保调用了ajax调用(要替换的元素在更新时变为半不透明,在更新时变为完全不透明) runScript是正确的函数,还是有更好的方法来检查aja

我需要使用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);
    }
}

我建议使用waitForCondition,并使用希望检查不透明度的javascript。此waitForX命令将为您执行循环,如果失败则出错,如果成功则测试将继续

runScript或getEval可以执行此任务,事实上,您可以在不使用setTimeout的情况下进行检查,您可以使用PHP的loop/sleep定期查看值。Docs用红色大字说明了这一切。