使用playwright进行自动化测试

阿里云教程8小时前发布
2 0 0

AI时代,使用AI编写代码已经超级普遍了,我所在的公司,虽然只能在内网的环境下编码,但我们在内网也搭建好了一个AI编程的环境,也能将就能用,在今天,许多代码用AI生成,我们需要对软件加强测试,自动化测试就变得更加重大了。

自动化测试的方向许多,如接口的测试、移动端的测试、电脑web端的测试,自动化测试的软件许多,我也用过不少,其中老牌的自动化测试软件,当属Selenium,Selenium是开源领域的标杆级工具,也是 Web 测试中最常用的框架。我今天介绍一个微软出品自动化测试软件,playwright。

先看官网地址: https://playwright.dev/

使用playwright进行自动化测试

官网图

另外还有一个国内的中文网站,但这个网站实则翻译的不全,百度搜索一下就能出来。

国内中文地址
https://playwright.bootcss.com/python/

也来看个截图:

使用playwright进行自动化测试

如何使用:

Playwright支持Java、python、Node.j的使用,使用也超级的简单,列如打开doc,就能看到如何使用。

使用playwright进行自动化测试

如何使用

我先简单介绍一下node.js的使用,第一你得安装Node.js 环境, 可执行以下命令:

确保已安装 Node.js(推荐 v16+),可通过 官网 https://nodejs.org/zh-cn 下载,或用包管理器(如 brew、apt)安装。

验证安装:node -v 和 npm -v 显示版本号即成功。

创建项目并安装 Playwright

# 创建项目目录
mkdir playwright-demo && cd playwright-demo
# 初始化 npm 项目(一路回车即可)
npm init -y
# 安装 Playwright(会自动下载浏览器驱动)
npm install playwright

下载浏览器驱动 可以在 下面得目录看到

widnow的地址为 C:UsersAdministratorAppDataLocal

使用playwright进行自动化测试

第一个测试脚本(JavaScript 示例)

 import { test, expect } from '@playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://www.baidu.com/');
  await page.locator('#chat-textarea').press('ControlOrMeta+c');
  await page.getByRole('textbox', { name: '白宫深夜盯上阿里巴巴' }).click();
  await page.getByRole('button', { name: '百度一下' }).click();
  await page.getByRole('link', { name: '2', exact: true }).click();
  const page1Promise = page.waitForEvent('popup');
  await page.getByRole('link', { name: '太狠了!特朗普政府再动歪心思,盯上中企巨头阿里巴巴与腾讯 - 人民' }).click();
  const page1 = await page1Promise;
});

上述脚本可以放到一个 tests的目录下,如我的工程目录如下:

使用playwright进行自动化测试

通过执行命令 就可以执行测试了:

npx playwright test

这个命令还可以增加一些参数,如 – -ui 会显示浏览器,看到执行过程 –debug 可以调试模式执行。

测试完成后,会显示测试报告,看到测试情况

使用playwright进行自动化测试

当然,让人惊喜的是,playwright带有一个脚本录制的功能,

通过 npx playwright codegen ,就可以打开,打开后会生成脚本。减少了编写程序的烦恼。

更让人惊喜的时,提供了要给vscode插件,管理工程,录制脚本更加方便。

通过vsocde 的插件市场,搜索 playwright ,就可以找到这个插件

使用playwright进行自动化测试

Playwright 插件介绍

playwright安装完成后,可以看到如下的尝试

使用playwright进行自动化测试

  1. 测试用例可视化与管理左侧面板清晰展示项目中所有测试用例(按文件和用例名称组织),支持折叠 / 展开层级结构。直接显示用例状态(通过 / 失败 / 未运行),并标注执行时间,方便快速定位问题用例。
  2. 一键运行与调试每个测试用例、测试文件或测试套件旁都有「运行」和「调试」按钮,无需手动输入命令。支持选择浏览器(Chromium/Firefox/WebKit)运行测试,也可配置默认浏览器。调试时支持断点、变量监视、调用栈等 VS Code 原生调试功能,轻松定位代码问题。
  3. 测试报告与日志集成测试结束后自动展示简洁报告,包含通过 / 失败数量、耗时等关键信息。失败用例会显示错误详情(如断言失败缘由、元素定位失败信息),并可点击跳转到对应代码行。支持查看测试过程中的控制台输出和网络请求日志。
  4. 代码生成与智能提示集成 Playwright Codegen 功能,可通过插件启动浏览器录制用户操作,自动生成测试代码并插入到当前文件。对 Playwright API 提供完整的智能提示(如 page.goto、locator.click 等方法参数),减少语法错误。
  5. 配置快速访问一键打开 / 创建 playwright.config.ts 配置文件,支持通过界面修改常用配置(如测试目录、超时时间、浏览器列表)。自动识别项目中的测试配置,无需手动指定路径

通过插件,可以快速了解playwright 提供的功能。

当然自动化测试最终重大的还是了解自己的业务场景,如何定义一个正例和反例,并且如何通过断言判断测试结果是否正确,并且测试用例的脚本,要能适用系统的变化,能够让测试用例不由于系统的升级或改造,能够快速适配,元素的定位比较文档,不需要频繁修改,并且让脚本更有可读性,而不是一些看不懂的元素。并且与AI如何介绍,使得编写工作更加节省。

下回来详细介绍,如何实现上述要点。

© 版权声明

相关文章

暂无评论

none
暂无评论...