Я использую условие If / else в своем коде, но я предполагаю, что условие, которое я использую для if / else, неверно - PullRequest
0 голосов
/ 07 августа 2020

Я использую условие If / else в своем коде, но полагаю, что условие, которое я использую для if / else, не соответствует требованиям. Нужна помощь для получения правильного условия, которое я могу правильно реализовать в cypress.io.

Объяснение - мне нужно выполнить условие, например -> когда я буду искать любой текст (экс-июль) в моем поле поиска фильтра, тогда, если этот текст присутствует, он должен быть видим, но когда искомый текст (например, июль) отсутствует, то будет отображаться текст как «Нет данных». Поэтому для этого я пытаюсь реализовать оператор If / else.

Если условие, используемое ниже ->, он получит элемент, в котором присутствует текст, он должен быть видимым, если это произойдет, проверьте, является ли текст (июль ) присутствует else -> отобразит текст как «Нет данных»

Код, написанный для if / else: -

Элемент для первой строки, в которой отображается июль (текст) - > '.ant-table-row> .NameStyling'


namefilteredvalue(): this {

  if (cy.get('.ant-table-row > .NameStyling').should('be.visible')) {
    cy.contains("july")
  }

  else {
    cy.contains('No Data')
  }
  return this;
}

Возникла проблема: - только проверка оператора if, если они найдут текст, он отобразит текст, но при отсутствии желаемого текста не будет перемещаться в оператор else (который может отображать другой текст (нет данных))

с использованием cypress.io.

1 Ответ

0 голосов
/ 17 августа 2020

Хотя я согласен с тем, что операторы if / else не являются хорошей идеей, как указал Джона, бывают случаи, когда они вам нужны, если тестируемое приложение несовместимо и может предоставить пользователю несколько вариантов. Иногда мы находимся во власти того, что делает приложение, а не лучших методов тестирования.

Тем не менее,

cypress commands return cypress promises

поэтому, когда вы набираете

cy.get('').should('be.visible')

it не возвращает true, он возвращает цепное обещание

аналогично, с

if (cy.get('.ant-table-row > .NameStyling').should('be.visible'))

вы действительно набираете

if(<cypress promise>)

, что всегда будет истинным.

...