支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Playwright 实战:轻松掌握 PDF 内容验证

发布日期:2025-05-16 08:22:23 浏览次数: 1524 作者:Playwright实战教程
推荐语

掌握Playwright自动化测试,轻松验证PDF内容准确性。

核心内容:
1. PDF文件在自动化测试中的重要性
2. 使用Playwright下载PDF文件的方法
3. 利用pdf-parse提取PDF内容并验证

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

 

在自动化测试中,PDF 文件的验证常常被忽视,但其重要性不容小觑。PDF 文件常用于展示发票、合同等关键信息,确保其内容准确无误对保障应用质量至关重要。本文将带你深入了解如何利用 Playwright,结合 pdf-parse 和 fs 模块,实现 PDF 内容的自动化验证。

为什么选择 Playwright?

Playwright 是一款强大的开源自动化测试工具,支持多浏览器和多平台运行。虽然它没有内置的 PDF 验证功能,但通过与其他工具配合,我们可以轻松填补这一空白。

准备工作

首先,安装所需依赖:

npm install playwright fs pdf-parse
npm init playwright@latest

实战步骤

1. 下载 PDF 文件

使用 Playwright 模拟用户行为,下载 PDF 文件:

const { test, expect } = require('@playwright/test');

test('下载 PDF 文件'async ({ page }) => {
  // 导航到包含 PDF 的页面
  await page.goto('https://pdfobject.com/pdf/sample.pdf');
  
  // 同时等待下载事件并触发下载
  const [download] = await Promise.all([
    page.waitForEvent('download'), // 监听下载事件
    page.getByRole('link', { name'A Simple PDF File' }).click() // 点击下载链接
  ]);
  
  // 保存文件到指定路径
  const filePath = 'ExportData/' + download.suggestedFilename();
  await download.saveAs(filePath);
});

2. 提取 PDF 内容

借助 pdf-parse 提取 PDF 中的文本,并保存为文本文件:

const fs = require('fs');
const pdf = require('pdf-parse');

async function extractPdfText(filePath) {
  try {
    // 读取 PDF 文件内容
    const dataBuffer = fs.readFileSync(filePath);
    // 解析 PDF 获取文本
    const data = await pdf(dataBuffer);
    // 将提取的文本保存到 actual.txt
    fs.writeFileSync('./ExportData/actual.txt', data.text);
  } catch (error) {
    // 处理解析失败的情况
    console.error('PDF 解析失败:', error);
  }
}

// 调用函数提取文本
extractPdfText('./ExportData/sample.pdf');

3. 验证内容

比较提取的文本与预期内容,确保一致性:

test('验证 PDF 内容'async () => {
  // 读取预期和实际文本内容
  let expected = fs.readFileSync('./ExportData/expected.txt''utf-8');
  let actual = fs.readFileSync('./ExportData/actual.txt''utf-8');
  
  // 使用 Playwright 的 expect 断言内容一致
  expect(actual).toBe(expected);
});

项目目录结构

为方便理解,项目文件组织如下:

- ExportData
  - actual.txt    # 提取的实际文本
  - expected.txt  # 预期的文本
  - sample.pdf    # 下载的 PDF 文件
- node_modules    # 依赖包
- playwright-report  # 测试报告
- tests
  - example.spec.js  # 测试脚本
- package-lock.json
- package.json
- playwright.config.js

结语

通过本文,你掌握了在 Playwright 中实现 PDF 内容自动化验证的全过程。这一技能不仅能提升测试覆盖率,还能确保关键文档的准确性。赶快动手试试吧!

希望以上分享对你有所启发和帮助,欢迎留言分享你的测试断言经验!如果觉得有用,还请 点个赞,关个注,下次更新不迷路!

 


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询