下一代 E2E 测试工具 Playwright

本文介绍了下一代E2E测试工具Playwright,它支持多语言,并提供代码生成功能,适用于前端研发和测试工程师。文章详细阐述了Playwright的安装、使用方法、常见场景解决方案以及如何在持续集成中应用,旨在帮助团队实现自动化测试。
摘要由CSDN通过智能技术生成

前言

Playwright 是微软于 2020 年发布的一款 E2E testing 工具,跟社区成熟的 Cypress 相比,稍显年轻。然而 Playwright 的主要优势有:

  1. 支持多语言:Node.js、Java、Python,也即它并非是前端工程师专属的工具
  2. 开箱即用的代码生成功能(Cypress 现在也支持,不过要修改配置或安装插件)

另外,Playwright 的安装没什么门槛,不像 Cypress 可能需要黑魔法。

综上所述,笔者认为 Playwright 是值得在研发过程中引入的一款测试工具,它可以帮助研发、测试团队较平滑地走上自动化测试之路。它适用的典型场景之一,就是做回归测试——测试人员再也不用在界面上使用鼠标进行“点点点”,解放双手,提高测试效率。

安装

yarn create playwright

根据命令提示,输入如下:
image.png
默认会下载所有浏览器,如果没有浏览器兼容性测试的需求,推荐如上图所示,手动安装一个浏览器。

以安装 chromium 为例,相应操作步骤如下:

  1. 修改配置
vi playwright.config.ts

注释掉以下内容:
image.png

  1. 安装浏览器
yarn playwright install --with-deps chromium

等待一段时间即可,如果失败,请重试。
image.png

推荐再安装 VS Code 插件,获取更好的使用体验。

使用

代码生成

虽然可以参考 example.spec.ts去编写测试用例,但这不是 Playwright 独特之处。Playwright 最引入注目的,是代码生成功能。

yarn playwright codegen

上述命令会打开两个浏览器窗口:

  1. 一个是普通的浏览器界面
  2. 另一个是代码生成界面,在前一个窗口进行的任何操作,都会生成相应的代码

image.png
虽然默认生成代码是 Javascript,但可以选择切换语言:
image.png
注意到可以生成 Pytest 的代码,对测试工程师来说,简直是福音。这也提示我们,Playwright 既可以由前端研发来使用,也可以由测试人员来使用,并不限制使用者的职业身份。

点击"Copy"按钮
image.png
然后打开代码编辑器,把代码复制进去即可。

点击"Clear"按钮,
image.png
可以清空本次操作生成的代码,从而开始进行下一次操作的代码生成。

如果是使用 VS Code 插件,点击"Record new"即可。
image.png

修改代码

生成的代码,最好还是检查一下,也许需要去掉一些多余的操作记录。
如下面的代码,Tab的操作只是人工操作时为了方便而进行的按键,对机器而言,是多余的,应该去掉。

test('login', async ({
     page }) => {
   
  await page.goto('http://172.16.202.6:3000/#/login');
  await page.getByRole('textbox').first().click();
  await page.getByRole('textbox').first().fill('username');
  //await page.getByRole('textbox').first().press('Tab');
  await page.getByRole('textbox').nth(1).fill('code');
  //await page.getByRole('textbox').nth(1).press('Tab');
  await page.locator('input[type="password"]').fill('password');
  await page.getByRole('button', {
    name: '登录' }).click();
});

如果想基于现在的测试代码,继续生成新的代码,可以使用 VS Code:

  • 把光标放到测试用例的最后一行
  • 点击"Record at cursor",即可继续录制

image.png

执行用例

yarn playwright test

image.png
如果用例失败了,想查看到底哪里错了,可以用以下命令显示浏览器,查看用例执行过程:

yarn playwright 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值