代码之家  ›  专栏  ›  技术社区  ›  Steve Staple

如何使用Cypress获取element type=“email”?

  •  1
  • Steve Staple  · 技术社区  · 7 年前

    我目前正在尝试学习自动化测试赛普拉斯。

    我要查找并单击此元素:

    <input type="email" class="form-control text-ellipsis-global GKMU5SYDM3B" id="gwt-uid-1419" data-empty="true">
    

    cy.get('input').type('email').click().type('fake@email.com')
      .should('have.value', 'fake@email.com')
    

    CypressError: cy.type() can only be called on a single element. Your subject contained 4 elements.
    
    1 回复  |  直到 7 年前
        1
  •  5
  •   Maccurt    7 年前

    这应该管用。

     cy.get("[type='email']")
    
     cy.get("[type='email']").type('myemail@domain.com')
    

    我经常做的是,首先在浏览器控制台的JQUERY中尝试它。您不必单击它来输入。

    <div id='parent'>
        <input type="email" class="form-control text-ellipsis-global GKMU5SYDM3B" id="gwt-uid-1419" data-empty="true">
    </div>
    

    那你就走了

    cy.get('#parent').find("[type='email']").type('myemail@domain.com')
    
        2
  •  -1
  •   GHULAM NABI    5 年前

    首先,使用这种定位器键入“email”。

    cy.get("[type='email']").type('fake@email.com');
    

    键入“email”字段后,您可以通过此断言进行验证。

    cy.get("[type='email']").should('have.value', 'fake@email.com')