cypress - 如何在 Cypress 中正确使用 .wrap()
问题描述
我正在使用赛普拉斯 3.3.1
作为其他人可以测试的示例,请考虑以下代码:
cy.visit('https://google.com')
cy.get('input[type=text]').each((el, index) => {
if (index === 0) {
cy.wrap(el).type('some text')
}
})
cy.contains('Google Search').click()
由于某种原因cy.contains('Google Search').click()
无法找到该元素。
如果我在打电话cy.wrap('body')
之前打电话.contains('Google Search')
,那现在可以了。建议如果你包装一个元素,它会改变一些全局上下文,然后必须重置。据我所知,文档中没有提到这一点。
此代码有效:
cy.visit('https://google.com')
cy.get('input[type=text]').each((el, index) => {
if (index === 0) {
cy.wrap(el).type('some text')
}
})
cy.wrap('body')
cy.contains('Google Search').click()
你应该在使用后“重置”上下文wrap()
还是我误解了它应该如何使用?
解决方案
推荐阅读
- c++ - C++:处理许多配置变量的设计建议
- javascript - 根据 localStorage 有条件地渲染组件
- python - Logistic 回归的交叉验证指标
- node.js - 如何使用nodejs从couchdb下载附件
- amazon-web-services - 为什么在 AWS 安全组的入站 IP 地址中指定 cidr 范围
- php - Prestashop 显示产品类别和子类别
- python - Django将多个实例的HttpResponse转换为PDF并压缩它们不起作用
- python - 如何按值获取行名和列名?
- html - 使范围 HTML 输入类型样式在 Chrome 和 Internet Explorer 之间兼容
- django - 在 django restframework 或客户响应中使用带有 get_queryset 方法的响应代码或消息