Javascript 量角器失败:如果我有20个+;在一个JS文件中进行测试

Javascript 量角器失败:如果我有20个+;在一个JS文件中进行测试,javascript,angular,selenium-webdriver,protractor,Javascript,Angular,Selenium Webdriver,Protractor,如果一个JS文件中的“it”语句超过20个,那么我就会得到这样一个错误。我本想添加JasmineNodeOpt可能会奏效,但结果却给了我同样的错误。我还可以在这里尝试什么?更新: 1) 将selenium promise manager设置为False Failed: chrome not reachable (Session info: chrome=78.0.3904.108) Build info: version: '3.141.59', revision: 'e82be7d358',

如果一个JS文件中的“it”语句超过20个,那么我就会得到这样一个错误。我本想添加JasmineNodeOpt可能会奏效,但结果却给了我同样的错误。我还可以在这里尝试什么?

更新: 1) 将selenium promise manager设置为False

Failed: chrome not reachable
(Session info: chrome=78.0.3904.108)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
Driver info: driver.version: unknown
2) 放置async/await来处理等待:您可以在这里找到一个示例:这样,如果有一个承诺以前没有处理,那么它就不会成为导致此错误的恶棍

3) 按规范级别分发测试。因此,拥有多个等级库文件,您可以在不同的实例上运行测试。尝试并行运行测试,而不是一个浏览器实例,这样可以优化时间。为此,您可以添加

exports.config = {

  ...
  SELENIUM_PROMISE_MANAGER: false,
  ...

};
到您的
量角器配置文件.js

MaxInstances:它转换为同一版本的浏览器可以在远程系统上运行的实例数,在远程系统上执行规范中的测试脚本

此外,您提到增加值“JasmineNodeOpt”,但出于明显的原因,这不是一个超出设定阈值的可伸缩选项,因此我们增加实例以减少总体时间

// Capabilities to be passed to the webdriver instance.
  capabilities: {
    'maxInstances': 5,
    'browserName': 'chrome',

  },