我正在在无头运行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();
});
我希望自动化能够毫无阻碍地运行并且不会因超时而失败