当我的IE9在后台运行时,java中的Selenium测试不会运行

时间:2013-10-09 06:49:18

标签: java selenium selenium-grid

我写了几个Selenium测试用例并在网格上运行它们,我的电脑上有1个集线器和1个节点。当我运行测试用例时,IE9窗口在后台打开,如果我单击它并将其置于前台,则运行所有测试。但如果它仍然在后台,那么一些测试就会失败。 是否有成功在后台运行所有测试的解决方案。

1 个答案:

答案 0 :(得分:0)

有解决方案,但我还没有找到一个简单的解决方案:

  1. 在虚拟机中运行IE(VirtualBox,VirtualPC,VMWare Player)。这样,IE就可以在虚拟桌面上打开一个窗口;它不会注意到虚拟PC本身是最小化的。

  2. 使用像phantomjs这样的无头浏览器。当然,这里的缺点是你不会以这种方式捕获特定于IE的错误。从积极的方面来说,你也不会被Selenium触发的IE漏洞所困扰。

  3. 在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