前言
一般我们写接口自动化的时候,遇到复杂的逻辑,都会调用API方法来满足前置条件,Pytest的特性是无法用例之间相互调动的,我们一般只调用自己封装的API方法。 而httprunner支持用例之间的调用,通过 RunTestCase 对其他测试用例进行调用,并且还可以导出用例中你所需要的变量,来满足后续用例的的运行。
RunTestCase
RunTestCase 在一个步骤中用于引用另一个测试用例调用。
teststeps = [ Step( RunTestCase("request with functions") .with_variables( **{"foo1": "testcase_ref_bar1", "expect_foo1": "testcase_ref_bar1"} ) .call(RequestWithFunctions) .export(*["foo3"]) ), Step( RunRequest("post form data") .with_variables(**{"foo1": "bar1"}) .post("/post") .with_headers( **{ "User-Agent": "HttpRunner/${get_httprunner_version()}", "Content-Type": "application/x-www-form-urlencoded", } ) .with_data("foo1=$foo1&foo2=$foo3") .validate() .assert_equal("status_code", 200) .assert_equal("body.form.foo1", "bar1") .assert_equal("body.form.foo2", "bar21") ), ]
RunTestCase(name)
用于指定测试步骤名称,该名称将显示在执行日志和测试报告中。
RunTestCase("request with functions")
.with_variables
与RunRequest里的用法相同
.call
指定你要引用的testcase类名称
.call(RequestWithFunctions)
调用RequestWithFunctions类
.export
指定要导出的变量(可以指定多个),后续的测试步骤可以引用导出的变量
.export(*["foo3", "foo4"])
查看更多关于httprunner(8)用例调用-RunTestCase的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did126609