Pytest-Bdd-Playwright 系列教程(1):从零开始教你写自动化测试框架「喂饭教程」

Pytest-Bdd-Playwright 系列教程(1):从零开始教你写自动化测试框架「喂饭教程」

前言

  • 最近收到一些小伙伴在后台的留言,能不能提供相应的自动化测试项目的源码参考下,那么今天就来开始新的一期喂饭教程专栏,教大家如何完整的搭建一个完善的自动化测试框架;
  • 我们将逐步讲解从项目结构设计到测试执行的整个过程,帮助大家深入理解自动化测试框架的各个组成部分及其工作原理。

本专栏教程知识点:

  • BDD&页面对象模型;
  • 测试报告&日志展示;
  • 支持在多浏览器&多环境中执行测试;
  • 支持用例多进程并发执行;
  • 日志功能改造;
  • 支持自动截图、录制视频、HAR、Traces;
  • 支持成功&失败用例的截图、视频文件自动附加到 Allure 报告;
  • 支持测试用例过滤;
  • 支持测试用例执行结果收集;
  • 支持测试用例执行时间、成功率统计;
  • 未完待续,敬请期待…

本文教程知识点:

  • BDD&页面对象模型
  • 测试报告&日志生成

通过本文内容的学习,你将能够:

  • 理解BDD在自动化测试中的应用;
  • 掌握Page Object设计模式;
  • 学会使用PytestPlaywright进行Web自动化测试;
  • 了解如何组织和管理自动化测试项目
  • 掌握测试报告生成日志管理技巧。

一、项目结构

│
├── features/                # BDD特性文件
│   └── search.feature       # 搜索功能的特性文件
│
├── pages/                   # 页面对象
│   └── search_page.py       # 搜索页面对象
│
├── steps/                   # 步骤定义
│   └── search_steps.py      # 搜索相关步骤定义
│
├── tests/                   # 测试脚本
│   └── test_search.py
│
├── reports/                 # 测试报告(自动生成)
│   ├── logs/                # 日志文件目录(自动生成)
│   │   └── test_log.log     # 测试日志文件(自动生成)
│   └── test_report.html     # HTML格式的测试报告(自动生成)
│
├── conftest.py              # Pytest fixtures和全局配置
├── pytest.ini               # Pytest配置文件
├── requirements.txt         # 项目依赖
└── README.md                # 项目说明文档

二、安装依赖

  1. 安装 Python
  • 项目最低支持 Python 版本: 3.7
  • 推荐 Python 版本: 3.8+(我自己安装的是3.11.9
  1. 创建requirements.txt文件,包含以下依赖:
pytest==7.3.1
pytest-bdd==7.3.0
playwright==1.48.0
pytest-html==4.1.1
  1. 使用以下命令安装依赖:
pip install -r requirements.txt
  1. 下载Playwright浏览器驱动
playwright install

三、BDD特性文件

首先,安装Gherkin插件;

在这里插入图片描述

然后,在features/search.feature中编写BDD场景:

Feature: 百度搜索
  作为用户
  我想要能够在百度上搜索信息
  以便找到相关的信息

  Background:
    Given 我在百度搜索页面

    Scenario Outline: 成功搜索
      When 我输入搜索词 "<search_term>"
      And 点击搜索按钮
      Then 我应该看到搜索结果
      Examples:
        | search_term |
        | python |

  

猜你喜欢

转载自blog.csdn.net/weixin_48321392/article/details/143199030