Cypress щелкните элемент по ID / XPATH / Имя? - PullRequest
0 голосов
/ 04 июля 2019

Я хочу щелкнуть по элементу по XPATH / ID, а не по умолчанию для поиска кипарисов, это возможно?

В селене я могу использовать элемент поиска по XPATH, например: d.findElement (By.id ( "категория")) нажмите ();.

В Cypress это похоже на: cy.get ('# hdtb-msb-vis>: nth-child (3)> .category'). click ()

Могу ли я нажать по идентификатору? Селен выглядит лучше!

d.findElement(By.id("category")).click();

VS

cy.get('#hdtb-msb-vis > :nth-child(3) > .category').click()

Ответы [ 4 ]

1 голос
/ 04 июля 2019

В Cypress это работает так:

cy.get('button[id="category"]').click()

Обратите внимание, что я просто использовал кнопку в качестве примера, вы должны заменить его на метку вашего элемента: div, select, textarea и т. Д...

0 голосов
/ 08 июля 2019

Первый вопрос содержит два разных селектора: первый (селен) ищет категорию идентификатора, а второй - категорию класса.

На самом деле:

d.findElement(By.id("category")).click();
==
cy.get('#category').click()

Так что да, вы можете выбрать элемент по его идентификатору!

Если (и я не думаю), что вы хотите, чтобы другие могли выбирать ваши элементы, ищите селектор jquery ( jquery выставлен в кипарисе )

0 голосов
/ 05 июля 2019

Я думаю, это возможно, добавив plug-in, как предложено на сайте Cypress, пожалуйста, перейдите по следующей ссылке https://docs.cypress.io/plugins/#content. Если вы ссылаетесь на раздел пользовательских команд, вы можете увидеть cypress-xpath, который приведет вас к следующей ссылке на github. https://github.com/cypress-io/cypress-xpath

npm install -D cypress-xpath

Затем включите в ваш проект cypress / support / index.js

require('cypress-xpath')

Пример использования приведен ниже:

it('finds list items', () => {
  cy.xpath('//ul[@class="todo-list"]//li')
    .should('have.length', 3)
})

Пожалуйста, попробуйте после установки плагина и обновления файла support/index.js.

0 голосов
/ 04 июля 2019

#hdtb-msb-vis - селектор идентификаторов, а .category - селектор классов.Но вы должны иметь возможность выбирать только с помощью селектора классов

cy.get('.category')
  .click()

Но если этот класс не уникален, вы можете щелкнуть по нему с помощью идентификатора, а затем класса:

cy.get('#hdtb-msb-vis')
  .find('.category')
  .click()
...