前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cypress新版本支持Safari浏览器啦!

Cypress新版本支持Safari浏览器啦!

作者头像
iTesting
发布2022-12-20 16:20:44
1.2K0
发布2022-12-20 16:20:44
举报
文章被收录于专栏:iTestingiTesting

一个人到底要走多少弯路,才能成为一名合格的测试开发工程师?

Cypress又又又更新啦!在最新的10.8.0版本中,支持了对Safari浏览器进行测试。(买了书的同学们,公众号回复你的微信号,拉你到Cypress中国群)。

Cypress自从面世以来,一直在攻城拔寨,当前,在面试时,国内外优秀的互联网公司都已把掌握Cypress框架算做一项加分技能。 但在市场份额在逐渐扩大的同时,大家对Cypress的期望程度也越来越高,比如,最受诟病的两个问题是:

  1. Cypress为什么不支持iFrame。
  2. Cypress为什么不支持Safari浏览器。

多浏览器支持问题

从第一版仅支持Chromium内核的浏览器,到现在支持主流的Chrome,Edge,Firefox, Electron等。Cypress支持的浏览器越来越多,但一直没支持Safari。

与此同时,Safari的市场份额一路攀升至第二(市场份额在世界范围为20%左右。第一是Chrome),于是,随着大家要求支持Safari的呼声越来越高。在最新的Cypress 10.8.0版本里, Cypress终于把Safari浏览器纳入里测试范围。

代码语言:javascript
复制
需知:Cypress并不是直接支持Safari浏览器,而是通过WebKit来实现对Safari对支持的。

启用Safari测试

在当前10.8.0版本里,对WebKit的支持,仍是一个测试版。所以当你要启用Safari测试时,你需要先行进行安装和配置。

安装

在项目根目录下执行:

代码语言:javascript
复制
npm install --save-dev playwright-webkit

配置

在cypress.config.js里添加如下配置:

代码语言:javascript
复制
"experimentalWebKitSupport": true,

然后,在测试时,选择"WebKit"作为浏览器。

选择你要执行的测试用例执行完即可。

遗留的问题

Cypress通过WebKit支持了Safari浏览器测试,可以说,让大家对Cypress的接受度又增加了一大截。但是因为这个版本对Safari的支持是测试版本,所以才存在很多问题, 比如:

代码语言:javascript
复制
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有很多奇淫巧技, 我已经总结超过百篇

别走开,下一篇更精彩!


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iTesting 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 多浏览器支持问题
  • 启用Safari测试
  • 遗留的问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档