【发布时间】:2021-11-06 00:42:03
【问题描述】:
当我运行此测试时,一切似乎都正常,直到我尝试单击 iframe 中的按钮。我从下拉列表中选择没有问题,但是当我到达要单击按钮的最后一步时,加载 iframe 后测试挂起。 另外,有没有更好的方法让我加载 iframe,这样我就不必每次都得到它? 这是我的命令:
require("cypress-xpath");
Cypress.Commands.add("old_report_export", function () {
cy.get('[id="isc_1A"]').type(Cypress.env("name"));
cy.get('[id="isc_1E"]').type(Cypress.env("password"));
cy.get('[id="isc_1Z"]').realClick();
cy.frameLoaded('[id="isc_3N"]');
cy.iframe('[id="isc_3N"]').contains("RETAINED").should("be.visible");
//Navigate to dashboard
cy.get('[name="isc_2Xicon"]').click();
cy.get("#isc_3Qtable > tbody > tr:nth-child(1) > td.menuTitleField > div").click();
cy.get("#isc_3Xtable > tbody > tr:nth-child(6) > td.menuTitleField").click();
cy.wait(10000);
cy.iframe('[id="isc_4H"]')
.find('[id="report_filter_dealer"]').select(this.testdata.dealer);
cy.iframe('[id="isc_4H"]')
.find('[id="report_filter_brand"]').select("Ford Thailand");
cy.iframe('[id="isc_4H"]')
.find('[id="report_filter_from_date"]').select("June 2023");
cy.iframe('[id="isc_4H"]')
.find('[id="load_page"]').select("All Pages - Report");
cy.iframe('[id="isc_4H]').find('[id="report-run-btn"]').realClick();
});
这是我的测试运行器。它一直挂在那里直到 cypress 超时
我尝试使用 'get' 而不是 find,我尝试使用 'click()' 而不是 'realClick' 以及 'click({force: true})' 都没有成功
【问题讨论】:
-
你可以试试这个 -
cy.iframe('[id="isc_4H]').find('[id="report-run-btn"]').then(($ele) => {$ele.click()}) -
同样的结果,测试只是挂在那里@AlapanDas
标签: testing automation cypress