应用程序,我必须自动化,完全在一个iframe内。为了继续,我使用了cypress-iframe插件。
但是,当我试图将cypress-drag-drop或cypress-if的命令链接到cypress-iframe上时,它将返回以下错误:
cy.iframe(...).find(...).should(...).if is not a function
下面是抛出错误的脚本:cy.iframe('#iframeID').find('#checkboxLocator').should('be.visible').if('not.checked').check();

有什么解决办法吗?
发布于 2023-02-06 04:34:13
似乎您正在尝试将"if“命令从柏树-if插件链接到来自Cypress的”应该“命令,但是您遇到了一个错误,即"if不是一个函数”。
问题可能是柏树-如果插件没有正确加载,或者可能与您正在使用的其他插件或库存在命名冲突。
一种解决方案是尝试将"if“命令包装在函数中并调用它,如下所示:
cy.iframe('#iframeID')
.find('#checkboxLocator')
.should('be.visible')
.then(checkbox => {
cy.wrap(checkbox).if('not.checked').check();
});另一种解决方案是尝试使用“然后”命令有条件地选中复选框,如下所示:
cy.iframe('#iframeID')
.find('#checkboxLocator')
.should('be.visible')
.then(checkbox => {
if (!checkbox.is(':checked')) {
checkbox.check();
}
});尝试这两种解决方案,看看哪一种适合你。
https://sqa.stackexchange.com/questions/50815
复制相似问题