gpt4 book ai didi

javascript - AngularJS Protractor : randomly fail in headless mode (Firefox)

转载 作者:行者123 更新时间:2023-11-30 14:15:40 24 4
gpt4 key购买 nike

这是我的配置文件。

exports.config = {
rootElement: '[ng-app="myapp"]',
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['./web/assets/e2e/**/*protractor.js'],
SELENIUM_PROMISE_MANAGER: false,
baseUrl: 'https://localhost',
capabilities: {
browserName: 'firefox',
marionette: true,
acceptInsecureCerts: true,
'moz:firefoxOptions': {
args: ['--headless'],
},
}
}

因此使用此配置我的测试随机失败并出现以下错误

Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

但是!当我注释掉以下几行时

    'moz:firefoxOptions': {
args: ['--headless'],
},

代表 headless 模式并观察 firefox 如何运行我的测试 - 测试永远不会失败并且花费的时间减少了 3 倍。

下面是一个测试示例,由于我上面提到的错误而失败了几次。

  it('- should test add button open a form', async () => {
await ClientListPageDriver.openAddClientForm();

await FormDriver.toBeShown('Add New Client');

await FormDriver.pressClose();
});

这里是我引用的驱动程序的方法

  this.openAddClientForm = async () => {
const button = await $('button[ng-click="$ctrl.addClient()"]');
await button.click();
};

this.toBeShown = async (title) => {
const modalElement = await $('#form').element(by.cssContainingText('.form-header h2', title))

const awaitSeconds = 6;
return await browser.wait(
protractor.ExpectedConditions.presenceOf(modalElement),
awaitSeconds * 1000,
`Form should be shown within ${awaitSeconds} sec`,
);
};

this.pressClose = async () => {
const button = await $('button[ng-click="$ctrl.closeForm()"]');
await button.click();
};

我的问题是 - 我做错了什么,我可能遗漏了什么,我该如何解决?谢谢!

最佳答案

将下面的代码添加到你的配置中

allScriptsTimeout: 20000,
jasmineNodeOpts: {
defaultTimeoutInterval: 100000
}

根据您的测试执行时间调整超时间隔。引用https://www.theoldschoolhouse.com/reviews_client/node_modules/protractor/docs/timeouts.md了解更多信息

希望对你有帮助

关于javascript - AngularJS Protractor : randomly fail in headless mode (Firefox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53607724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com