Сейчас я изучаю кипарис для сквозного тестирования. Документация Cypress очень хорошо поддерживается, и в ней есть все необходимое, что может понадобиться каждому.

Итак, не теряя времени, давайте перейдем к методам кипариса, которые мы сегодня обсудим. Первым в списке является метод get(), который необходим для поиска веб-элементов на основе локаторов.

получить()

Метод get(), как следует из его названия, выполняет ту же функцию, для которой предназначено его название. Он получает элементы на основе селектора, переданного в качестве параметра, и элементов может быть один или несколько. Он может возвращать веб-элемент или список веб-элементов.

Синтаксис:cy.get(селектор) или cy.get(селектор, параметры)

Примеры:

Если вы хотите получить элемент типа ввода.

cy.get('input')

Укажите ведение журнала как false. Кроме того, он пропустит печать вывода команды на консоли Cypress Test runners.

cy.get('input',{ log: false })

Дождитесь явного тайм-аута

cy.get('input',{ timeout: 1000 }) // It will wait for 1000ms before timing out

Требования

  • cy.get() требует привязки к команде, которая дает элемент(ы) DOM.

находить()

Метод find() получает элемент-потомок внутри DOM определенного селектора.

Синтаксис

.find(selector)
.find(selector, options)

Применение

cy.get('.article').find('footer') // Yield 'footer' within '.article'

Примеры

<ul id="parent">
  <li class="first"></li>
  <li class="second"></li>
</ul>
// yields [<li class="first"></li>, <li class="second"></li>]
cy.get('#parent').find('li')
.find("a[href*=footer]")

Требования

  • .find() требует привязки к команде, которая дает элемент(ы) DOM.

в пределах

Охватывает все последующие команды cy внутри этого элемента. Метод inside() становится очень полезным при работе с определенной группой элементов, таких как <form>.

Синтаксис

.within(callbackFn)
.within(options, callbackFn)

Применение

cy.get('.list').within(($list) => {}) // Yield the `.list` and scope all commands within it

Примеры

Получение входных данных в форме и отправка формы

<form>
  <input name="email" type="email" />
  <input name="password" type="password" />
  <button type="submit">Login</button>
</form>
cy.get('form').within(($form) => {
  // cy.get() will only search for elements within form,
  // not within the entire document
  cy.get('input[name="email"]').type('[email protected]')
  cy.get('input[name="password"]').type('password')
  cy.root().submit()
})

Требования

  • .within() требует привязки к предыдущей команде.

Кредиты: я хотел бы упомянуть кипарисовую документацию и внешние веб-сайты, которые были бы хорошей отправной точкой для новичков, чтобы начать изучать кипарис.