Пользовательские команды для выбора флажка в кипарисе - PullRequest
0 голосов
/ 24 января 2020

Я написал пользовательскую команду для выбора флажка на основе имени контакта, которое я предоставляю (см. Изображение) Например, я предоставляю Test10 Test10, он не выбирается, однако тестовый случай получает прошел без выбора, я попробовал отладку Переменная cname пуста, также прикреплен снимок экрана отладчика enter image description here

enter image description here

    Cypress.Commands.add("SelecttheContact", (contactName) => { 
    cy.get('tr td:nth-child(2)').each(($el, index, $list) => {
    const cname=$el.find(contactName).text()

    if(cname.includes(contactName))
    {

       // cy.get("tr td:nth-child(1)").eq(index).click()
       // cy.get("input[type='checkbox']").eq(index).click()
       debugger
       $e1.find('checkbox').click()
    }
}) })

Ответы [ 2 ]

0 голосов
/ 28 января 2020

.find() принимает селектор, согласно документу: https://api.jquery.com/find/ Таким образом, передача текстового содержимого не будет работать. text() возвращает пустую строку, потому что если селектор не найден в JQuery, вы всегда получаете объект. И функции, вызванные для этого объекта, будут возвращать значения по умолчанию, я думаю.

Почему тесты не могут быть определены из того, что мы видим: -)

Я предлагаю вам настроить селектор для вашего флажка .

Кстати, я не уверен, что вы можете позвонить cy.get() в each() (строка, которую вы закомментировали в своем коде).

В настоящее время я не за ноутбуком, поэтому я не могу предоставить пример для нажатия на флажок. Но, пожалуйста, попробуйте исправить селектор, и если он не работает, я могу попробовать это для себя.

0 голосов
/ 24 января 2020

Я могу ошибаться, но, похоже, вы полагаетесь на jquery, чтобы выполнить выборку вместо Cypress. Я бы использовал выбор Cypress, чтобы найти флажок.

Знаете ли вы о Cypress Selector Playground?

Selector Playground - это интерактивная функция, которая поможет вам:

  • Определить уникальный селектор для element.
  • Посмотрите, какие элементы соответствуют данному селектору.
  • Посмотрите, какой элемент соответствует строке текста.

https://docs.cypress.io/guides/core-concepts/test-runner.html#Selector -Playground

Существует также опция API для изменения приоритетов селектора

Площадка выбора предоставляет API, которые позволяют:

  • Изменить стратегию выбора по умолчанию
  • Переопределить селекторы, которые возвращаются за элемент

https://docs.cypress.io/api/cypress-api/selector-playground-api.html#Syntax

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