sch*_*gel 25 javascript testing phantomjs
我目前正在尝试为CI(Hudson)构建一个小测试套件.我编写了一个复杂的脚本,动态调用其他脚本并填充给定的DIV元素.
我的Selenium测试适用于琐碎的例子(加载www.google.com,搜索q-Element等)
但是当我尝试在我的PhantomJS实例中运行与Firefox驱动程序一起运行的复杂测试时,它会崩溃.发生了段错误.
我的问题是,如何为我的前端JS编写测试,该测试适用于运行(无头)的Hudson-Server.
或者有没有办法调试导致段错误的原因?
Phantom是一个不断发展的产品,只是最近才获得了与Selenium集成的能力,所以你可能遇到了它的错误; 你试过向Phantom开发者报告吗?
Phantom的替代品:
没有多少.僵尸是我所知道的,但幻影在任何其他无头浏览器上都是首屈一指的.
您还可以尝试使用无头虚拟服务器来运行任何普通的Web浏览器.(这也有比Phantom更真实的测试优势)
Selenium的替代品:
您可以使用Sahi作为Selenium的直接替代品.它具有相同的功能,但工作原理完全不同.当然,您的测试脚本需要重写.
Phantom是为脚本编写的,所以你根本不需要像Selenium一样使用驱动程序工具; 您可以直接编写脚本,或使用CasperJS等工具编写测试脚本.
jsdom现在是一个很好的选择,它非常成熟.
https://github.com/tmpvar/jsdom/
它用于无头测试.我不认为它会像phantomjs那样做屏幕截图,因为它没有webkit或gekko渲染器它的纯JS.
我发现这是因为phantomjs段错误并且新版本不会构建.slimerjs并不是真正的无头,它的XULRunner基于FireFox刚刚掉线,它不适用于我目前的FF.
jsdom非常酷,它起初是一个XML解析器,现在有一个完整的网络后端和jQuery支持.
API与phantomjs不同.
| 归档时间: |
|
| 查看次数: |
32040 次 |
| 最近记录: |