Cypress-цикл / итерация по кнопкам - PullRequest
0 голосов
/ 12 марта 2020

Я новичок в Cypress, и это сценарий, который я пытаюсь автоматизировать / протестировать: Итак, есть список кнопок: некоторые кнопки говорят "привет", а другие говорят "пока". Если кнопка говорит «привет», я хочу, чтобы она выполняла дальнейшие действия, а если она говорит «пока», тогда выполняйте некоторые другие действия. При проверке кнопок с помощью инструментов dev:

html
    <button class="Button__StyledButton-t5s0do-0 hZDZBR 
    OfferRequestTilestyles__StyledButton-sc-1dbu8p5-4 dRhsyx" 
    type="button">Hello</button>

Когда я использую селектор кипариса для этих кнопок, у меня есть:

javascript
    cy.get(':nth-child(3) > 
    .OfferRequestTilestyles__PropertyDetailsWrapper-sc-1dbu8p5-3 > 
    .Button__StyledButton-t5s0do-0')

, поэтому он продолжается, как nth-child (3 ), nth-child (4) et c, и это может быть Dynami c, поэтому может быть 10 кнопок или 20 или 50.

Также каждая кнопка находится в ряду, который:

javascript
    cy.get('.PageContainer-sc-26sn9a-0 > :nth-child(3)')

таким образом, nth-child (3), nth-child (4) и т. Д.

Итак, для каждой из этих кнопок проверьте текст кнопки, если ее "привет" "сделай это, если его" пока "сделай это.

Как я могу выполнить sh этот сценарий? Я читал решения онлайн и пробовал это, но это не правильный способ выглядит так:

javascript
    cy.get('.OfferRequestTilestyles__PropertyDetailsWrapper-sc-1dbu8p5- 
    3')//get the page container
          .find('Button__StyledButton-t5s0do-0')
          .each(function(buttons){
           var ourButtons=buttons.text()
           cy.log("names:", ourButtons);

Это ошибка, которую я получаю:

    'Button__StyledButton-t5s0do-0', but never found it. Queried from 
     element: [ <div.OfferRequestTilestyles__AddressWrapper-sc-1dbu8p5- 
     2.OfferRequestTilestyles__PropertyDetailsWrapper-sc-1dbu8p5- 
     3.dpPJNW>, 24 more... ]```

Thanks for help!

1 Ответ

0 голосов
/ 01 апреля 2020

Мне удалось пройтись по кнопкам, используя:

javascript
javascript
    cy.get('.OfferRequestTilestyles__PropertyDetailsWrapper-sc-1dbu8p5- 
    3')//get the page container
          .find('.Button__StyledButton-t5s0do-0')
          .each(function(buttons){
           var ourButtons=buttons.text()
           cy.log("names:", ourButtons);

Также примите ответ Ричарда Матсена, я пропустил селектор классов. Спасибо, что указал на это, Ричард! Это помогло мне!

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