以前我在写接口自动化用例的时候,为了保证用例的独立性,需要在setUp里调用各种满足用例的一些前置条件,其中就不乏调用了其他测试用例中的方法。

而httprunner也是支持了这一项很重要的特性,通过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")
),

1. RunTestCase(name)

这个参数呢还是一个名称,毕竟RunTestCase还是一个Step,这个名称同样会在日志和报告中显示。

2. .with_variables

这个变量跟RunRequest里的用法一样。

3. .call

这里就是指定你要引用的testcase类名称了。

4. .export

可以指定要导出的变量,以供后续Step引用。

可以看的.export()内部是一个列表[],这里可以用来导出多个变量。

最新文章

  1. Java--String 和StringBuilder、StringBuffer 的区别?
  2. 再谈使用Emit把Datatable转换为对象集合(List<T>)
  3. SQLServer公历转农历函数(1900年-2049年)
  4. QTP对象管理
  5. 二代USBKEY与一代USBKEY有什么区别?使用时需要注意什么?
  6. xfs文件系统磁盘配额
  7. typedef struct 是什么意思
  8. python机器学习实战(二)
  9. VUE环境配置——运行Demo
  10. 异步多线程 Async
  11. about this blog
  12. 关于eclipse创建web工程没有生成webapp文件夹的解决方案
  13. Linux中VIM的使用
  14. 《JavaScript 高级程序设计》读书笔记四 变量 作用域 内存
  15. CentOS 7.0安装
  16. (第十三周)Final阶段用户调查报告
  17. windows Tomcat apr安装
  18. 查看手机cpu信息
  19. json2.js 序列化 和反序列化 转
  20. java web中请求和响应中包含中文出现乱码解析

热门文章

  1. 100% 展示 MySQL 语句执行的神器-Optimizer Trace
  2. 高效c/c++日志工具zlog使用介绍
  3. sql server 存储过程的(包含事务)方法里面,采用游标循环,批量删除(修改)数据
  4. 1. JDK基础说明
  5. IndexFlatL2、IndexIVFFlat、IndexIVFPQ三种索引方式示例
  6. SSM框架入门——整合SSM并实现对数据的增删改查功能(Eclipse平台)
  7. 使用 .NET Core 3.x 构建 RESTFUL Api
  8. 代码优化之return 减少括号嵌套
  9. JavaScript 循环数组的时候调用方法中包含Promise的时候如何做到串行
  10. AdblockPlus自定义屏蔽广告