проблемы с поиском iframe с кипарисом - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь, чтобы кипарис нашел мой фрейм. Я обнаружил проблему с GitHub, в которой обсуждаются обходные пути ограничения кипариса в отношении iframes, и this - это решение, с которым я столкнулся.

Cypress.Commands.add('iframe', { prevSubject: 'element' }, $iframe => {
    return new Cypress.Promise(resolve => {
        $iframe.on('load', () => {
            resolve($iframe.contents().find('body'));
        });
    });
});

Вот где я на самом деле использую эту команду.

context("Basic simple test", () => {
    it("can visit our app", () => {
        cy.visit("http://localhost:3000");
        cy.get('#haha').iframe();
    })
})

А вот мой код iframe.

<StyledFrame
   sandbox="allow-forms allow-scripts allow-same-origin allow-modals allow-popups allow-presentation"
   title="sandbox"
   id="hahah"
   srcDoc={this.state.isLoading ? loader : this.state.bundle}
 />

Однако Cypress сообщает, что не может найти элемент с идентификатором haha.

1 Ответ

0 голосов
/ 22 января 2019

Это может быть просто потому, что идентификатор, который вы ищете - #haha, а идентификатор iframe - hahah (с дополнительным h).Хотя нет никакой гарантии, что вы случайно не напишите идентификатор, я бы посоветовал использовать более описательные имена, чтобы он был как можно менее вероятным.

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