Cypress.io测试下拉列表

时间:2019-07-09 19:37:06

标签: angular cypress

我有一个angular 2+应用程序,我正在使用cypress.io进行E2E测试。

我在创建具有多个下拉列表的测试时遇到了麻烦。

我想编写cypress.io代码来选择一个下拉列表,选择我想要的选项,然后移至下一个下拉列表。我无法调用下拉列表,选择值等。

我的测试被停止,如下所示:

enter image description here

到目前为止,这是我的代码。

/// <reference types="cypress" />

describe('Reminders application test harness', () => {

  it(`create contact reminder and delete contact and reminder`, () => {
    cy.visit('http://localhost:4200/home');
    cy.contains('Logout').click();
    cy.contains('Login').click();
    cy.get('#mat-input-0').type('xxxxxxxxxxxx');
    cy.get('#mat-input-1').type('xxxxxxxxxxxxx');
    cy.get('[fxlayout="column"] > .space-top').click();

    cy.contains('Contacts').click();
    cy.get('#mat-input-5').type('bill');
    cy.get('#mat-input-6').type('gates');
    cy.get('#mat-input-7').type('7145551212');
    cy.get('.mat-raised-button').click();
    cy.get(
      '[style="left: calc(((33.3333% - 6.66667px) + 10px) * 1); width: calc(((33.3333% - 6.66667px) * 1) + 0px); top: 0px; height: calc(250px);"] > .mat-figure > .mat-card > .mat-card-actions > .update-button > .mat-button-wrapper > .mat-icon'
    ).click();
    cy.get(
      '#mat-select-0 > .mat-select-trigger > .mat-select-arrow-wrapper > .mat-select-arrow'
    ).click();
    // .get('Daily')
    // .click();
  });
});

请帮助。

1 个答案:

答案 0 :(得分:0)

我使用以下代码解决了它。我的下拉列表中的name属性是“ freq”。谢谢

cy.get('[name="freq"]').click();
cy.get('mat-option')
.contains('Daily')
.click();