Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 在iframe内被Testcafe单击时链接不工作_Testing_Automation_Automated Tests_E2e Testing_Testcafe - Fatal编程技术网

Testing 在iframe内被Testcafe单击时链接不工作

Testing 在iframe内被Testcafe单击时链接不工作,testing,automation,automated-tests,e2e-testing,testcafe,Testing,Automation,Automated Tests,E2e Testing,Testcafe,我正试图在我们的demoshop中设置一些简单的验证。 它一直工作到点击“genomför köp”(购买)链接为止。 链接标记为已单击(颜色更改),但未执行正确的操作,因此您将停留在同一侧。 如果在“wait t t.click(“#purchase button”);行之后添加调试行,则可以手动单击该链接,将鼠标悬停在该链接上,以便testcafe找到该链接。但由于某些原因,单击()不起作用 编辑:1:我使用的操作系统是WIn10,在phpstorm 2019.3.3下运行testcafe

我正试图在我们的demoshop中设置一些简单的验证。 它一直工作到点击“genomför köp”(购买)链接为止。 链接标记为已单击(颜色更改),但未执行正确的操作,因此您将停留在同一侧。 如果在“wait t t.click(“#purchase button”);行之后添加调试行,则可以手动单击该链接,将鼠标悬停在该链接上,以便testcafe找到该链接。但由于某些原因,单击()不起作用

编辑:1:我使用的操作系统是WIn10,在phpstorm 2019.3.3下运行testcafe 1.8.2,并用“testcafe chrome*.js”调用它

任何帮助都将不胜感激。 /克里斯托弗

相关代码如下,demoshop已开放使用

fixture`demoshop.resurs.com`
    .page(https://demoshop.resurs.com);


test(
    'Run: demoshop.resurs.com', async t => {
        await t
            .click('.home-shop-now')
            .click('#root > div > main > div > div.container > div.products-container.mb-60 > div:nth-child(1) > a > img')
            .click('#root > div > main > div > div > div.product-detail__container > div.product-detail__info-container > div.product-detail__add-to-cart > div > button')
            .click('#root > div > main > div > span > header > div > div > div > span.shopping-bag-icon.clickable > div')
            .click('#root > div > main > div > span > div > div > div > div.shopping-cart-container > a');

        await t.switchToIframe('iframe');

        await t.click('#purchase-button');  //This does not work properly

        await t.expect(Selector('h2').innerText).contains('Tack för din order!');


    }
);

我能够用计算机重现这个问题TestCafe@1.8.2但是,测试与预期的效果一样TestCafe@1.8.4.

我建议您更新到最新的TestCafe版本,并应用@DmitryOstashev提供的更改:

import { Selector } from 'testcafe';

fixture`demoshop.resurs.com`
    .page('https://demoshop.resurs.com');


test(
    'Run: demoshop.resurs.com', async t => {
        await t
            .click('.home-shop-now')
            .click('#root > div > main > div > div.container > div.products-container.mb-60 > div:nth-child(1) > a > img')
            .click('#root > div > main > div > div > div.product-detail__container > div.product-detail__info-container > div.product-detail__add-to-cart > div > button')
            .click('#root > div > main > div > span > header > div > div > div > span.shopping-bag-icon.clickable > div')
            .click('#root > div > main > div > span > div > div > div > div.shopping-cart-container > a');

        await t.switchToIframe('iframe');

        await t.click('#purchase-button');

        await t.switchToMainWindow();

        await t.expect(Selector('h2').innerText).contains('Tack för din order!');
    }
);

您能澄清一下您使用的操作系统、浏览器和TestCafe版本吗?我已经用TestCafe v1.8.4检查了您的测试,发现没有切换到主窗口。我添加了
wait t t.switchToMainWindow()点击
#购买按钮后的操作
我方通过了测试。我已经用你要求的信息更新了原始帖子。试着找你的零钱。不幸的是,它没有起作用。对不起,我的回答迟到了。得了急性阑尾炎后在医院住了一周。(不是我计划的一部分:))tnx。现在工作。需要弄清楚为什么1.8.2无法处理该页面。