欢迎光临散文网 会员登陆 & 注册

相比 Selenium,Web 自动化测试框架 Playwright 有哪些强大的优势?

2023-01-06 18:16 作者:爱测软件测试  | 我要投稿

Playwright 是由微软的研发团队所开发的一款 Web 自动化测试框架,这个框架具有多平台、跨语言的特点。除了基本的自动化测试能力之外,同时它还具备非常强大的录制功能、追踪功能。以下是 Playwright 与 Selenium 的对比。

图片

由此可见,Playwright 不仅具备 Selenium 多语言、跨平台、多浏览器的优点。相较于 Selenium,Playwright 还有更加强大的优势。

Playwright 有哪些优点

  • 支持所有流行的浏览器。

  • 速度更快,更可靠的执行。

  • 更强大的自动化测试配置。

  • 强大的工具库:

    • Codegen:通过记录你的操作来生成测试。 将它们保存为任何语言。

    • Playwright inspector: 检查页面、生成选择器、逐步执行测试、查看点击点、探索执行日志。

    • Trace Viewer:捕获所有信息以调查测试失败,Playwright 跟踪包含测试执行截屏、实时 DOM 快照、动作资源管理器、测试源等等。

环境安装

Python 版本


Java 版本

  1. 在 pom.xml 中添加依赖。

  1. 创建一个项目

  1. 编译并执行(注意:第一次编译执行的时候需要下载对应的依赖,耗时比较久。)

Codegen 录制功能

Codegen 在启动录制的时候,可以针对于不同的场景,设定不同的参数。比如设置一个特殊的窗口分辨率、颜色主题、指定手机设备等操作。

设定展示窗口大小

通过命令的--viewport-size参数可以指定录制时窗口展示的尺寸。用来测试当指定一个特殊的窗口展示尺寸时,界面显示是否还正常。

图片
  • Python 版本命令:

  • Java 版本命令:

指定设备

通过命令的--device参数可以指定录制时手机的设备型号。用来测试在使用手机浏览时,界面展示是否正常。

图片
  • Python 版本命令:

  • Java 版本命令:

解决登录认证问题

通过参数--save-storage可以将认证信息保存在一个文件中。在执行命令后,会自动启动窗口,登录账号之后,手动关闭窗口。即可将认证信息保存下来:

图片

然后通过--load-storage参数,可以再次启动浏览器,进入上次登录后的网站,发现已经登录成功:

图片
  • Python 版本完整命令:

  • Java 版本完整命令:

编写测试用例

以下为测试人论坛搜索功能的测试步骤,请使用 Playwright 自动化测试代码实现:

  1. 打开测试人论坛https://ceshiren.com/。

  2. 点击搜索按钮。

  3. 输入搜索信息,按下回车键。

  4. 查看搜索的结果是否包含搜索的信息。

  • Python 版本的实现

  • Java 版本的实现

Trace Viewer 追踪功能

在做自动化测试过程中,常常会碰到的一个痛点问题:自动化测试明明发现了代码的 BUG,但是复现比较困难,研发又不认账。

碰到这种场景,Playwright 的 Trace 功能可以完美的解决。因为一旦设定了 Trace,代码执行过程中的每一个步骤,都有详细的截图,日志,时长的信息,比起功能测试的过程记录信息还要更加全面。

而且 Trace 的使用也非常简单,整体来说只需要两个步骤:

  1. 在代码中添加 Trace 配置。

  2. 打开 trace 记录文件,查看 trace 记录。

在代码中添加配置主要注意以下几点:

  1. 通过 browser 实例生成一个 context 实例

  2. 通过 context 实例的 tracing 配置启动参数

  3. 通过 context 实例生成 page 实例对象。并且想要 trace 的操作,必须都使用这个 page 实例对象

  4. 在想要结束追踪的地方,添加 tracing 的结束配置。

  • Python 版本实现

  • Java 版本实现

注意:Java 版本需要配置临时环境变量PLAYWRIGHT_JAVA_SRC=src/test/java

在执行完成之后,查看项目根目录是否有生成对应的追踪文件夹。如果正常生成,即可使用以下命令查看 trace 的结果。

图片

扫描下方可领取更多学习资料(无偿哦~)


相比 Selenium,Web 自动化测试框架 Playwright 有哪些强大的优势?的评论 (共 条)

分享到微博请遵守国家法律