Cypress新版本支持Safari浏览器啦!
一个人到底要走多少弯路,才能成为一名合格的测试开发工程师?
Cypress又又又更新啦!在最新的10.8.0版本中,支持了对Safari浏览器进行测试。(买了书的同学们,公众号回复你的微信号,拉你到Cypress中国群)。
Cypress自从面世以来,一直在攻城拔寨,当前,在面试时,国内外优秀的互联网公司都已把掌握Cypress框架算做一项加分技能。 但在市场份额在逐渐扩大的同时,大家对Cypress的期望程度也越来越高,比如,最受诟病的两个问题是:
- Cypress为什么不支持iFrame。
- Cypress为什么不支持Safari浏览器。
多浏览器支持问题
从第一版仅支持Chromium内核的浏览器,到现在支持主流的Chrome,Edge,Firefox, Electron等。Cypress支持的浏览器越来越多,但一直没支持Safari。
与此同时,Safari的市场份额一路攀升至第二(市场份额在世界范围为20%左右。第一是Chrome),于是,随着大家要求支持Safari的呼声越来越高。在最新的Cypress 10.8.0版本里, Cypress终于把Safari浏览器纳入里测试范围。
需知:Cypress并不是直接支持Safari浏览器,而是通过WebKit来实现对Safari对支持的。
启用Safari测试
在当前10.8.0版本里,对WebKit的支持,仍是一个测试版。所以当你要启用Safari测试时,你需要先行进行安装和配置。
安装
在项目根目录下执行:
npm install --save-dev playwright-webkit
配置
在cypress.config.js里添加如下配置:
"experimentalWebKitSupport": true,
然后,在测试时,选择"WebKit"作为浏览器。
选择你要执行的测试用例执行完即可。
遗留的问题
Cypress通过WebKit支持了Safari浏览器测试,可以说,让大家对Cypress的接受度又增加了一大截。但是因为这个版本对Safari的支持是测试版本,所以才存在很多问题, 比如:
1. cy.origin() 和 cy.session() 尚不支持。
2. cy.intercept() 的 forceNetworkError 选项被禁用。
3. 在 WebKit 中使用带有视频录制的实验性SingleTabRunMode 时,仅录制第一个规范的视频。
4. cy.type() 行为的一些差异:
textInput 事件缺少数据属性
beforeinput 事件缺少 inputType 属性
input[type=number] 上的 cy.type('{uparrow}') 和 cy.type('{downarrow}') 不会四舍五入到指定的最近步长
另外,笔者在测试中发现,Webkit的支持,目前仅支持默认的文件结构,暂不支持自定义文件结构,运行时会报这个错误:
如果你的测试框架是根据我的图书自定义过的,那么可暂时暂停使用这个功能,等Cypress官方修复后再行使用(https://github.com/cypress-io/cypress/issues/23865)。
Cypress有很多奇淫巧技, 我已经总结超过百篇
别走开,下一篇更精彩!
相关文章
- 腾讯云 x Elasticsearch 携手三周年有奖征文大赛
- 微服务架构下路由、多活、灰度、限流的探索与挑战
- CODING X 小鹅通|助力知识教育行业开启 DevOps 数字化转型新篇章
- 如何做好组装式应用?
- 干货 | 疫情背景下的中长期月度预测方案
- 干货 | 携程酒店慢查询治理之路
- 开源 | 携程度假零成本微前端框架-零界
- RCTF-Web
- 干货 | 记一次跨域配置引发的思考
- RSS Can:将网站信息流转换为 RSS 订阅源(三)
- photoshop2023软件安装包64位最新版下载
- DNSPod十问陈迪菲:从C到B,鹅厂设计师的中场战事
- 【ES三周年】+es快速入门&基础概念讲解
- 行业方案 | 新规落地,企业集团财务公司如何构建数智财务体系?
- TAPD思享汇|高科制造企业如何软硬协同、敏捷提效?
- 瑞幸瞄准蜜雪冰城?
- 干货 | 深度学习在携程搜索词义解析中的应用
- 干货 | Islands Architecture(孤岛架构)在携程新版首页的实践
- 干货 | 提前在开发阶段暴露代码问题,携程Alchemy代码质量平台
- 干货 | 浅谈携程大住宿研发效能提升实践