Jasmine仅在Ubuntu上运行Chrome Headless时超时

时间:2019-02-04 23:14:19

标签: javascript ubuntu selenium-webdriver jasmine protractor

我正在在无头运行Chrome的Ubuntu上运行自动化。 自动化在Jasmine作为报告程序的Protractor上运行。 一切都能在macOS和Windows上完美地运行(在Chrome上无头)。但是,我在Ubuntu(无UI,EC2实例)上无头运行自动化遇到了主要问题。 我正在使用“无头”和“无沙盒”运行自动化,但是在“茉莉花开始”消息出现后,最终茉莉花没有任何反应。DEFAULT_TIMEOUT_INTERVAL开始。

我尝试使用许多Chrome参数来运行自动化,例如“ headless”,“ no-sandbox”,“ disable-gpu”,“ disable-web-security”,“ disable-extensions”。在没有“无沙箱”的情况下运行会触发错误 “(未知错误:DevToolsActivePort文件不存在)”,似乎没有沙箱可以解决它。

我正在运行的命令:

  

量角器conf --capabilities.chromeOptions.args =“无头” --capabilities.chromeOptions.args =“无沙盒”-适合患者

webdriver-manager是最新的,我正在运行节点11,并且npm我已经运行了很多次

这是我的量角器配置文件

capabilities: {
  browserName: 'chrome',
  ignoreProtectedModeSettings: true,
  shardTestFiles: false,  //  use this for sharding
  maxInstances: 2,       //  how many instances of protractor we want at once
  chromeOptions: {
    args: [ "--disable-print-preview"]//, "--headless", "--disable-gpu" ] // to comment / uncomment for headless
  }
}

在100000ms(我的代码中指定了超时)后超时时收到的错误消息

  

错误:超时-jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内未调用异步回调。

这是我要运行的套件中的beforeEach代码:

beforeEach(function () {
  browser.waitForAngularEnabled(false);
  originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
  jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000000;
  misc.getPageURL();
});

我希望自动化能够毫无阻碍地运行并且不会因超时而失败

0 个答案:

没有答案