Po模型实现unittes、pytest生成测试报告,数据驱动

本文介绍了如何利用Po模型实现unittest和pytest的自动化测试,并通过yaml文件进行数据驱动,生成详细的测试报告。主要内容包括basepage的封装、yaml操作、登录功能的测试以及测试结果的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Po模型实现unttest生成测试报告
1.basepage(封装公共的属性和行为)

class BasePages:
    def __init__(self, driver):
        self.driver = driver
    # 元素定位
    def locator(self,*loc):
        return self.driver.find_element(*loc)
    # 清空
    def clear(self,*loc):
        self.locator(*loc).clear()
    # 输入
    def input(self,test,*loc):
        self.locator(*loc).send_keys(test)
    # 点击
    def click(self,*loc):
         self.locator(*loc).click()
    # 滑动(上下左右滑动)
    def swipe(self,start_x,start_y,end_x,end_y,duration=0):
        # 获取屏幕的尺寸
        window_size = self.driver.get_window_size()
        x = window_size["width"]
        y = window_size["height"]
        self.driver.swipe(start_x=x*start_x,
                            start_y=y*start_y,
                            end_x= x*end_x, 
                            end_y=y*end_y,
                            duration=duration)
2: 业务页代码 导航
from basepage.basepages import BasePages
from appium.webdriver.common.mobileby import MobileBy
class DaoHangClass(BasePages):
    def __init__(self, driver):
        BasePages.__init__(self.driver)
    #导航界面点击登录操作
    def click_login(self,):
        self.click(MobileBy.ID,"com.tencent.mobileqq:id/btn_login")

3.登录

from basepage.basepages import BasePages
from appium.webdriver.common.mobileby import MobileBy
class LoginPages(BasePages):
    def __init__(self, driver):
        BasePages.__init__(self.driver)
    #发送账号
    def send_zh(self,test):
        self.input(test,MobileBy
### Pytest生成测试报告的方法及工具推荐 #### 方法一:使用 `pytest-html` 插件 通过安装 `pytest-html` 插件,可以轻松生成HTML格式的测试报告。该插件支持Python 3.6及以上版本[^2]。以下是具体操作方法: 1. 安装依赖库: ```bash pip install pytest-html ``` 2. 使用以下命令运行测试并生成报告: ```bash pytest --html=report.html ``` 上述命令会在当前目录下生成名为 `report.html` 的测试报告文件[^3]。 --- #### 方法二:集成 Allure 报告工具 Allure 是一种功能强大的测试报告工具,能够提供更详细的交互式报告。它可以通过 `allure-pytest` 插件与 Pytest 结合使用[^1]。以下是实现步骤: 1. 安装必要的依赖项: ```bash pip install allure-pytest ``` 2. 编写测试脚本,在其中添加标记以便于分类和过滤测试用例。 3. 运行测试并将结果保存为 Allure 格式的中间数据: ```bash pytest --alluredir=./allure-results ``` 4. 将中间数据转换为 HTML 报告(需先安装 Allure 命令行工具): ```bash allure serve ./allure-results ``` --- #### 方法三:利用内置控制台输出 Pytest 默认提供了基于控制台的文本输出方式来汇总测试结果。虽然这种方式不生成独立的报告文件,但它适合快速查看测试状态。只需简单运行以下命令即可: ```bash pytest ``` --- #### 工具对比分析 | **工具名称** | **特点** | |------------------|--------------------------------------------------------------------------------------------| | `pytest-html` | 轻量化、易于上手;适用于简单的项目需求,能直接生成静态HTML报告 | | `allure-pytest` | 提供高度自定义化的交互式报告,适合复杂场景下的深入分析 | | 控制台输出 | 不需要额外配置或依赖,仅限基础信息展示,无法导出正式文档 | --- #### 推荐方案 对于小型项目或者初学者来说,建议优先考虑 `pytest-html`,因为它部署简便且能满足大多数日常开发中的需求。而对于追求更高可视化程度以及希望将其融入 CI/CD 流程的企业级应用,则更适合采用 `allure-pytest` 来构建详尽的测试报告体系。 ```python import pytest def test_example(): assert True ``` 以上代码片段展示了最基本的单元测试结构,实际运用时可根据业务逻辑扩展更多断言条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值