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/$