用于角度应用程序的 Java webdriver 不是 Protractor ?

标签 java selenium webdriver protractor

我将负责 Angular 应用程序的测试自动化。我知道我们有一个 Protractor 工具,但我更喜欢带有 java 的 webdriver(感觉比 javascript 和 Protractor 更好)。我可以将 java 与 webdriver 一起使用,还是我必须使用 Protractor 来完成它,因为 selenium 无法处理它?<​​/p>

最佳答案

当然,您仍然可以使用常规的 Java selenium 绑定(bind)来测试 AngularJS 应用程序。只是 Protractor 更适合/更方便地用于特定的 AngularJS 应用程序,因为它提供了几个独特的东西:

  • 与 Angular 同步 - 它总是知道 Angular 何时“准备好”与之交互
  • 它提供 Angular 特定的定位器,例如 by.model , by.binding , by.repeater等等
  • 它可以让您轻松地mock AngularJS modules在飞行中
  • 它由 Google 开发人员(当然还有 github 社区)开发和支持 - 这意味着它与 Angular 开发周期同步
  • 它有一个非常好的和文档化的 API
  • 还有更多

了解 Protractor 实际上是 WebDriverJS - JavaScript selenium 绑定(bind)的包装器也很重要。而且,作为旁注,Protractor 也可用于测试非 Angular 应用(只需关闭同步)。


还有ngWebDriver可能实际上是您的解决方案的软件包:

We have taken JavaScript from Angular's Protractor project. While ngWebDriver perfectly compliments the Java version of WebDriver, it has to pass JavaScript up to the browser to inteoprate with Angular, and the Protractor project has done the hard work (including testing) to make that solid, and ngWebDriver benefits from that work.


另见:

关于用于角度应用程序的 Java webdriver 不是 Protractor ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36133201/

相关文章:

java - Selenium 操作方法 : Get url from an <a> tag that has no href attribute

selenium - Selenium Remote Control 和 Selenium Server 有什么区别?

java - Selenium:getPageSource() 返回前一页的来源

java - 按顺序打印列表中的字符串元素

selenium - 如何为selenium的webdriver设置https代理?

java - 来自字母数字字符串的与语言无关的随机数生成器

c# - 如何将整数参数的字符串表示形式返回为基数 16 的无符号整数

eclipse - 测试套件的 phpunit eclipse 配置。文档?

java - 导入 Maven 模块中的 Lombok

java - 获取最后一个 Hashmap 键的值