HttpRunner接口自动化框架的使用
简介:
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
HttpRunner是一个基于Python开发的测试框架,可以运行在Mac、Linux、Windows系统平台上,
【第一步】:安装
Python 版本:HttpRunner 支持 Python 3.4 及以上的所有版本,并使用 Travis-CI 进行了持续集成测试,测试覆盖的版本包括 2.7/3.4/3.5/3.6/3.7。
虽然 HttpRunner 暂时保留了对 Python 2.7 的兼容支持,但强烈建议使用 Python 3.4 及以上版本。
首先电脑上要保证先安装了Python3.4及以上版本并配置好环境变量
安装方式:使用pip安装
pip3 install httprunner
如果你需要使用最新的开发版本,那么可以采用项目的 GitHub 仓库地址进行安装(未试过该种方式):
pip3 install git+https://github.com/HttpRunner/HttpRunner.git@master
安装升级:
如果之前有安装过HttpRunner,现在需要升级到最新版本,可以使用-U参数
$ pip3 install -U HttpRunner
$ pip3 install -U git+https://github.com/HttpRunner/HttpRunner.git@master
安装校验:
在HttpRunner安装成功后,系统会新增5个命令:
httprunner: 核心命令ate: 曾经用过的命令(当时框架名称为 ApiTestEngine),功能与 httprunner 完全相同hrun: httprunner 的缩写,功能与 httprunner 完全相同locusts: 基于 Locust 实现性能测试har2case: 辅助工具,可将标准通用的 HAR 格式(HTTP Archive)转换为YAML/JSON格式的测试用例
httprunner、hrun、ate 三个命令完全等价,功能特性完全相同,个人推荐使用hrun命令
运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功。
hrun -V
har2case -V
【第二步】:简单使用
在python工作目录下创建一个项目模板
进入到Python工作目录-->鼠标右键选择git bash-->输入以下命令:
hrun --startproject 项目名称

命令执行完后会将整个项目结构创建好,使用pycharm打开,可以看到结构如下:

在testcases文件夹下新建一个.yml或.json文件,并按照格式写入接口的相关信息,

在Terminal中执行用例,进入到用例所在文件夹并执行 hrun xxx.yml/xxx.json,同时会对应的生成测试报告文件夹及测试报告

【HttpRunner数据驱动】
在HttpRunner中如果要采取数据驱动的方式来运行用例,需要创建一个文件(testsuite)对测试用例进行引用,并使用parameters关键字定义参数并指定数据源取值方式
在testsuites目录下新建一个测试场景文件testsuite.yml,注意文件中的层级关系,testcase和parameters是同一级的
(1)直接指定参数列表

该例子中对description进行参数化,在测试用例中直接使用$+变量名进行引用,切换到testsuites目录下去运行testsuite.yml。
(2)引用CSV文件
在TestApi下新建一个文件夹data,将csv文件放在data目录下

csv中准备好数据,直接引用即可(要注意文件的路径),然后再测试用例中也是同样用 $+参数 名调用。

PS:只要csv文件中包含中文字符,执行用例时就会报编码错误,还不知道如何解决
csv还有不同的格式么 不理解????
HttpRunner接口自动化框架的使用的更多相关文章
- 接口自动化框架 - httprunner
自己曾经写过一个接口自动化的框架,并做了一版本的优化,一直觉得做的还不错,且没依赖现有的框架. 最近因为一些工作的原因,开始又思考之前写的框架的一些缺点及如何优化,所以找到比较有名的httprunne ...
- python+request接口自动化框架
python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整 ...
- 转载:python + requests实现的接口自动化框架详细教程
转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...
- 接口自动化框架(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试. 本次文章着重介绍第一种, ...
- python + requests实现的接口自动化框架详细教程
前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...
- python3+request接口自动化框架
首次书写博客,记录下写的自动化接口框架,框架比较简单,哈哈哈,算是记录下历程把!~~~ 一.本次框架由python3.6 书写 1.准备代码环境,下载python3.6 下载地址:https:/ ...
- 接口自动化框架2-升级版(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 第一版入口:接口自动化框架(Pytest+request+Allure) 本次版本做了一些升级 ...
- Jmeter+ant+Jenkins接口自动化框架搭建
摘自:https://testerhome.com/topics/13389 一.背景 上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...
- python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
随机推荐
- java开发相关工具安装包分享
链接:https://pan.baidu.com/s/19rSlXhrZ9AtNdai64tErGQ 提取码:04up
- Yarn报错:Exception message: /bin/bash: line 0: fg: no job control
Exception message: /bin/bash: line 0: fg: no job control 这个错误是 本地idea跨平台远程调试hadoop集群出现的,在使用windows调用 ...
- open()和with open()的区别
open 1,打开文件 file=open("文件名",“读写模式”) 2,操作文件 *** 3,关闭文件 file.close() 注意事项: 使用open方法,文件操作完毕之后 ...
- 婴儿潮一代\千禧一代\X一代\Z一代含义
(一)婴儿潮一代 婴儿潮一代是指各国的生育高峰期.每个时期的婴儿潮一代都会给各国经济带来不小的刺激作用,但同样的当他们退休时也会给政府的养老保险带来巨大的压力. 在中国,从统计数据来看生育高峰出现在1 ...
- css中content-box和border-box当宽度为百分比时的位置区别,vw和%区别
盒模型 参考代码 // CSS 部分 <style> .box1,.box2{ width: 200px; height: 200px; padding: 20px; margin: 20 ...
- 牛客寒假6-C汉诺塔
链接:https://ac.nowcoder.com/acm/contest/3007/C来源:牛客网 题目描述 现在你有 N 块矩形木板,第 i 块木板的尺寸是 Xi*Yi,你想用这些木板来玩汉诺塔 ...
- 检测到 LoaderLock Message: 正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
解决方法: 调试状态=>异常(Ctrl+Alt+E)=>Managed Debuggin Assistants=>LoaderLock 的选中状态去掉即可.
- SocketAsyncEvent方式的Server
1.AsyncUserToken public class AsyncUserToken { /// <summary> /// 客户端IP地址 /// </summary> ...
- ES6实现图片切换特效
效果图 demo.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- HTML连载64-a标签伪类选择器的注意点与练习
一.a标签的伪类选择器注意点 (1)a标签的伪类选择器可以单独出现,也可以一起出现.也就是可以设置多个状态的样式. (2) a标签的伪类选择器如果一起出现,那么有严格的顺序要求,编写的顺序必须要遵守原 ...