Spec-Zone.ru › Cypress

Cypress.$

Cypress автоматически включает jQuery и предоставляет его как Cypress.$.

Вызов Cypress.$('button') автоматически выполнит запрос к элементам на вашем удалённом window. Другими словами, Cypress автоматически установит document в то, к чему вы сейчас перешли с помощью cy.visit().

Это отличный способ синхронно искать элементы при отладке из Developer Tools.

Синтаксис

Cypress.$(selector)

// other proxied jQuery methods
Cypress.$.Event
Cypress.$.Deferred
Cypress.$.ajax
Cypress.$.get
Cypress.$.getJSON
Cypress.$.getScript
Cypress.$.post

Использование

Правильное использование

Cypress.$('p')

Неправильное использование

cy.$('p') // Errors, cannot be chained off 'cy'

Примеры

Селектор

const $li = Cypress.$('ul li:first')

cy.wrap($li)
  .should('not.have.class', 'active')
  .click()
  .should('have.class', 'active')

Примечания

Cypress.$ против cy.$$

Вы также можете искать элементы DOM с помощью cy.$$. Но Cypress.$ и cy.$$ отличаются.

Cypress.$ ссылается на функцию jQuery саму по себе. Вы можете сделать всё, что можете сделать с функцией jQuery, с помощью Cypress.$. Поэтому оба примера ниже работают.

Cypress.$.each([1, 2, 3], (index, value) => {
  expect(index).to.eq(value)
}) // works
$.each([1, 2, 3], (index, value) => {
  expect(index).to.eq(value)
}) // also works

Но cy.$$ является оболочкой функции jQuery.fn.init. Другими словами, вы можете искать только элементы DOM с помощью cy.$$. Из-за этого функции jQuery, такие как jQuery.each, jQuery.grep, не работают с cy.$$.

cy.$$.each([1, 2, 3], (index, value) => {
  expect(index).to.eq(value)
}) // fails

См. также

  • Инструменты, входящие в состав набора инструментов

© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/utilities/$

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API