кипарис: ожидаемый элемент содержит некоторый текст - PullRequest
0 голосов
/ 29 марта 2019

Я хочу проверить, что второй .item элемент содержит текст

cy.get('.item').then(($items) => {
  expect($items).to.have.length(2);
  expect($items[1]).to.contain('Published');
});

Ошибка выброса кипариса: TypeError: obj.is is not a function.

я тоже пробовал expect($items[1]).text.to.contain('Published'); на этот раз ошибка TypeError: Cannot read property 'contain' of undefined.

1 Ответ

3 голосов
/ 29 марта 2019

Поскольку у него нет проблем с $items, ваша проблема в массиве, который вы ожидаете с $items[1].Как утверждает Cypress, $ items [1] не определено, и ошибка «не является функцией» - это та же проблема, но она описана более сложно :).Поэтому Cypress не смог найти второй элемент, и поэтому работа с массивом не работает.Вероятно, он пройдет, если вы измените его следующим образом:

cy.get('.item').then(($items) => {
  expect($items).to.have.length(2);
  expect($items).to.contain('Published');
});

Вы также можете проверить определенный элемент совершенно другим способом:

cy.get('.item')
  .eq(2)
  .should('contain', 'Published')

Это приведет к извлечению второго 'пункт "и проверка, если он содержит" Опубликовано ".И, конечно, вы можете изменить eq () на большее или меньшее число

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