Playwright测试框架

一个基于Playwright和TypeScript的测试框架,用于EA员工应用程序的自动化测试,采用页面对象模型(POM)设计模式。

  • by sujata-sayanak
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 sujata-sayanak/playwright-mcp-server

使用说明

EAApp剧作家测试框架

此存储库包含EA员工应用程序的Playwright(TypeScript)测试框架(http://eaapp.somee.com/)使用页面对象模型。

包括什么

  • playwright.config.ts --剧作家配置,阅读 EAAPP_BASE_URL 不同环境的env-var
  • tests/playwright/pages --页面对象类(主页、登录、注册、员工页面)
  • tests/playwright/specs --使用POM的示例规格
  • tests/playwright/testdata --JSON测试数据(员工数据样本)
  • tests/eaapp_testcases.* --之前导出的手动测试用例(JSON/CSV/MD)

先决条件

  • Node.js>=16
  • Windows PowerShell(以下命令适用于PowerShell)

快速设置

在存储库根目录中打开PowerShell(d:\workspace\playwright-mcp-server)并运行:

npm install
npm run install:playwright

这将安装依赖项和Playwright浏览器。

运行测试

使用设置目标环境URL EAAPP_BASE_URL 环境变量。示例(PowerShell):

$env:EAAPP_BASE_URL = "http://eaapp.somee.com/"
npm test

运行头(可见浏览器):

$env:EAAPP_BASE_URL = "http://eaapp.somee.com/"
npm run test:headed

仅在Chromium中运行调试测试:

$env:EAAPP_BASE_URL = "http://eaapp.somee.com/"
npm run test:debug

运行后显示HTML报告:

npm run test:report

项目结构

  • tests/playwright/pages --页面对象,每个对象都公开导航和操作助手
  • tests/playwright/specs --使用以下工具编写的测试 @playwright/test 和POM
  • tests/playwright/testdata --规格使用的测试数据

如何扩展

  • 在下添加新的POM类 tests/playwright/pages 对于其他页面。
  • 在中添加测试数据 tests/playwright/testdata 并将其导入规格中。
  • 将POM中的选择器作为唯一的真实来源。
  • 通过设置添加特定于环境的配置 EAAPP_BASE_URL 到登台/qa/prod。

备注

  • 测试假设应用程序是可访问的,并使用干净的测试环境。
  • 对于破坏性测试(创建/删除),使用唯一的前缀(例如。, Auto_<timestamp>)以及清理步骤。

如果你愿意,我可以:

  • 添加CI工作流(GitHub Actions)以对提交运行测试。
  • 创建更多POM方法(编辑、删除流)和更多规范,以涵盖所有手动测试用例。