как кипарис найти элемент в iframe - PullRequest
1 голос
/ 27 января 2020

Не работает на cy.wrap ($ do c .find ("# input")). Type ("test", {force: true}) : CypressError: Timed повторная попытка: ожидается найти элемент: 'undefined', но так и не найден.

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 });
    });
})

"кипарис": "^ 3.8.3"

выше обычная практика в inte rnet, но у меня это не работает.

Я также прочитал открытое предложение по https://docs.cypress.io/faq/questions/using-cypress-faq.html?#How -do-I-test-elements-inside-an-iframe , но не могу понять, в чем заключается решение.

Ответы [ 2 ]

1 голос
/ 28 января 2020

После добавления вспомогательной функции к вашему cypress/support/commands.js, как я описал в своем ответе здесь ( Cypress - запуск теста в iframe ), вы можете оценить, существует ли ввод с помощью:

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

Я не уверен, сработает ли набор текста, но вы определенно можете попробовать:

cy.get('#iframe-id')
  .iframe('body #yourInputId')
  .type('test text')

Дайте мне знать, если это сработало, мне любопытно ...

0 голосов
/ 29 января 2020

@ DurkoMatko да, работает нормально. оценили!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...