selenium rc captureEntirePageScreenshotToString 触发 FileNotFoundException
我正在使用 selenium rc 进行功能网站测试,最近我在 safari 和 opera 方面遇到了一个神秘的问题。 当测试失败时,我使用 captureEntirePageScreenshotToString 命令制作屏幕截图并检索 html 源。 但有时会失败并出现 FileNotFoundException: java.io.FileNotFoundException: C:\DOKUME~1\selenium\LOKALE~1\Temp\customProfileDir8aa20800ab1a46dbb3ef71d4d2d31b77\screenshots\page-screenshot-8aa20800ab1a46dbb3ef71d4d2d31b77.png
这是一个硒错误吗?我该如何解决这个问题?
我正在使用 selenium rc 独立版 2.0a4。
谢谢,
汉斯
I'm using selenium rc to do functional website testing and I've recently experienced a mysterious issue with safari and opera.
When a test fails I make a screenshot using the captureEntirePageScreenshotToString command as well as retrieving the html source.
Sometimes however this fails with a FileNotFoundException:
java.io.FileNotFoundException: C:\DOKUME~1\selenium\LOKALE~1\Temp\customProfileDir8aa20800ab1a46dbb3ef71d4d2d31b77\screenshots\page-screenshot-8aa20800ab1a46dbb3ef71d4d2d31b77.png
Is this a selenium bug? How can I workaround this issue?
I'm using selenium rc standalone 2.0a4.
thanks,
hans
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
因此,我一直在使用“captureScreenshotToString”方法,该方法有点不同,但仍然提供了从远程 selenium 实例获取屏幕截图的方法。
这种方法的最大不同/问题是,它要求 selenium 服务器是解锁的 Windows 会话,以便它可以访问显示缓冲区以获取物理屏幕。这给我的无头硒网格机器带来了问题,我通过远程桌面进行管理/故障排除。
为了解决这个问题,我为此 msdn 文章 使用了自动登录脚本,并设置了一个任务在远程桌面会话结束后重新启动计算机。
要设置远程桌面断开连接后自动重新启动:
公平警告,这不是让计算机闲置的最安全方式
So I've been using the 'captureScreenshotToString' method which is a little different, but still provides the means to get a screenshot from a remote selenium instance.
The large different/problem with this approach is that it requires the selenium server to be an unlocked windows session so it can access the display buffer to get at the physical screen. This has created problems with my headless selenium-grid machines, that I remote desktop into to administrate/troubleshoot.
In order to workaround that I've used an autologon script for this msdn article, and setup a task to restart the computer after a remote desktop session ends.
To setup Auto-Restart after remote desktop disconnect:
Fair warning, this is not the most secure way to have a computer sitting around
我建议您使用 Apache Commons FileUtils 函数 makeDirs() 创建 png 图像所在目录的所有父目录。
I suggest you use the Apache Commons FileUtils function makeDirs() to create all the parent directories of the directory where the png image will be located.