我知道我们可以使用Selenium自动化AngularJs应用程序。但是我们有一个单独的E2E测试框架,它是用于AngularJs应用程序自动化的Protractor。
任何人都可以帮助我理解为什么我们应该使用量角器?为什么不选择Selenium?
答案 0 :(得分:18)
不确定我理解你的问题。我是否正确地假设你宁愿使用Selenium - 但是想要了解你所缺少的东西?
嗯 - Selenium提供了自动化Web浏览器的方法 - 因此用于自动化e2e测试。 Selenium API具有几种主要编程语言的实现 - 允许您使用Java,C#,python,ruby,JavaScript等编写测试。
如果您已经拥有基于selenium的e2e测试框架 - 您也可以将它用于AngularJS网络应用程序。您还可以编写必要的JavaScript脚本,一旦使用webdriver运行 - 将让您完成Protractor所做的一切 - 但您必须自己完成(只需借用Protractor源代码)。
为什么可行?因为Protractor基本上采用了Selenium Webdriver的JavaScript实现,并以一种在测试Angular JS Web应用程序时让您的生活更轻松的方式包装它。
你可以在我的这篇老帖子中看到具体的解释: http://testautomation.applitools.com/post/94994807787/protractor-vs-selenium-which-is-easier
我会说,如果你: 1.想用JavaScript编写测试代码 2.主要关注Angular JS应用程序
您可能需要考虑使用Protractor。再一次 - 没有魔法。他们所做的一切都在他们的源代码中 - 所以如果你宁愿坚持使用硒,你也可以选择。
答案 1 :(得分:7)
protractor
是一个端到端的浏览器自动化测试框架,可以通过WebDriverJs
工作,这是一个javascript selenium webdriver。
从How it works?文档页面引用:
Selenium是一个浏览器自动化框架。硒包括 Selenium Server,WebDriver API和WebDriver浏览器 驱动程序。
量角器与Selenium协同工作以提供自动化 测试基础设施,可以模拟用户与网站的互动 角色应用程序在浏览器或移动设备中运行。
Protractor是WebDriverJS(JavaScript绑定)的包装器 对于Selenium WebDriver API。
另见:
答案 2 :(得分:2)
使用量角器,您可以使用JavaScript编写e2e测试,这是您使用Angular app编写的语言。
此外,它还具有Angular特定功能。