Playwright Nodejs 自动化测试工具

官网地址

playwright.dev/docs/api/cl...

安装

通过使用 npm 或 yarn 安装 Playwright 开始。或者,也可以使用 VS Code 扩展开始并运行我们的测试。

使用 yarn 或 npm 安装:

kotlin 复制代码
npm init playwright@latest

在安装过程中 playwright 脚手架会向我们询问三个问题:

  1. 在 TypeScript 或 JavaScript 之间进行选择(默认为 TypeScript)
  2. 测试文件夹的名称(如果项目中已经有一个测试文件夹,则默认为 tests 或 e2e)
  3. 添加 GitHub Actions 工作流程以在 CI 上运行测试

回答完这三个问题后将开始安装流程。

安装完成后目录结构为:

  • playwright.config 是为 Playwright 添加配置的地方,包括修改我们希望在哪些浏览器上运行 Playwright。如果在已经存在的项目中运行测试,那么依赖项将直接添加到 package.json 中。
  • tests 文件夹包含一个基本示例测试,可帮助我们开始测试。有关更详细的示例,请查看 tests-examples 文件夹,其中包含为测试 todo 应用程序而编写的测试。

运行

默认情况下,测试将在所有 3 个浏览器上运行,chrome、firefox 和 webkit,使用 3 个 worker。这可以在 playwright.config 文件中进行配置。测试以无头模式运行,这意味着在运行测试时不会打开任何浏览器。测试结果和测试日志将显示在终端中。

键入以下命令以运行测试:

bash 复制代码
npx playwright test

测试运行完成后,将创建一个 HTML 文件,它记录了完整的测试报告,允许我们在网页中筛选报告,通过的测试、失败的测试、跳过的测试和不稳定的测试。可以单击每个测试查看测试的错误以及测试的每个步骤。默认情况下,如果某些测试失败,HTML 报告会自动打开。

也可以输入以下命令打开报告页面:

sql 复制代码
npx playwright show-report

示例

在百度中搜索 Playwright,验证第一条是不是官方地址:

js 复制代码
import { test, expect } from '@playwright/test';

test('在百度中搜索Playwright', async ({ page }) => {
  // 打开百度搜索页面
  await page.goto('https://www.baidu.com/');
  
  // 查看标题中是否有「百度一下,你就知道」文案
  await expect(page).toHaveTitle(/百度一下,你就知道/);

  // 找到搜索框元素并输入「Playwright」
  await page.locator('input#kw').fill('Playwright');

  // 找到「百度一下」按钮并点击
  await page.locator('input[value=百度一下]').click();

  // 找到结果列表中第一条 这里使用的 Xpath
  const result = await page.locator('/html/body/div[2]/div[3]/div[1]/div[3]/div[1]/div[3]/a/span');
  
  // 验证第一条是不是官方地址
  expect(result).toHaveText('https://github.com/microsoft/playwright');
});
相关推荐
陈随易16 分钟前
RollCode:不只是在做页面,而是在缩短“从需求到上线”的整条链路
前端·后端
y = xⁿ17 分钟前
【LeetCodehot100】二叉树大合集 T94:二叉树的中序遍历 T104:二叉树的最大深度 T226:翻转二叉树 T101:对称二叉树
后端·算法·深度优先
2501_9216494924 分钟前
美股历史 K线数据 API接口综合评测与接入指南
后端·python·websocket·金融·restful
码界奇点1 小时前
基于ASP.NET Core的内容管理系统设计与实现
c++·后端·车载系统·毕业设计·asp.net·源代码管理
IT_陈寒1 小时前
React开发者都在偷偷用的5个性能优化黑科技,你知道几个?
前端·人工智能·后端
wuyaolong0071 小时前
Spring Boot 3.4 正式发布,结构化日志!
java·spring boot·后端
番茄去哪了2 小时前
Java基础面试题day01
java·开发语言·后端·javase·八股·面向对象编程
用户8356290780512 小时前
Python 设置 Excel 条件格式教程
后端·python·excel
XuCoder2 小时前
告别COS,用 GitHub + jsDelivr 搭建零成本图床
后端
武子康2 小时前
大数据-251 离线数仓 - Airflow 安装部署避坑指南:1.10.11 与 2.x 命令差异、MySQL 配置与错误排查
大数据·后端·apache hive