在带有TestCafe的嵌套iframe中使用期望

问题描述 投票:3回答:1

我在悬挂测试的Google表格上的嵌套iframe中使用Expect语句时遇到问题。 (用于测试模态内的内容)

这是我要实施的测试:

const modaldialogFrame = Selector(
  '.modal-dialog-content.script-app-contents'
).find('iframe');
const sandboxFrame = Selector('#sandboxFrame');
const userHtmlFrame = Selector('#userHtmlFrame');

test('Check for email input', async browser => {
await browser.switchToIframe(modaldialogFrame);
await browser.switchToIframe(sandboxFrame);
await browser.switchToIframe(userHtmlFrame);

await browser.expect(Selector('#email').exists).ok();
})

但是期望会挂起测试,也要添加

 await browser.switchToMainWindow();

expect语句后无济于事。

但是,只有单击该元素并输入后才能使用

await browser.typeText('#email', '[email protected]');
await browser.typeText('#password', 'mypassword');
await browser.click('#login-button');

因此输入iframe可以正常工作,但是期望语句不能工作,我该怎么做才能克服这个问题?

如果有错误,我愿意尽快解决。

iframe automated-tests e2e-testing testcafe web-testing
1个回答
3
投票

谢谢您的反馈,我已重现了该问题,并在我们的存储库中创建了一个问题:

https://github.com/DevExpress/testcafe/issues/3422

您可以使用它来跟踪进度。我需要一些时间来找到其原因,因为Google Spreadsheets在页面上执行了很多非常复杂的脚本。

© www.soinside.com 2019 - 2024. All rights reserved.