我的应用程序有多个“登录”按钮,并且在测试各种功能时12次迭代中的第1次和第8次迭代失败。需要建议来修复代码。
public async clickLoginMenu() {
try {
const button = await element(await by.buttonText('Login'));
/* await browser.executeScript('return arguments[0].click()', await button).then(() => {
browser.sleep(2000);
});*/
await browser.wait(until.presenceOf(await button), TIMEOUT_MILLIS,
'Unable to locate logout button.');
await button.click();
} else {
logger.info('Cannot find the login button to click');
}
} catch (e) {
logger.error('Throw Exception error ' + e);
}
}
答案 0 :(得分:0)
您可以尝试在elementToBeClickable
与实际presenceOf
之间添加click()
所以:
答案 1 :(得分:-1)
下面是我的工作代码:
public async clickLoginMenu() {
try {
const button = await element(await by.buttonText('Login'));
if (await button.isDisplayed()) {
await browser.wait(until.elementToBeClickable(await button), TIMEOUT_MILLIS,
'Unable to locate logout button.');
await button.click();
} else {
logger.info('Cannot find the login button to click');
}
} catch (e) {
logger.error('Throw Exception error ' + e);
}
}