我写了几个Selenium测试用例并在网格上运行它们,我的电脑上有1个集线器和1个节点。当我运行测试用例时,IE9窗口在后台打开,如果我单击它并将其置于前台,则运行所有测试。但如果它仍然在后台,那么一些测试就会失败。 是否有成功在后台运行所有测试的解决方案。
答案 0 :(得分:0)
有解决方案,但我还没有找到一个简单的解决方案:
在虚拟机中运行IE(VirtualBox,VirtualPC,VMWare Player)。这样,IE就可以在虚拟桌面上打开一个窗口;它不会注意到虚拟PC本身是最小化的。
使用像phantomjs这样的无头浏览器。当然,这里的缺点是你不会以这种方式捕获特定于IE的错误。从积极的方面来说,你也不会被Selenium触发的IE漏洞所困扰。
在Linux上,我的解决方案是使用Xnest在嵌套的X服务器中运行浏览器:
#!/bin/bash
XN_DISPLAY=:17
Xnest $XN_DISPLAY -geometry 1200x1000+0+0 &
sleep 2
export DISPLAY=$XN_DISPLAY
# Disable screen blanker
xset s off
mkdir -p tmp
chromedriver --port=10101 --verbose |& tee tmp/chrome.log