自动化测试工具playwright、selenium4、cypress等对比

前言

自己之前用selenium, cypress工具做过自动化测试,目前公司要做自动化测试,主要产品是web网页(PC和手机端),微信小程序和 app, 需要结合公司的产品和各工具的特点来选择符合的测试工具

对比分析

以下是根据个人经验和查询资料做了一个各个工具的对比分析(由于app不是重点,所以app端没有过多分析)

工具 支持web UI自动化 支持手机 UI自动化 支持小程序UI自动化 支持接口测试 支持浏览器 语言 测试报告 其他
selenium4 支持 手机web自动化 需要对应的webdriver,支持广泛(chrome/firefox/edge/safari等) python/java等 集成allure 1、需要设置隐试等待或者显示等待
2、适配不同的浏览器需要下载对应的驱动
3、支持分布式运行
4、社区丰富
cypress 支持 手机web自动化 支持 chrome/edge/electron/firefox js cypress的dashboard 1. 调试时可以看到历史跑的记录,便于问题定位
2. cypress.route()进行mock数据
playwright 支持 手机web自动化 支持 支持主流浏览器chrome/Firefox/edge/safari等 python/java/js等 集成allure 1、安装配置简单,会自动安装对应浏览器和驱动
2、进行操作前,对元素进行可操作性检查,编写简单,并且运行更稳定
3、调试方便,可以连接Selenium Grid 4实现分布式运行
4、运行速度快( 用 selenium4 和 playwright 编写同样步骤的脚本,playwright运行约37s,selenium4 运行约45s,运行多次结果)
5. 可通过Route 对象进行mock数据
6. 提供 API操作对象
airtest 支持(本质是封装的selenium) 支持 同selenium python 集成allure 1、上手简单,适合游戏测试
2、iso测试需要xcode/iOS-Tagent,需要模拟器
3、对于web的实现实际是对selenium的封装
minium 支持 python 会自动生成 1、需要微信开发者工具
2、提供云测服务,不过有时长限制
3、对于录制的脚本只适用于固定不变的数据
4. 提供虚拟账号测试
  1. 对于web UI自动化,selenium4, cypress,playwright这三个工具都能满足需求,由于cypress支持的浏览器不包含safari,并且支持的语言只有javascript,而自己对python比对javascript 熟悉,所以cypress就不考虑了
  2. selenium4试用了一下,运行速度和selenium3比起来要快很多,就像上面提到的,selenium的运行需要下载对应的webdriver; playwright以前未接触,试用下来安装简单,也很容易上手,在功能方面selenium有的它基本上都能包含,而且提供了APIRequest对象,操作接口也很便捷,所以选择playwright(还有一点playwright由微软团队维护,有保障)

你可能感兴趣的:(总结,playwright,selenium,自动化,测试工具,python)