11

我需要测试一个角度应用程序,我正在考虑使用哪个测试框架。有人可以列出这两个测试框架之间的区别,每个测试框架的好/坏。什么时候应该使用它们?一个可以代替第二个吗?

编辑1:我会尽量集中我的问题。我真正感兴趣的是这两个框架的技术能力。例如,我发现的一些差异:

  1. selenium webdriver 能够在多台机器上并行运行在网格上,另一方面,角度场景的运行速度比 selenium 快得多。

  2. 使用 selenium,我可以使用 Enter、Backspace 等键盘键,还可以执行拖放操作。

  3. selenium 不依赖于应用程序技术,角度仅适用于角度应用程序

    这些是我正在寻找的差异类型——一个可以做什么,另一个不能做什么

谢谢

4

3 回答 3

8

两者都应该用于测试角度应用程序。但是,根据我的经验,它们有不同的用途。

在将新功能集成到应用程序或更改现有功能时,Angular e2e测试是您最好的朋友。如果您对代码进行更改,它们可以确保您的应用程序仍然按预期运行。这些测试比 selenium 快得多,不需要那么深入,并且根据我的经验,最好在将新功能推送到版本控制服务器之前执行。

Selenium测试应该用于回归测试。这些测试应该比 Angular e2e 测试更深入,并且应该在将代码投入生产之前执行。

于 2013-04-24T11:18:54.843 回答
4

UPDATE: This question may be less relevant now. As of January 2014, Angular plans to move from their own E2E suite to the protractor library for function tests, which use Selenium Webdriver.

If you're starting a new Angular project, you may want to look into using Protractor, as it is going to replace the current method of E2E Testing in the near future.

(Source: http://docs.angularjs.org/guide/dev_guide.e2e-testing)


I am struggling with this question as well.

Here is my thinking today:

1) Use Angular e2e testing for integration/regression testing the UI with mocks of your external dependencies (like the app server).

2) Use Selenium for integration/regression testing the complete system in a test/qa environment.

It seems Angular e2e testing helps fill in the gaps that unit testing leaves in testing view and controller logic that is tied to UI events. All of the Angular tests should mock external dependencies.

Selenium seems like the best fit for testing the entire system as the user will experience it.

于 2014-01-21T14:42:20.180 回答
2

这是一个如此主观的问题,因此我首先告诉你做一些研究。没有太大区别。

这是一个非常新的项目,而 Selenium 则要成熟得多。例如,构建 WebDriver 的 JSON Wire Protocol 是一个实际的 W3C 规范。这表明该项目非常成熟,非常稳定。

由于上述原因,Selenium 拥有更广泛的文档集和更广泛的社区。

使用 Selenium,您可以使用多种不同的语言来编写测试代码,以及使用 IDE。Angular 限制使用纯 JavaScript。对于很多手动测试人员来说,这是大多数人不具备的技能。

Selenium 和 Angular 都是开源的,这(相信我)极大地帮助调试问题和理解各自 API 中的设计决策。

于 2013-04-24T09:01:33.387 回答