我们已经使用Jasmine javascript编写了一堆测试案例以覆盖代码。首先,我们使用幻影JS运行测试用例。尽管测试用例数量持续增加,但是在幻影JS中,测试用例却导致致命的内存异常。所以最后我们跳入了chrome无头浏览器。但是我们确保所有测试用例(500)在chrome和phantom JS中都能成功运行。但是有50个测试用例无法通过无头铬测试。有人可以告诉我,chromeheadless的缺点或局限性吗?

我已经在堆栈溢出中问过这个问题。

请为此提供一些建议吗?

评论

OP,请不要急于接受答案-您也许可以获得更多答案。

#1 楼

与“完整” Chrome相比,无头Chrome还不稳定。

我认为无头vs phantomjs(以及其他)与完整版始终存在问题。因此,在自动测试领域中,phantomjs(及其他产品)将永远存在。
明智地考虑选择。

无头Chrome的一些可能限制:


无头模式在Mac和Linux的Chrome 59中可用。Chrome60提供了Windows支持。您拥有的Chrome版本,请打开chrome:// version。
渲染,竞争条件,调整大小,页面高度,异步代码和绑定问题。

它们太多了列表。

对我来说,最好的办法是浏览Chromium无头错误列表中列出的所有错误,并关注测试自动化博客作者:


Chromium无头错误
将无头Chrome浏览器用作自动截图工具
无头开发Google组


#2 楼

我在量角器测试执行中使用的是版本65的无头铬,我发现它对于500多个测试套件非常稳定,甚至对于捕获的失败测试截图,质量也很好,非常有用。