pytest + allure自动化测试

本文介绍了如何配置和使用pytest与allure生成自动化测试报告。详细讲解了pytest的命名规则、测试结构以及如何生成自带的html测试报告。同时,提到了allure这个强大的测试报告框架,演示了如何安装、集成以及通过allure生成测试报告的过程。

配置allure:在系统变量path中添加:对应的allure安装路径
配置成功的标志:
在这里插入图片描述
pytest简单概述
需要安装pytest和pytest-html(生成html测试报告)
pip install pytest 和 pip install pytest-html
命名规则
Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest更加严谨
Pytest的setup, setup_class和teardown, teardown_class函数(和unittest执行效果一样)
  运行于测试方法的始末,即:运行一次测试函数会运行一次setup和teardown
  运行于测试方法的始末,但是不管有多少测试函数都只执行一次setup_class和 teardown_class

Pytest生成自带的html测试报告

直接执行pytest.main()
【自动查找当前目录下,以test_开头的文件或者以_test结尾的py文件】:
在这里插入图片描述
效果展示:
在这里插入图片描述
pytest.main([“模块.py”])
【运行指定模块下,运行所有test开头的类和测试用例】
pytest.main(["–html=./report.html",“test3.py”])在这里插入图片描述
效果展示:
在这里插入图片描述
网页展示:
在这里插入图片描述
pytest调用语句
pytest.main(["–html=./report1.html", “test_py.py::TestClass::test002”])

指定执行test002:
在这里插入图片描述
#-x出现一条测试用例失败就退出测试

-v: 丰富信息模式, 输出更详细的用例执行信息

-s:显示print内容

-q: 简化结果信息,不会显示每个用例的文件名

-x出现一条测试用例失败就退出测试
代码展示:
在这里插入图片描述
效果展示:
在这里插入图片描述
网页展示:
在这里插入图片描述
-v丰富信息模式, 输出更详细的用例执行信息:
代码:
在这里插入图片描述
效果展示:
在这里插入图片描述
网页展示:
在这里插入图片描述
-s 显示print内容
代码:
在这里插入图片描述
效果展示:
在这里插入图片描述
网页展示:
在这里插入图片描述
-q 简化结果信息,不会显示每个用例的文件名
代码:
在这里插入图片描述
效果展示:
在这里插入图片描述
网页展示:
在这里插入图片描述

allure

Allure是一款轻量级并且非常灵活的开源测试报告框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。

首先要下载一个插件:pip install allure-pytest

通过它我们可以生成allure所需要的用于生成测试报告的数据

在这里插入图片描述
转换为html:
在这里插入图片描述
网页展示:
在这里插入图片描述

### 搭建基于 Selenium、PytestAllure自动化测试框架 搭建一个基于 **Selenium**、**Pytest** 和 **Allure** 的自动化测试框架,可以有效提升 UI 自动化测试的效率和可维护性。以下是详细的实现步骤: #### 1. 环境准备 确保系统中已安装以下依赖: - Python(推荐 3.7 及以上版本) - Selenium(用于浏览器自动化) - Pytest(用于测试框架管理) - Allure-pytest(用于生成测试报告) - WebDriver(如 ChromeDriver、GeckoDriver 等) 可以通过以下命令安装相关库: ```bash pip install selenium pytest allure-pytest ``` 下载并配置相应的浏览器驱动(如 ChromeDriver),确保其路径已添加到系统环境变量中。 #### 2. 项目结构设计 合理的项目结构有助于提高可维护性。以下是一个推荐的目录结构: ``` project/ │ ├── tests/ # 测试用例目录 │ └── test_login.py # 示例测试用例 │ ├── pages/ # Page Object 模式页面类 │ └── login_page.py # 登录页面对象 │ ├── utils/ # 工具类 │ └── driver_utils.py # 浏览器驱动工具 │ ├── config/ # 配置文件 │ └── config.yaml # 配置信息 │ ├── reports/ # Allure 测试报告输出目录 │ ├── conftest.py # Pytest 全局 fixture │ └── pytest.ini # Pytest 配置文件 ``` #### 3. 配置 Pytest 在项目根目录下创建 `pytest.ini` 文件,配置 Allure 输出路径和测试用例搜索路径: ```ini [pytest] addopts = --alluredir=./reports --clean-alluredir testpaths = tests ``` #### 4. 使用 Page Object 模式 Page Object 模式可以提高代码的可读性和可维护性。例如,定义一个登录页面类: ```python # pages/login_page.py from selenium.webdriver.common.by import By class LoginPage: def __init__(self, driver): self.driver = driver def enter_username(self, username): self.driver.find_element(By.ID, "username").send_keys(username) def enter_password(self, password): self.driver.find_element(By.ID, "password").send_keys(password) def click_login(self): self.driver.find_element(By.ID, "login-btn").click() ``` #### 5. 编写测试用例 使用 Pytest 编写测试用例,并结合 Selenium 进行浏览器操作: ```python # tests/test_login.py from pages.login_page import LoginPage from utils.driver_utils import get_driver def test_login(): driver = get_driver() login_page = LoginPage(driver) login_page.enter_username("testuser") login_page.enter_password("password123") login_page.click_login() assert "dashboard" in driver.current_url driver.quit() ``` #### 6. 配置 Allure 报告 Allure 提供了丰富的测试报告功能。运行测试后,使用以下命令生成报告: ```bash allure generate ./reports -o ./allure-report --clean ``` 可以在浏览器中打开 `allure-report/index.html` 查看详细的测试报告。 #### 7. 使用 Conftest.py 管理全局 Fixture 在 `conftest.py` 中定义全局 fixture,例如自动启动和关闭浏览器: ```python # conftest.py import pytest from utils.driver_utils import get_driver @pytest.fixture(scope="function") def driver(): driver = get_driver() yield driver driver.quit() ``` #### 8. 运行测试 使用以下命令运行测试并生成 Allure 报告: ```bash pytest tests/test_login.py allure serve reports ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值