美文网首页
httprunner 3.X (13)测试用例格式

httprunner 3.X (13)测试用例格式

作者: Sandra_liu | 来源:发表于2022-01-18 19:40 被阅读0次
    from httprunner import HttpRunner, Config, Step, RunRequest, RunTestCase
    from testcases.login_test import TestCaseLogin as login
    
    
    class TestCaseT2(HttpRunner):
        #测试特性的名称
        config = Config("播单模块") \
            #host
            .base_url("api.testing.com") \
            #这是一个全局变量
            .variables(
            **{
                " a": "这是一个全局变量",
                " b": "这是一个全局变量",
    
            }
        ) \
            #导出用例中的变量,作为全局变量
            .export("tokens") \
            #是否验证tsl证书 (https协议的接口使用)
            .verify(False)
    
        teststeps = [
            #这是第一条测试用例
            Step(
                #测试用例的名称
                RunTestCase("登录")
                #变量
                .with_variables(**{"user_name": "13428750584",
                "password": "111111",})
                #测试用例调用
                .call(login)
                #提取变量,在后续的测试用例中可引用
                .export("token")
            ),
            
            #这是第二条测试用例
            Step(
                #测试用例名称
                RunRequest("获取播单列表")
                #url
                .get("https://api.testing.net/content/v1/play_list")
                #get是params,post是data或者json
                .with_params(**{"page": "1", "per_page": "12"})
                #headers
                .with_headers(
                    **{
                        "authorization": "${tokens}",
                        "x-hb-client-type": "android",
                    }
                )
                #cookie
                .with_cookies(**{"HBSID": "${token}"})
                #setup_hooks: 在 HTTP 请求发送前执行 hook 函数,主要用于准备工作;也可以实现对请求的 request 内容进行预处理。
                #teardown_hooks: 在 HTTP 请求发送后执行 hook 函数,主要用于测试后的清理工作;也可以实现对响应的 response 进行修改,例如进行加解密等处理。
                .teardown_hook("${sleep(5)}")
                #提取参数,并且保存到变量中,在后续的测试用例中可引用
                .extract()
                .with_jmespath("body.list[*].id | [1]", "playlist_id")
                #断言
                .validate()
                .assert_equal("status_code", 200)
            ),
        ]
    
    
    if __name__ == "__main__":
        TestCaseT2().test_start()
    
    

    相关文章

      网友评论

          本文标题:httprunner 3.X (13)测试用例格式

          本文链接:https://www.haomeiwen.com/subject/zmxlhrtx.html