代码之家  ›  专栏  ›  技术社区  ›  Magnus Jensen

在柏树中切换到iframe相当于量角器

  •  0
  • Magnus Jensen  · 技术社区  · 7 年前

    我的SUT(一个网页)中有一个挑战,它将iframe作为javascript嵌入到日志中。 当我使用这样的量角器时,同样的挑战也解决了:

    var driver = browser.driver;
    var loc = by.tagName('iframe');
    var el = driver.findElement(loc);
    
    browser.switchTo().frame(el);
    

    是否可以在Cypress脚本中执行这种切换?

    有人能举个例子吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Joshua Wade Abel    7 年前

    This is not currently possible. 但是,在iframes中执行操作和断言有一个变通方法。这里是 a really nice example tscott-au 在Github上:

    cy.get('#myIframe')
      .then(function ($iframe) {
        const $jbody = $iframe.contents().find('body')
        const $body = $jbody[0]
        cy.wrap($body).find('#myField').should('exist')
      })
    })
    

    这个解决方法有一些注意事项。见 this link 更多信息,但这里有一个报价:

    …你可以…以这些元素为目标并可能对它们执行操作[但是]您不能返回它们或在Cypress命令中使用它们。