PhantomJS 和 XPath 选择器
PhantomJS and XPath selectors
我有一个 HTML
页面,其中包含不止一个以下元素:
<div id="asd">
...
<span id="dfgh">Mytext</span>
...
</div>
我将 Webdriver-io 与 WDIO 运行ner 一起用于 运行 jasmine 测试。
在我的测试中,我等到跨度为 available/visible,以便我可以检查 DOM.[=22= 中的其他一些元素]
browser.waitForExist('//span[text()="Mytext"]', 120 * 1000, false);
我正在 运行使用 PhantomJS 进行无头测试,作为独立的
GhostDriverphantomjs --webdriver=4444 --debug=true
并且我使用独立启动的 selenium
java -jar selenium-server-standalone-2.53.0.jar -Dwebdriver.chrome.driver=./chromedriver)
到 运行 chrome 和 firefox 中的测试。
我注意到相同的 .waitForExist
函数调用在 chrome 运行 中很快,但在 PhantomJS
中这需要很长时间,有时它会超时而找不到element
.
有没有人注意到 PhantomJS
中 XPath
选择器的类似行为?
PhantomJS
中这样的 XPath
选择器可能有什么问题?
TIA
我自己也遇到过这个问题,我得出的结论是:
browser.get(url);
Selenium 等待浏览器返回页面确实已到达的答复。 PhantomJS 中的 Ghostdriver
会更早地返回源代码并在执行 javascript 时花费更长的时间,而 Chrome 或 Firefox 会发送信号,并且动态生成的内容通常已经可用。当您的互联网连接速度较慢并且想要进行跨浏览器测试时,这尤其令人讨厌
不过不要把我的话当作事实,这个 "conclusion" 仅来自广泛的测试并且是假设。我不熟悉该工具的代码。
我有一个 HTML
页面,其中包含不止一个以下元素:
<div id="asd">
...
<span id="dfgh">Mytext</span>
...
</div>
我将 Webdriver-io 与 WDIO 运行ner 一起用于 运行 jasmine 测试。
在我的测试中,我等到跨度为 available/visible,以便我可以检查 DOM.[=22= 中的其他一些元素]
browser.waitForExist('//span[text()="Mytext"]', 120 * 1000, false);
我正在 运行使用 PhantomJS 进行无头测试,作为独立的
GhostDriverphantomjs --webdriver=4444 --debug=true
并且我使用独立启动的 selenium
java -jar selenium-server-standalone-2.53.0.jar -Dwebdriver.chrome.driver=./chromedriver)
到 运行 chrome 和 firefox 中的测试。
我注意到相同的 .waitForExist
函数调用在 chrome 运行 中很快,但在 PhantomJS
中这需要很长时间,有时它会超时而找不到element
.
有没有人注意到 PhantomJS
中 XPath
选择器的类似行为?
PhantomJS
中这样的 XPath
选择器可能有什么问题?
TIA
我自己也遇到过这个问题,我得出的结论是:
browser.get(url);
Selenium 等待浏览器返回页面确实已到达的答复。 PhantomJS 中的 Ghostdriver
会更早地返回源代码并在执行 javascript 时花费更长的时间,而 Chrome 或 Firefox 会发送信号,并且动态生成的内容通常已经可用。当您的互联网连接速度较慢并且想要进行跨浏览器测试时,这尤其令人讨厌
不过不要把我的话当作事实,这个 "conclusion" 仅来自广泛的测试并且是假设。我不熟悉该工具的代码。