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有很多奇淫巧技, 我已经总结超过百篇
别走开,下一篇更精彩!
相关文章
- Chrome 浏览器翻译停服!改Hosts也失效!还有这些解决方案
- 深度 | IDM的进阶使用, IDM多个版本下载(电脑、手机、浏览器插件都有)
- 下载如此快速!下载神器FDM分享 idm多个版本(电脑、手机、浏览器插件都有)
- 超级推荐,这款下载工具真好用!idm多个版本(电脑、手机、浏览器插件都有)
- 一段JavaScript让ChatGPT开口说话?网友开源自制浏览器插件
- Javascript 判断浏览器版本和名称详解编程语言
- 手机QQ浏览器下载 手机QQ浏览器v1.5.0.55实验室版
- HTML语句判断IE浏览器版本详解编程语言
- 火狐浏览器终于要默认支持AVIF图像格式 现在已经开始做最后的测试
- 微软将为 Edge 浏览器加入标签搜索功能
- JavaScript判断浏览器类型及版本
- 兼容多浏览器的iframe自适应高度(ie8、谷歌浏览器4.0和firefox3.5.3)
- javascriptbrowser浏览器类型以及版本判断代码
- 通过Jscript中@cc_on语句识别IE浏览器及版本的代码
- Js代码中,ajax请求地址后加随机数防止浏览器缓存的原因
- js检测浏览器版本、核心、是否移动端示例
- JS完整获取IE浏览器信息包括类型、版本、语言等等
- 原生JS绑定滑轮滚动事件兼容常见浏览器
- js判断浏览器版本以及浏览器内核的方法
- javascript实现获取浏览器版本、操作系统类型