初识HttpRunner
一.背景
前段时间接触到HttpRunner自动化测试框架,发现对测试人员代码能力要求极低,用户只需准备好用例脚本即可发起测试,非常方便,故记录一下。
二.安装
运行环境
HttpRunner框架基于Python开发语言,可以运行在macOS、Linux、Windows系统平台。
本文实例均运行于Windows操作系统。
安装方式
pip install httprunner安装校验
运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功。
hrun -V
三.原理
基本概念
测试用例
测试用例必须完整独立,每条用例可独立运行
一条用例需要用一个YAML/JSON文件管理
测试步骤
测试用例是测试步骤的有序集合
针对接口测试时,一个测试步骤对应一个API
测试用例集
测试用例集是测试用例的无序集合
集合中的测试用例相互独立,不存在先后依赖关系
测试场景
测试场景和 测试用例集是同一概念,都是 测试用例 的无序集合。
测试用例组织
测试用例结构

Testcase编写
YAML/JSON文件的数据存储结构为list of dict形式,其中可能包含一个全局配置项(config)和若干个测试步骤(test)config:作为整个测试用例的全局配置项
test:对应单个测试步骤(teststep),测试用例存在顺序关系,运行时将从前往后依次运行各个测试步骤
config详细说明
作用域为整个测试用例
- config:
name: demoTestCase
base_url: http://morse.qa-sh.56qq.com
variables:
bd-token: XXXXXXXXXXXXXXX==
bd-app-uid: XXXXXXXXXXXXXXXXXXXa6c2-1c5119c570e3
test详细说明
作用域仅限本身
- test:
name: test_three_elec
request:
headers:
bd-app-uid: a365474c-a7e6-4b3d-a6c2-1c5119c570e3
bd-token: 6fEkwIF8NwKgnpEG1JTTg==
method: POST
url: /three_elec/do-check.do
params:
name: 蒋xx
idcard: 511323xxxxxx33092
mobile: 1818095xxxx
运行测试
运行单个测试用例文件,并生成一个测试报告文件
cmd命令框执行:
hrun filepath/testcase.yml运行测试用例集(文件夹内包含多个测试用例文件),并生成一个测试报告文件
cmd命令框执行:
hrun testcases_folder_path高级功能
可设置用例运行过程中遇到失败时不再继续运行后续用例;
可设置日志打印级别
保存详细运行过程数据
输出报告
默认运行完测试用例会在当前路径下自动创建reports目录,里面会生成一份html格式的测试报告
高级功能
可自定义测试报告模板样式
可指定报告生成路径
四 实践
编写YAML格式测试用例

运行测试用例

查看测试报告

点击绿色的log按钮

五 后记
体验了一把下来会发现操作十分简单,只要学会组织测试用例,就能完成API自动化测试。
本文只是介绍演示了最基本的流程,还有很多功能,例如通过抓包文件转换测试用例,为用例添加校验,参数关联,自定义函数传参等,待后续继续学习。
参考资料:https://cn.httprunner.org/
https://debugtalk.com/tags/HttpRunner/
初识HttpRunner的更多相关文章
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
- 初识Hadoop
第一部分: 初识Hadoop 一. 谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- 初识IOS,Label控件的应用。
初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...
- UI篇(初识君面)
我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- 初识SpringMvc
初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...
- 初识redis数据类型
初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...
- Redis初识、设计思想与一些学习资源推荐
一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...
随机推荐
- Unable to load authentication plugin 'caching_sha2_password'
Caused by: com.mysql.cj.core.exceptions.WrongArgumentException: Unable to load authentication plugin ...
- C语言预处理学习记录
#include<stdio.h> #define LOCAL //无参宏 //条件编译 #ifdef LOCAL int a=1; #else int a=2; #endif #ifnd ...
- 编码 - 调整 gitbash 文本字符集
概述 gitbash 设置 文本字符集 背景 最近被 编码 的事情搞得乱七八糟 有点没头绪, 所以碰到 编码相关 的东西, 都想看上一看 环境 os win10.1903 git 2.20.1 1. ...
- SP1716 GSS3 - Can you answer these queries III - 动态dp,线段树
GSS3 Description 动态维护最大子段和,支持单点修改. Solution 设 \(f[i]\) 表示以 \(i\) 为结尾的最大子段和, \(g[i]\) 表示 \(1 \sim i\) ...
- adb 无线连接手机设备
连接语法: $ adb connect ip:port 断开连接: $ adb disconnect ip:port 可能遇到问题:unable to connect to 192.168.199.2 ...
- 使用Powershell开机启动隐藏窗口的程序
1.打开注册表找到键值:计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 2.添加字符串值:StartJetSer ...
- js或者jq的string类型或者number类型的相互转换及json对象与字符串的转换
1.将值乘以1,将string类型转为number类型 //算合计价值function summoney(money) { var zijin = $("#main_xm_dam09&quo ...
- layui下拉框数据过万渲染渲染问题解决方案
方案一:layui下拉框分页插件 https://fly.layui.com/jie/29002/ 此插件我用了下浏览器缓存有问题,而且当下拉框数据量过万后,会一直渲染不出来,期待后期作者优化 如图下 ...
- C++-POJ3274-Gold Balanced Lineup[hash]
不是很懂? 胡乱hash #include <set> #include <map> #include <cmath> #include <queue> ...
- linux零碎001
glibc:GNU发布的libc库,即c运行库.glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc. uclibc:是一个面向嵌入式Linux系统的小型的C标准库.最初 ...