Testcafe - 在 iframe 上运行 ClientFunction 代码

发布于 2025-01-11 19:10:25 字数 293 浏览 0 评论 0原文

我需要访问 iframe 范围上可用的公共对象,但我在 ClientFunction 上运行的代码在父级上执行,我设法使用 --disable-web-security 标记并访问框架,如下所示 window.frames['0'].store。 (TBH 对这个 hack 不太满意)

但现在看起来 TestCafe 更新到了 Chromium 的一些新版本,并且有一条消息告诉我不再允许使用该标志。

有没有什么方法可以运行针对特定 iframe 的客户端代码,而不需要那个令人讨厌的标志?

I need to access a public object available on an iframe scope but the code that I'm running on the ClientFunction gets executed on the parent, I managed to get it working using the --disable-web-security flag and accesing the frame like this window.frames['0'].store. (Not happy with that hack TBH)

But now looks like TestCafe updated to some newer version of Chromium and there's a message telling me that the flag is not allowed anymore.

Is there any way to run client code targetting a specific iframe without needing that nasty flag?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乜一 2025-01-18 19:10:25

要在 iframe 上运行 ClientFunction,您需要事先切换到它。

const fn = ClientFunction(() => true);

test('test', async t => {
    await t.switchToIframe('#iframe');

    await fn();

});

To run ClientFunction on an iframe, you need to switch to it beforehand.

const fn = ClientFunction(() => true);

test('test', async t => {
    await t.switchToIframe('#iframe');

    await fn();

});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文