Cypress, как я могу использовать количество элементов на странице в функции - PullRequest
0 голосов
/ 30 ноября 2018

Я новичок в Cypress и пытаюсь изучить его, преобразовав некоторые из наших текущих тестов Beat в Cypress, один из наших сценариев проверяет ссылки на статьи на нескольких страницах «списка» веб-сайта с определением шага «И янажмите случайную статью.

в этом определении шага

  • получает количество ссылок на статьи на странице
  • использует это как верхний предел диапазона для случайного числа
  • это случайное число затем используется для нацеливания на соответствующую ссылку статьи

с использованием кипариса с плагином огурца, у меня есть эта полуработа с

Then(/^I click on a random article$/, () => {

let num = Math.floor(Math.random() * 10)

cy.get(‘.article_link’)
    .eq(num).click()
})

Проблемав том, что количество статей на странице может варьироваться, но я не нашел способа передать это разное количество статей в функцию Math, и вместо этого я использую «полу» безопасный верхний предел 10.

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете использовать .its('length'), чтобы получить количество элементов, возвращаемых из вызова .get().

Я думаю, что это сделает то, что вы ищете:

cy.get(‘.article_link’).its('length').then(numLinks => {
  let num = Math.floor(Math.random() * numLinks)
  cy.get(‘.article_link’)
    .eq(num)
    .click()
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...