2

我正在使用 testng 执行 selenium 测试,这些测试是通过 hudson(使用 ssh 连接)在具有 Selenium RC 的远程系统上启动的。远程系统是安装了 MKS Toolkit 的 windows xp,因此是 ssh。测试不作为 Windows 服务执行。

我试过同时使用 captureScreenshot 和 captureEntirePageScreenshot 方法。第一个总是产生黑色图像。第二个创建了正确的屏幕截图,但它仅适用于 Firefox,我们的测试通常在 Firefox 上通过而在其他浏览器中失败,因此为其他浏览器(主要是 IE 和 Safari)捕获屏幕截图至关重要。测试并行运行,同时打开许多浏览器窗口。我不确定这是否是导致问题的原因。任何想法将不胜感激。

4

3 回答 3

2

不幸的是,Selenium 中的屏幕截图从一开始就在非 Firefox 浏览器中存在问题。这是我们 Selenium 开发人员一直在努力纠正的问题。

最新的工作是更新 Snapsie 以在 IE 中工作。http://blog.codecentric.de/en/2010/02/remote-screenshots-mit-selenium-und-dem-robot-framework/上有一篇博文解释了发生的事情。

我注意到如果屏幕未激活,即屏幕保护程序已启动,它产生黑色屏幕截图。

编辑:

我只是有一个想法。您可以随时运行Castro来录制您的测试,然后观看它的播放。这是 SauceLabs 用来在云中运行 Selenium 的东西。

于 2010-02-26T15:24:46.413 回答
1

为此编写一个方法,并在需要截屏的任何地方调用它。使用 selenium 中已经使用的 java.awt 包。例如,检查这个网站

于 2010-03-17T05:49:15.927 回答
0

在设置 Windows 自动登录并启动进程不是作为 Windows 服务后,我找到了如何通过创建一个断开 RDP 的批处理文件来解决 IEDriverServer.exe的远程桌面黑屏问题,而不是使用常规关闭 RDP 会话X 按钮:

%windir%\system32\tscon.exe %SESSIONNAME% /dest:console

在此处查看更多详细信息: https ://stackoverflow.com/a/24529629/658497

(虽然,当使用 X Windows 按钮终止 RDP 会话时,我希望有一种方法可以将其作为默认操作运行)。

于 2014-07-27T13:21:57.840 回答