我有一个使用WebdriverIO和Mocha库用JavaScript编写的测试。检查网站元素是否按预期运行的测试思路。
这是测试用例的摘录:
describe('My test', () => {
beforeEach( async () => {
await browser.url('my_site_url');
it ('The button should be clickable', async () => {
let button = await $('#button-name');
await button.click(); //test fails here on iOS Safari
... // the rest of the code
});
it ... //other test cases
});
此测试在iOS Safari上失败并引发以下错误的问题:
Element does not exist in cache
它在Android Chrome,Mac OS Safari,Windows Firefox和Windows Chrome上运行良好。
我还使用BrowserStack工具在不同设备上运行这些测试。该工具提供了有关如何执行测试的可视日志。从日志中,我可以直观地看到button元素确实显示正确。另外,我已经通过检查按钮元素对其进行了多次手动重新测试,并且可以确认按钮的名称正确。
这里可能是什么问题?从Internet上的答案中,我怀疑我的元素可能会变旧,但不确定如何使用,因为直到我单击await
为止。