寻找用于CI集成和本地浏览器运行的工作,稳定,无头浏览器

时间:2015-11-05 19:47:40

标签: javascript angularjs automation headless-browser

我正在寻找有关测试(通过自动化)角度网络应用程序的最佳方法的建议。

我在许多网站上挖掘过,看看其他人在做什么。我还建立了一个框架,并在Selenium / Jasmine / Protractor中编写了一套简短的测试,实际上效果很好。直到...我需要无头地将它集成到我们的CI构建中。我尝试过PhantomJS,虽然它偶尔会运行完成,但对于这个任务,或者使用这个堆栈,或者两者兼而有之,它都是非常错误和不可靠的。 ; - 。)

如果我知道我可以满足以下参数(按优先级顺序),我愿意改变我的堆栈并重新编码(我们不会那么深入开发):

  1. 代码将在我们的CI服务器上无头地运行,这是与TeamCity的Win(我们可能将其移植到Mac,所以如果它也运行在那里......奖励积分)
  2. 代码将在主要浏览器的win框中本地运行
  3. 代码将在Browserstack / Saucelabs上运行(这在某种程度上是可选的)
  4. 我真的花了很多天试图让Phantom玩得很好。这个概念很棒,但支持似乎有问题,实施和后续也是如此。我还打了多个无头浏览器列表,但似乎没有一个符合我的要求(虽然我还没有尝试过任何其他的,但是......我想先发布这个建议请求)。

    那么,有没有办法做到这一点是可靠的(至少和我编写的代码一样可靠,这就是我所要求的)并且可以根据我的要求进行扩展?

    我非常擅长测试角度网站和JS,我完全接受任何/所有建议。 非常感谢您的想法。   - 布伦特

1 个答案:

答案 0 :(得分:0)

看来你的问题已经有答案了。

我建议使用量角器工具,它允许您在真实浏览器上运行测试。对于端到端或使用量角器的集成测试测试很棒。 对于仅进行单元测试,Karma很好,可以在真正的浏览器上完成。

对于CI工具来说,访问真实浏览器很难,因为并非所有供应商都会提供这样的功能,因此,使用Saucelab会很方便,因为它可以为浏览器提供云访问,同时允许您访问localhost网址。您可以通过CI平台上的Saucelabs在真实浏览器上运行相同的量角器和Karma测试。