我在VMWare(Workstation 7.0.0 build-203739)虚拟机(Windows XP Professional SP3)上运行Selenium RC(selenium-server-standalone-2.0b2.jar)。
我使用Bromine在这个selenium服务器上运行测试。其中一个测试包含一个captureEntirePageScreenshot命令来保存屏幕截图:
captureEntirePageScreenshot("c:/Temp/Screenshot.png", "")
此命令传递给Selenium服务器并报告确定:
14:33:28.312 INFO - Command request: captureEntirePageScreenshot[C:/Temp/Screenshot.png, ] on session 1e301bb6dca4481ba007225fb4ef4f84
14:33:28.406 INFO - Got result: [base64 encoded PNG] on session 1e301bb6dca4481ba007225fb4ef4f84
14:33:30.937 INFO - Command request: testComplete[, ] on session 1e301bb6dca4481ba007225fb4ef4f84
但是在此之后c:/ Temp中没有截图。
我也尝试过captureEntirePageScreenshotToString()命令,它返回一个这样的字符串(而不是返回一个base64编码的png):
OR: java.io.FileNotFoundException: C:\DOCUME~1\Black\LOCALS~1\Temp\customProfileDir0be0044d90b44d63bcc746e8e6c79b10\screenshots\page-screenshot-0be0044d90b44d63bcc746e8e6c79b10.png (File not found)
我得出结论,运行它的Selenium或JRE(版本1.6.0_24)无法将文件写入磁盘以生成屏幕截图。任何帮助将不胜感激!提前谢谢。
运行Selenium服务器的虚拟机没有防止写入磁盘的防火墙/防病毒软件,这是一个干净的Windows XP安装。
答案 0 :(得分:1)
我通过从我的测试中调用SnagIt Com Server来解决这个问题(它们是用PHP编写的)。因此,我可以在任何浏览器中截取屏幕截图,并通过向下滚动捕获整个页面。到目前为止,问题已经解决了。感谢所有发布答案的人。
答案 1 :(得分:0)
我曾经遇到过这个问题。将我的浏览器升级到FF4。这主要是由于firefox配置文件。如果您使用的是自定义配置文件,请删除现有配置文件并创建一个新配置文件。如果您未使用自定义配置文件,请在创建测试后运行测试。那应该可以解决这个问题。