【问题标题】:I am using Selenium Webdriver (Java), Shall I go for ngWebDriver or Protractor?我正在使用 Selenium Webdriver (Java),我应该选择 ngWebDriver 还是 Protractor?
【发布时间】:2019-07-17 22:37:27
【问题描述】:

我已经设置了 Selenium webdriver 框架来处理 AngularJS 应用程序。但是,我使用了大量的等待和 Thread.sleep(),这使我的脚本变得脆弱。

我听说 ngWebdriver 和 Protractor 可以很好地为 AngularJS 应用程序执行自动化。

我有 Java 方面的知识,但不知道 JavaScript。

我应该使用 ngWebDriver 还是学习 JavaScript 来实现 Protractor?

【问题讨论】:

    标签: java selenium protractor


    【解决方案1】:

    我认为 ngWebDriver 能够处理您面临的问题。 WebDriver2.0 的最大问题是它无法处理异步元素调用,这就是 ngWebDriver 出现的地方,代码new NgWebDriver(driver).waitForAngularRequestsToFinish(); 将在那里满足您的需求。

    然而,如果您对 java 脚本上的自动化脚本编写感到满意,那么 Protractor 将是唯一的最佳选择。 但是,您还应该考虑其他点,例如用于 java 脚本记事本或 NP++ 的 IDE 将不是一个好的选择,因为它不支持关键感官,并且一些最好的 IDE 也是付费的(如 webstorm),而您可以做一些简单的黑客攻击并使用 eclipse 作为编辑器,但在此之前您还应该考虑量角器的范围,因为您可以看到 java 脚本框架的快速增长。客户端 JS 框架的增长速度比以往任何时候都快。你也必须考虑你的职业前景,因为现在 ReactJS 的增长速度比 Angular JS 更快,然后你必须在不久的将来再次打开 webdriver(虽然它取决于项目和它的要求)。

    AngularJS - 于 (2010) 推出 - Git-Hub 星级 48874 && ReactJS - 于(2013 年)推出,但获得了 41283 个 Git Hub 星

    结论:最好使用 ngWebDriver,给它一个机会,看看它是否满足您的要求,然后坚持使用它,因为您已经设计了框架,否则除了量角器之外别无选择。

    量角器初学者教程:https://www.youtube.com/watch?v=NV1J3oylMjU&list=PLhjFPlDbRmbtSGNlNGGgF1ZjFjWPK6AaO

    【讨论】:

      【解决方案2】:

      好吧,你必须学习一些用于 Protractor 的 JavaScript。但我建议学习 Protractor,因为它是由 Google 的 Angular 团队专门为 Angular 测试而开发的(尽管它也可以用于非 Angular)。

      Protractor 将消除所有这些等待和休眠,因为它使用隐式等待并在 Angular 完成与页面同步后触发测试。您还将获得有关 Protractor 框架的更多支持、文档和信息。

      【讨论】:

        【解决方案3】:

        如果您已经将 SeleniumJava 一起使用,那么您将无法使用量角器,因为它只能与 JavaScript 一起使用。只需将 ngWebDriver 库添加到您的项目中,这将帮助您在当前框架内轻松处理 Angular 应用程序。

        【讨论】:

          【解决方案4】:

          Imo 测试是同步活动。但是量角器本质上是异步的。尽管它试图使测试执行同步,但它并不总是同步的。你有办法让它同步。 IMO为什么选择异步工具然后尝试使其同步,选择java,同步的ngwebdriver。 此外,如果您想使用诸如 staf 之类的代理,java 会更容易。 注意:我用过 protractor ,打算试试 ngwebdriver。

          【讨论】:

            【解决方案5】:

            我是 Angular 测试的迟到者。我的专长是 Java 开发,但最近使用 Selenium 和 Java 进行测试自动化。但需要测试基于 Angular 的网站/应用程序。我的 Angular 开发者朋友建议我学习 TypeScript(如 Java、OOP 等) 并与 Cypress 框架一起使用(更像 Selenium,开源,直接在浏览器上工作,无需中间说明的翻译)

            这只是意见。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-10-31
              • 1970-01-01
              • 2012-09-27
              相关资源
              最近更新 更多