Testcafe 忽略覆盖元素

Testcafe ignore overlaying element


问题:无法找到 Canvas,因为 canvas 内光标位置后的多段线重叠。

目标元素:Canvas

叠加元素:折线

可能的解决方案:忽略折线元素??


解释:

这条折线阻挡了底层元素 (canvas),导致 TestCafe 在点击时看不到 canvas。

TestCafe 一直等到等待时间结束,并在等待完成后点击给定的位置。这会导致测试成功。但是因此有很大的延迟。

由于测试中的其他步骤需要等待时间,无法调整等待时间。

遗憾的是,由于医疗环境,我无法分享项目。

请帮忙。


亲切的问候

您可以这样使用 ClientFunction 来隐藏元素:

import { ClientFunction } from 'testcafe';

fixture `fixture`
    .page`https://google.com`;

test('test', async t => {
    const hideElement = ClientFunction(() => {
        document.querySelector('#tsf').style.display = 'none';
//NOTE: (document.querySelector('#tsf') as HTMLElement).style.display = 'none';
    });

    await hideElement();

    await t.debug();
});