Httprunner3.x参数化示例

本文详细介绍了如何在HttpRunner3.x中进行参数化操作,包括独立参数、关联参数(直接枚举和生成笛卡尔积)以及使用CSV文件进行参数化。通过示例代码展示了不同方式的应用,并提到了在特定情况下需要修改源码来支持某些功能,如使用CSV文件时,建议从环境变量获取文件路径,以避免路径问题。
摘要由CSDN通过智能技术生成

框架作者没有对pytest格式的测试用例做一个参数化的官方demo,这里补充一下.

如果要对断言做关联参数化,框架本身是不支持的,需要改源码:这里-优化断言正则匹配
部分

只参数化请求报文内容的话,则不需要修改源码.


使用环境变量.env-作用域: 整个项目
在这里插入图片描述

import sys
from pathlib import Path
import pytest
sys.path.insert(0, str(Path(__file__).parent.parent))


from httprunner import HttpRunner, Config, Step, RunRequest, RunTestCase
from httprunner import Parameters


class TestCaseBattle(HttpRunner):

    config = (
        Config("battle: login")
        .base_url("http://xxx.xx.xx.225:12356")
        .verify(False)
    )

    teststeps = [

        Step(
            RunRequest("post form data")
            .with_variables(**{
   "res":"please select One Equipment"})
            .post("/login")
            .with_data({
   "username":"${ENV(username)}","password":"${ENV(password)}"}) #调用env变量
            .validate()
            .assert_equal("status_code", 200)
            .assert_regex_match("body", "${res}")
        ),
    ]


if __name__ == "__main__":
    TestCaseBattle().test_start()


在config使用variables关键字和在step使用with_variables定义变量

import sys
from pathlib import Path
import pytest
sys.path.insert(0, str(Path(__file__
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值