web自动化框架:pytest + Excel(用例数据+元素定位)+log+allure+git( CI/CD )+测试结果回写Excel中

一、引言

构建一个使用 pytestExcel (用例数据 + 定位元素)结合 Allure 报告、logGit (CI/CD)以及页面对象(PO)框架模式的自动化测试框架,并实现截图封装、测试结果回写到 Excel 的功能,以下是一个完整框架和示例。(适合自动化测试搭建框架时候使用)

二、项目结构

构建的自动化测试框架,分为以下几个主要模块:

  • Test Cases: 存放测试用例,基于 pytest 编写
  • Page Objects (PO): 页面对象模式,封装操作页面的步骤
  • Utilities: 提供公共的功能(例如日志、截图封装、Excel 操作等)
  • Config: 配置文件(例如环境配置、驱动配置等)
  • CI/CD: Git 版本控制与 CI/CD 配置文件
  • Allure: 测试报告生成

1、安装依赖

首先,安装需要的依赖包:

pip install pytest pytest-allure-adaptor openpyxl selenium pytest-html

2、项目结构

project/
├── config/
│   ├── config.py               # 配置文件,存放driver配置等
├── pages/
│   ├── login_page.py           # 页面对象
├── tests/
│   ├── test_login.py           # 测试用例
├── utils/
│   ├── excel_utils.py          # 操作Excel的工具
│   ├── logger.py               # 日志封装
│   ├── screenshot.py           # 截图封装
├── allure-results/             # Allure 报告存放目录
├── .gitlab-ci.yml              # CI/CD 配置(例如GitLab CI)
└── pytest.ini                  # pytest 配置文件

三、代码展示

1、配置文件 (config/config.py)

这个文件包含了对 Selenium WebDriver 的初始化配置。get_driver 函数会返回一个已经初始化并配置好的浏览器驱动。

解释

  • webdriver.Chrome(executable_path="path/to/chromedriver"): 创建一个 Chrome 浏览器实例,注意根据实际路径修改 chromedriver 的路径。
  • maximize_window(): 最大化浏览器窗口。
  • implicitly_wait(10): 设置隐式等待,所有的查找元素操作都会等待 10 秒钟,直到元素出现为止。
from selenium import webdriver

def get_driver():
    """
    获取并初始化浏览器驱动。
    这里以 Chrome 驱动为例,可以根据需要更换为其他浏览器驱动,如 Firefox, Edge 等。
    """
    # 设置 Chrome 驱动路径(注意根据自己系统环境修改路径)
    driver = webdriver.Chrome(executable_path="path/to/chromedriver")
    
    # 最大化浏览器窗口
    driver.maximize_window()
    
    # 设置隐式等待时间
    driver.implicitly_wait(10)
    
    return driver

2. 页面对象(PO模式) (pages/login_page.py)

页面对象(PO)模式通过将页面的操作封装成类和方法,减少重复代码,并且增强代码的可维护性。

from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

class LoginPage:
    def __init__(self, driver):
        """
        页面对象类的初始化方法。
        :param driver: WebDriver 实例
        """
        self.driver = driver
        self.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

测试开发漫漫成长路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值