Skip to main content
Cypress应用

Cypress.$

Cypress 自动包含 jQuery 并将其暴露为 Cypress.$

这是在开发者工具中调试时_同步_查询元素的绝佳方式。

语法

Cypress.$(selector)

// 其他代理的 jQuery 方法
Cypress.$.Event
Cypress.$.Deferred
Cypress.$.ajax
Cypress.$.get
Cypress.$.getJSON
Cypress.$.getScript
Cypress.$.post

用法

正确用法

Cypress.$('p')

错误用法

cy.$('p') // 错误,不能链式调用 'cy'

示例

选择器

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

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

注意事项

Cypress.$ 与 cy.$$

你也可以使用 cy.$$ 查询 DOM 元素。但 Cypress.$cy.$$ 是不同的。

Cypress.$ 指的是 jQuery 函数本身。你可以用 Cypress.$ 做任何能用 jQuery 函数做的事情。因此,以下两个示例都有效。

Cypress.$.each([1, 2, 3], (index, value) => {
expect(index).to.eq(value)
}) // 有效
$.each([1, 2, 3], (index, value) => {
expect(index).to.eq(value)
}) // 同样有效

cy.$$jQuery.fn.init 函数的包装器。换句话说,你只能用 cy.$$ 查询 DOM 元素。因此,像 jQuery.eachjQuery.grep 这样的 jQuery 工具函数在 cy.$$ 上不起作用。

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

另请参阅