pytest+Selenium+Allure+Page Object (PO)设计模式+log+Yaml+git,搭建web自动化

一、引言

        在本篇文章中,我们将介绍如何使用 pytestSeleniumAllurePage Object (PO) 设计模式、LogYAML 配置文件和 Git 来搭建一个自动化测试框架。我们将分步骤进行详细讲解,并给出一个简单的测试用例解释。

二、自动化框架搭建的步骤

1、框架结构设计

首先设计框架的基本目录结构。以下是一个基本的自动化测试框架目录结构:

automation-framework/
│
├── config/
│   └── config.yaml              # 配置文件
│
├── pages/
│   ├── base_page.py             # 基类,封装常用操作
│   └── login_page.py            # 登录页面,继承基类
│
├── tests/
│   ├── test_login.py            # 登录功能测试用例
│   └── test_checkout.py         # 结账功能测试用例
│
├── reports/                     # Allure报告
│   └── allure-results/          # Allure结果文件
│
├── utils/
│   ├── driver_factory.py        # WebDriver工厂类
│   └── log.py                   # 日志封装类
│   └── screenshot.py            # 截图封装类
│
├── requirements.txt             # 依赖包
├── pytest.ini                   # pytest 配置文件
└── conftest.py                  # pytest 配置文件

2. 依赖安装

在开始之前,需要安装以下依赖:

pip install selenium pytest allure-pytest pytest-xdist yaml
  • Selenium:Web 自动化操作
  • pytest:Python 测试框架
  • Allure:生成测试报告
  • pytest-xdist:并行执行测试用例
  • PyYAML:解析 YAML 配置文件
  • pytest-html:生成 HTML 报告(可选)
  • requirements.txt 中添加所有的依赖:
    selenium==4.0.0
    pytest==7.0.1
    allure-pytest==2.10.0
    pytest-xdist==2.5.0
    pyyaml==6.0
    pytest-html==3.1.1
    

3. Page Object (PO) 设计模式封装

PO 模式将页面元素和页面操作封装成类,从而使得测试代码更加清晰、可维护。

3.1 基类 base_page.py

base_page.py 是页面对象的基类,封装了基本的操作,例如点击按钮、输入框操作等。

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

class BasePage:
    def __init
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试开发漫漫成长路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值