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.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
随机推荐
- 哈夫曼树 动态数组的使用vector
问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. ...
- Largest Rectangle in a Histogram POJ - 2559
很显然是单调栈 这里记录一种新的写法,这种写法基于递推,但是相比之下比单调栈更好写 #include<cstdio> #include<map> #include<set ...
- Mac下安装MySQL8的问题
黑苹果用了一段时间之后,发现很多方面用起来比Windows还舒服些,没什么具体指标,就是纯粹一种感觉. 所以,慢慢将很多程序都迁移过来,在迁移过程中发现的一些有意思的事儿,我都把他们记录下来.如果,不 ...
- springboot~工作流activiti的搭建
概念 工作流产品使用activiti的算是比较多了,自带了一套UI界面,可以直接使用,用来设计流程,下面简单总结一下它的步骤: 1 设计模型 2 发布为流程,一个模型可以发布多个版本的流程 3 建立一 ...
- java学习笔记之集合—ArrayList源码解析
1.ArrayList简介 ArrayList是一个数组队列,与java中的数组的容量固定不同,它可以动态的实现容量的增涨.所以ArrayList也叫动态数组.当我们知道有多少个数据元素的时候,我们用 ...
- Cenos7 学习笔记
一.nmtui nmtui——Text User Interface for controlling NetworkManager,这是一个NetworkManager服务的网卡接口配置工具,能实现在 ...
- pandas时间序列学习笔记
目录 创建一个时间序列 pd.date_range() info() asfred() shifted(),滞后函数 diff()求差分 加减乘除 DataFrame.reindex() 通过data ...
- 18新生赛 4. Deal
题目描述:双十一过后,syx发现自己快要吃土了.但是机智的他决定理财.他预测了将来n天的比特币行情,发现有涨有跌,有跌有涨.手里的钱只要在比特币的浪潮中经历沉浮,低价收入,高价卖出,就可以轻易割到别人 ...
- 简单scrapy爬虫实例
简单scrapy爬虫实例 流程分析 抓取内容:网站课程 页面:https://edu.hellobi.com 数据:课程名.课程链接及学习人数 观察页面url变化规律以及页面源代码帮助我们获取所有数据 ...
- 莫凡_linux
1.安装软件 2.基本命令ls和cd cd 指令 第一个要知道的指令就是怎么样去到你想去的地方. cd (Change Directory) 就是干这个的. 找到 Linux 的 terminal 窗 ...