Как проверить все параметры из обычного выпадающего списка в Cypress - PullRequest
0 голосов
/ 04 декабря 2018

Как мы можем выбрать все options из обычного выпадающего списка и проверить их с помощью Cypress.

<select id="cars_list">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

// Приведенный ниже тест может проверить только один вариант, как мы можем проверить остальные?

describe("Select all values from drop down list", function() {
  it("Cypress test and verify all options", function() {
  cy.visit("Https://sometestingsite.com")  
  cy.get('#cars_list').then(function($select){
   $select.val('volvo')
   })
   cy.get('select').should('have.value', 'volvo')
   });
});

1 Ответ

0 голосов
/ 04 декабря 2018

Я бы предположил, что тест может выглядеть следующим образом

cy.get('#cars_list option').then(options => {
  const actual = [...options].map(o => o.value)
  expect(actual).to.deep.eq(['volvo', 'saab', 'mercedes', 'audi'])
})

Выбор нескольких дочерних элементов с помощью cy.get(), затем развертывание их с помощью [...options], сопоставление их значения с помощью .map(o => o.value) и использование глубокогоравно для сравнения массивов.

Я не проверял это, поэтому код может нуждаться в некоторой настройке.

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