赛普拉斯如何在iframe中定位元素

时间:2020-01-27 10:02:12

标签: iframe cypress

cy.wrap($ doc.find(“#input”))。type(“ test”,{force:true})中不起作用:CypressError:超时重试:预计会找到“未定义”元素,但从未找到。

it('iframe - check it', function () {
    cy.visit("https://jsfiddle.net/1w9jpnxo/1/");
    cy.get("iframe[name='result']").then($iframe => {

        const $doc = $iframe.contents();
        cy.wrap($doc.find("#input")).type("test", { force: true });
        //cy.wrap($doc.find("#submit")).click({ force: true });
    });
})

“ cypress”:“ ^ 3.8.3”

以上是互联网上的常见做法,但对我不起作用。

我还仔细阅读了https://docs.cypress.io/faq/questions/using-cypress-faq.html?#How-do-I-test-elements-inside-an-iframe上的公开提案,但不知道解决方案是什么。

1 个答案:

答案 0 :(得分:1)

按照我在此处的答案(Cypress - run test in iframe中的描述,向您的react-native start添加辅助函数后,可以使用以下方法评估输入是否存在:

cypress/support/commands.js

我不确定是否可以输入,但是您可以尝试:

cy.get('#iframe-id')
  .iframe('body #yourInputId')
  .should('exist')

让我知道它是否有效,我很好奇。.