首页 > 解决方案 > 异步测试执行问题

问题描述

我已将我们的 Angular JS 应用程序迁移到混合应用程序。我正在使用 Angular6/AngularJS (1.6) 混合应用程序。我正在尝试为角度 js 页面运行现有 e2e 测试的量角器 e2e。
我正在使用 async await 运行现有的 e2e 测试。在这里,我在一个套件中运行两个测试。两个测试的前几个步骤是相同的​​。例如登录->打开页面->打开弹出页面(我在每个测试用例中选择不同的元素)。当第一个测试正在执行并即将完成时,在我的第一个测试用例完成之前出现了第二个测试用例的弹出屏幕。奇怪的行为。这是在两个测试用例中选择弹出屏幕中的元素的片段。

this.sendClick = async function(element) {
    try {
      await browser.executeScript('arguments[0].click();', await element.getWebElement());
      return true;
    }
    catch (err) {
      return false;
    }
  }

我的量角器版本:

protractor": "^5.3.2
"webdriver-manager": "12.0.6",
"selenium-webdriver": "4.0.0-alpha.1",
Node Version: `8.11.3
Angular Version: 6.0.4
AngularJS Version: 1.6.4
Browser(s): Chrome, firefix
Operating System and Version Windows 10

标签: angularasync-awaitprotractor

解决方案


推荐阅读