有没有办法获得PhantomJS(或类似物)渲染的实时视图?
我想在与其所针对的页面进行交互(或至少看到一个屏幕截图)时开发我的自动化脚本。
答案 0 :(得分:3)
不,没有这样的事情。 SlimerJS与PhantomJS具有相同的API,但运行Gecko引擎。您可以直接看到正在发生的事情并使用xvfb-run无头地运行。
您将无法与之互动。您可能希望使用screengrabber在测试很长时录制交互视频,如果您在测试用例中没有发现问题,则不想再次运行测试套件。
调试PhantomJS脚本的明显方法是使用page.render()
渲染许多屏幕截图并使用
console.log(JSON.stringify(yourObj, undefined, 4));
格式不错。
答案 1 :(得分:1)
我们使用的解决方案是在出现例外的情况下自动截屏,phantomJs会将当前页面渲染成一个您可以稍后检查的文件。
这是测试执行阶段。
当您编写测试时,只需在您尝试测试的应用程序中打开其他窗口(“普通浏览器”)并根据它设计测试。
设计完成后,使用phantomJS执行测试。
答案 2 :(得分:0)
我的建议是使用日志记录。 http://casperjs.org/
CasperJS是一个开源导航脚本&测试用Javascript编写的实用程序,用于PhantomJS WebKit无头浏览器和SlimerJS(Gecko)。它简化了定义完整导航场景的过程,并提供了有用的高级功能,方法和方法。用于执行常见任务的语法糖,例如:
答案 3 :(得分:0)
此问题的解决方案是使用远程调试器:
--remote-debugger-port=9000
不建议使用slimerjs来使用浏览器测试脚本,因为它基于gecko,这意味着脚本可能在slimerjs上运行而不是在phantomjs上,反之亦然。
请查看本指南以获取更多信息... https://drupalize.me/blog/201410/using-remote-debugger-casperjs-and-phantomjs