Cypress哪些坑

简介: Cypress哪些坑

大家好,我是阿萨。昨天讲解了Cypress的那些独特的地方。今天我们来学习下Cypress 的那些坑。


一. 异步


首先看如下代码:


const btn=cy.get('#btn)
btn.find('btn2').click()

如果在Cypress中写如上的代码,一定会失败。失败的原因是Cypress是异步的。所以有可能第二句代码先执行,所以导致 btn 是underfined。最终用例失败。


二.async /await 不工作


Cypress 不支持async 和await代码。 虽然Cypress 类似于Promise,但是不同于 Promise, Promise 本身没有重试的概念,但Cypress 却支持命令自动重试。


三. 赋值永远失败


自动化测试经常会把返回值传递给 下一个请求。

describe('Refer', function(){let testVar    it('testVar is null',function(){        cy.visit('https://www.baidu.com')        cy.contains('textbox').then(($el)=>{            testVar = $el.text()            cy.log(testVar)  // 这里值不为空        })        cy.log(testVar) // 这里值永远为空    })})


四. 同源策略


同源策略是浏览器安全的基石。 这也意味着 当 2个iframe 直接有访问时,必须同时满足 协议相同,域名相同,端口相同的三个条件。这个限制就会导致如下代码直接报错。

describe('Invalid URL visit', function(){let testVar    it('invalid visit',function(){        cy.visit('https://www.baidu.com')
        cy.visit('https://www.taobao.com')    })
})

大家日常写脚本的时候避免以上四个坑,尤其是赋值的坑。简直被坑惨了。

相关文章
|
测试技术
如何用命令行执行cypress?
如何用命令行执行cypress?
196 0
|
2月前
|
存储 监控 调度
阿里云对象存储OSS之间进行数据转移教程
讲解如何在阿里云对象存储OSS之间进行跨账号、跨地域、以及同地域内的数据迁移,包括数据迁移之前的准备工作和实施数据迁移以及一些后续操作
|
存储 JavaScript 前端开发
vue3使用pinia 实现权限code存取
在本文我们一开始了解了pinia是什么以及如果安装使用。接着结合使用pinia实现菜单权限控制的综合实例,来进一步了解pinia的使用。
275 0
|
2月前
|
人工智能 监控 JavaScript
Playwright初学指南 (3):深入解析交互操作
本文深度解析Playwright如何通过智能等待、自动重试等机制解决Web自动化中60%的交互失败问题。从基础点击/输入到高级拖拽/iframe操作,提供企业级解决方案和性能优化技巧,帮助开发者实现98%的操作成功率,打造稳定高效的自动化测试体系。
|
11月前
|
Ubuntu 网络安全 虚拟化
VMware虚拟机ping不通原因排查及分析
下面以 VMware 虚拟机为例进行介绍。
5057 3
|
7月前
|
人工智能 并行计算 测试技术
Claude 3.7登顶webdev榜首,国内怎么使用Claude 3.7
Claude 3.7 登顶 Webdev 榜首,Claude 3.7 Sonnet 以 1363.7 分的竞技场评分位列榜首,远超第二名。相比前代,它在数学与编码能力上提升显著,尤其在代理编码测试中准确率达 62.3%,工具交互测试中达 81.2% 的 SOTA 表现。支持 128k Token 输入,上下文处理能力提升 16 倍,并引入扩展思考模式,大幅提升复杂任务解决效率。 Claude 3.7 是 Anthropic 推出的新一代 LLM,具备卓越的推理和编程能力。国内用户可参考特定指南注册使用。
1009 14
Claude 3.7登顶webdev榜首,国内怎么使用Claude 3.7
|
10月前
|
人工智能 Java 程序员
HarmonyOS实战开发之HMRouter实现跳转
本文介绍了HarmonyOS页面跳转的两种方式:组件导航(Navigation)和页面路由(@ohos.router),并推荐使用更灵活的组件导航。进一步详细讲解了HMRouter,一个解决HarmonyOS页面跳转问题的框架,其功能包括页面跳转、弹窗提示、转场动效等。通过下载依赖、配置插件、初始化和实现跳转四个步骤,可以轻松集成HMRouter,实现高效页面管理。文章还展示了具体代码示例和效果截图,帮助开发者快速上手。关注Feri,带你掌握鸿蒙开发技巧!
539 1
|
9月前
|
监控 安全 网络协议
永久免费SSL证书教程—自动续签
要实现免费SSL证书的自动续签,选择合适的证书颁发机构(CA)至关重要。推荐使用JoySSL,填写注册码230922可获得免费且支持自动续签的SSL证书。申请步骤包括注册账户、选择证书类型、提交申请、验证域名所有权及安装证书。配置自动续签需安装续签工具、生成密钥和CSR,并设置续签参数。定期检查证书状态、备份证书和密钥,确保续签顺利进行。注意CA机构的政策和服务条款变化,以保持证书的有效性。
|
人工智能 安全 搜索推荐
克劳德官宣:claude国内版_claude国内中文版,请赶快收藏!
Claude AI 是 Anthropic 公司开发的一系列大型语言模型。Anthropic 是一家由前 OpenAI 员工创立的人工智能安全和研究公司,他们致力于构建安全、可靠和可解释的 AI 系统。