httprunner实现数据驱动

api模板

name: 登录接口模板
variables:
    expected_status_code: 200
    password: '800001'
    username: '800001'
    vercode: ${gen_random_string(5)}
request:
    url: "/api/login"
    json:
        password: '$password'
        username: '$username'
        vercode: '$vercode'
    method: POST
validate:
    - eq: ["status_code", $expected_status_code]

登录测试用例

-   config:
        base_url: "http://192.168.1.100:8093"
-   test:
        name: 登录
        api: api/login.yaml
        variables:
            password: '800001'
            username: '800001'
        validate:
            - eq: ["content.success", True]

单个参数实现参数化

config:
    name: "用户名参数化"

testcases:
    testcase1_name:
        testcase: E:\untitled2\demo\testcases\login_demo.yaml
        parameters:
            username: ["800001","800002","800003"]

两个参数实现参数化

config:
    name: "demo"

testcases:
    testcase1_name:
        testcase: E:\untitled2\demo\testcases\login_demo.yaml
        parameters:
            username-password:
                - ["800001","800001"]
                - ["800002","800002"]
                - ["800003","800003"]

单个参数引用csv

config:
    name: "demo"

testcases:
    testcase1_name:
        testcase: E:\untitled2\demo\testcases\login_demo.yaml
        parameters:
            username: ${P(testsuites/user.csv)}

csv的文件内容

username
800002
800003
800001
800009

多个参数引用csv

config:
    name: "demo"

testcases:
    testcase1_name:
        testcase: E:\untitled2\demo\testcases\login_demo.yaml
        parameters:
            username-password: ${P(testsuites/userpwd.csv)}

csv的文件内容

username,password
800001,800001
800002,800002
800003,800003
800004,800004

两个参数引用自定义函数

config:
    name: "demo"

testcases:
    testcase1_name:
        testcase: E:\untitled2\demo\testcases\login_demo.yaml
        parameters:
            username-password: ${create_account(10)}

创建用户方法

def create_account(number):
    accounts=[]
    for index in range(1,number):
        accounts.append({'username':str(800001+index),'password':str(800001+index)})
    return accounts

猜你喜欢

转载自blog.csdn.net/qq1105273619/article/details/90719367