0

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

4

1 回答 1

0

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

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

  2. 使用像 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
于 2013-10-09T07:06:49.080 回答