Protractor 在量角器中重新启动浏览器后重新初始化帮助器类

Protractor 在量角器中重新启动浏览器后重新初始化帮助器类,protractor,Protractor,我正在使用量角器测试angular应用程序,我将其配置为在conf文件中每次测试后重新启动浏览器。但是,它会导致会话错误。我能够跟踪到一个使用预期条件的助手类I设置 'use strict'; let EC = browser.ExpectedConditions; let timeOut = 30000; class ProHelper { constructor() {} async waitForUrl(urlSubstring, time = timeOut) { l

我正在使用量角器测试angular应用程序,我将其配置为在conf文件中每次测试后重新启动浏览器。但是,它会导致会话错误。我能够跟踪到一个使用预期条件的助手类I设置

'use strict';
let EC = browser.ExpectedConditions;
let timeOut = 30000;

class ProHelper {
  constructor() {}

  async waitForUrl(urlSubstring, time = timeOut) {
    let isMatchingUrl = EC.urlContains(urlSubstring);
    await browser.wait(isMatchingUrl, time, `Timed out waiting for ${urlSubstring}`);
  }

  ...
}
module.exports = ProHelper

helper类在页面对象类内部和某些规范中使用。第一个测试运行良好。但是,第二个方法将在使用其中一个helper方法时失败。助手方法似乎仍在引用原始浏览器实例。我试图在构造函数和方法中声明EC,但我得到了相同的错误。有什么方法可以在重新启动浏览器后重新初始化helper类吗?

我做了一些更改来解决这个问题

  • 已从规范中删除辅助对象的使用。它现在只在页面对象类中使用
  • 第二,我更改了browser.ExpectedConditions;到量角器。预期条件
  • 我没有在测试之间使用RestartBrowserBetween,而是在afterEach中为每个规范添加了browser.restart()

  • 这解决了我的会话问题。

    请提供您的测试代码,以帮助回答此问题。