HttpRunner框架(一)】的更多相关文章

HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 中文使用文档地址:https://testerhome.com/opensource_projects/httprunner     https://cn.httprunner.org/ 核心特性 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求 采用 YAML/JSON 的形式描述测试场景…
前言 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试. 官方文档:https://docs.httprunner.org/ 具有以下优点: 1.继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求 2.采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性 3.借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑 4.支持完善的测试用…
前言 一般公司对外的接口都会用到sign签名,对不同的客户提供不同的apikey ,这样可以提高接口请求的安全性,避免被人抓包后乱请求. sign签名是一种很常见的方式 关于sign签名的可以参考前面一篇的介绍https://www.cnblogs.com/yoyoketang/p/11742187.html 接口sign签名 一登陆的接口请求为例,如下接口抓包报文信息,其中sign的签名规则如下 第一步,拼接字符串,首先去除sign参数本身,然后去除值是空的参数p3,剩下p2=v2&p1=v1…
前言 在实际工作中,我们有时候会需要对测试用例加判断,比如某个接口功能暂时去掉了,我们希望对这个用例skip不去执行. 当其它的接口依赖于登陆接口返回的token时候,如果登陆都失败了,后面的接口,我们希望也不用执行了.httprunner 中可以用 skip 和 skipIf 去实现此功能. unittest提供了一些跳过指定用例的方法 @unittest.skip(reason):强制跳转.reason是跳转原因 @unittest.skipIf(condition, reason):con…
前言 一个完整的接口自动化测试项目到底该如何设计?httprunner框架的知识点其实并不多,前面基本上把一些重要的概念都介绍完了. 本篇就是一个总结性的,可以用于实际工作中设计一个接口自动化测试项目. 项目文件结构 在 HttpRunner 自动化测试项目中,主要存在如下几类文件: YAML/JSON(必须):测试用例文件,一个文件对应一条测试用例 debugtalk.py(可选):脚本函数,存储项目中逻辑运算函数 该文件存在时,将作为项目根目录定位标记,其所在目录即被视为项目工程的根目录(当…
一.背景 前段时间接触到HttpRunner自动化测试框架,发现对测试人员代码能力要求极低,用户只需准备好用例脚本即可发起测试,非常方便,故记录一下. 二.安装 运行环境 HttpRunner框架基于Python开发语言,可以运行在macOS.Linux.Windows系统平台. 本文实例均运行于Windows操作系统. 安装方式 pip install httprunner 安装校验 运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功. hrun -V 三.原理 基本概念…
之前我们了解了config里的各项参数,今天来了解另一个重要部分--teststeps,在这之前,先看看测试用例的分层模型. 一.测试用例分层模型 一个testcase里(就是一个pytest格式的Python文件)可以有一个或者多个测试步骤,就是teststeps[]列表里的Step. 我的理解每一个Step就可以类比成pytest框架下的def test_xxx()的用例函数,在Step里通常都会要请求API完成测试,也可以调用其他测试用例来完成更多的需求. 可以来看下官方的测试用例逻辑图(…
一.官方首推pytest格式 上篇文章我们知道了,httprunner可以支持三种格式的用例,分别是pytest.yaml和json.yaml和json是以前的版本所使用的用例格式,但是在3.x版本上,官方强烈建议使用的是pytest格式的用例. 上图是来自官方的用例格式关系图,可以看出来,httprunner再对于第三方导出的har文件进行了转换处理,有的人喜欢转换成json,有的人喜欢转换成yaml.但是最终,还是通过解析json格式的文件,生成pytest的python文件. 既然最后都是…
前言 写用例之前,我们应该熟悉API的详细信息.建议使用抓包工具Charles或AnyProxy进行抓包. har2case 我们先来了解一下另一个项目har2case 他的工作原理就是将当前主流的抓包工具和浏览器都支持将抓取得到的数据包导出为标准通用的 HAR 格式(HTTP Archive),然后 HttpRunner 将 HAR 格式的数据包转换为YAML/JSON格式的测试用例文件. 这里使用charles抓取百度首页进行演示 选中百度请求,右键点击Export Session,导出到/…
一.httprunner的简介 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 项目地址:https://github.com/HttpRunner/HttpRunner 中文手册:http://cn.httprunner.org 核心特性 • 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求 • 测试用例与代码分离,采用 YAML/JS…
背景与需求 最近学习并安装使用了HttpRunner框架去尝试做接口测试,并有后续在公司推广的打算. HttpRunner由Python开发,调用接口时需要依赖Python:而大多数公司的扩展工具包使用Java编写,测试同学使用Python重新实现不显示. 目前网上的资料均停留在对单个JAR包的引用于使用上,对于使用多个有依赖关系的JAR包的方法并未提及. JPype介绍 1. JPype是什么: JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 pytho…
Python 的 JPype 模块调用 Jar 包 背景与需求 最近学习并安装使用了HttpRunner框架去尝试做接口测试,并有后续在公司推广的打算. HttpRunner由Python开发,调用接口时需要依赖Python:而大多数公司的扩展工具包使用Java编写,测试同学使用Python重新实现不显示. 目前网上的资料均停留在对单个JAR包的引用于使用上,对于使用多个有依赖关系的JAR包的方法并未提及. JPype介绍 1. JPype是什么: JPype是一个能够让 python 代码方便…
2020年第二期<python接口自动化+python测试开发>课程,12月15号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:12月15号-3月29号,每周六.周日晚上20:30-22:30 报名费:报名费3000一人(周期3个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.fiddler抓包与接口测试(测试基础必备) 2.python+pytest框架实现接口自动化测试(pytest框架甩unittest几条街) 3.httpr…
2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20:30-22:30 报名费:报名费2000一人(周期2个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.httprunner框架以及web平台做接口自动化测试 (装逼必备) 2.django平台开发 (python开发必会) 3.pytest框架结合selenium做web自动化测试 (…
一.前言 接触httprunner框架有一段时间了,也一直探索如何更好的落地到项目上,本篇主要讲述如何应用到实际的项目中,达到提升测试效率的目的. 1.项目难题 这个月开始忙起来了,接了个大项目,苦不堪言,以下3个问题应该大部分测试人员都能感同身受,并且也是经常会遇到的问题 测试时间被压缩 测试资源被砍 业务流程长 2.解决方案 针对前面2点,除了猛加班,还能有更好的解决方案吗?只要你够肝就能完美应对前面2点问题 针对第3点,只能英勇献身,主动写脚本帮助团队造数据,以前是用jmeter做接口自动…
简介 2018年python开发者大会上,了解到HttpRuuner开源自动化测试框架,采用YAML/JSON格式管理用例,能录制和转换生成用例功能,充分做到用例与测试代码分离,相比excel维护测试场景数据更加简洁.在此,利用业余时间研究这个框架去实现接口自动化测试. HttpRunner 是一款面向 HTTP(S) 协议的通用开源测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 主流接口自动化工具框架: 从上图可知,技术选…
接口自动化测试框架 https://github.com/HttpRunner/HttpRunner http://debugtalk.com/post/ApiTestEngine-api-test-best-practice/…
一.简单介绍 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 支持python2和python3 二.框架特点 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求 采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑 支持完善的测试…
自己曾经写过一个接口自动化的框架,并做了一版本的优化,一直觉得做的还不错,且没依赖现有的框架. 最近因为一些工作的原因,开始又思考之前写的框架的一些缺点及如何优化,所以找到比较有名的httprunner源码来比较和学习下 1.httprunner 提供了比较便利的脚手架代码及命令行运行方式 cli.py脚本里: parser = argparse.ArgumentParser(description=__description__)parser.add_argument 提供比较多的命令参数,去…
使用HttpRunner默认生成的项目是这样的 命令:httprunner --startproject  项目名称 so,根据这个项目的目录结构,使用python解析swagger接口参数,可以快速生成api.testcases.testsuites文件夹中用到的json文件 运行后的目录是这样的 api目录 按swagger中的tags区分为多个文件夹,每个文件夹下包含各自的api文件 testcases目录 按swagger中的tags区分为不同的json文件,每个文件包含所有的api接口…
简介: HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. HttpRunner是一个基于Python开发的测试框架,可以运行在Mac.Linux.Windows系统平台上, [第一步]:安装 Python 版本:HttpRunner 支持 Python 3.4 及以上的所有版本,并使用 Travis-CI 进行了持续集成测试,测试覆盖的版本包括 2.7/3.4/3.5…
项目地址: https://github.com/HttpRunner/HttpRunner 中文手册: http://cn.httprunner.org/ 首先是环境搭建: pip install httprunner 或者 pip3 install httprunner 安装完成后cmd执行以下命令,有返回则成功:  hrun -V >>>0.9.7 har2case -V >>>0.1.4 测试准备 抓包分析 在开始测试之前,我们需要先了解接口的请求和响应细节,而…
框架的最终归宿往往是领域语言+模板解析. 首先先约定一种所要执行操作的表述格式.然后通过模板解析将描述语言转化为代码进行执行.例如,我们可以使用以下yaml文件描述多个步骤并且需要关联的接口: apis.yaml: - name: 获取百度token接口 # 接口名称 request: # 请求报文 url: https://aip.baidubce.com/oauth/2.0/token method: get params: grant_type: client_credentials cl…
httprunner其中一个比较好的点就是利用type动态创建类,使用setattr动态增加方法和属性. 将维护的用例进行转变为继承unittest.Textcase的类,很好的与unittest结合起来 以下为简单的例子 正常的写法: import unittest class TestMyFunc(unittest.TestCase): def test_is_prime(self): print('is_prime') def test_add(self): print('add') de…
一.简介 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 核心特性: 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求 测试用例与代码分离,采用YAML/JSON的形式描述测试场景,保障测试用例具备可维护性 测试用例支持分层机制,充分实现测试用例的复用 测试用例支持参数化和数据驱动机制 使用 skip 机制实现对测试用例的分组执行控制 支持热…
HttpRunner 概念 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 相关操作 参数提取(extract)和参数引用($var) # 第一个接口/api/get-token的响应结果为: {"success": true, "token":"ZQkYhbaQ6q8UFFNE"} # 提取 token,采用 co…
运行环境 HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS.Linux.Windows 系统平台上. HttpRunner 的开发环境为 macOS + Python 3.6:实际上,HttpRunner 支持 Python 2.7 和 Python 3.3 以上的所有版本,并使用 Travis-CI 进行了持续集成测试,测试覆盖的版本包括 2.7/3.4/3.5/3.6. 推荐使用 macOS/Linux + Python 3.6 的运行环境组合. 小七这…
近几日一直在研究如何把接口自动化做的顺畅,目前用的是轻量级jmeter+ant+Jenkins自动化测试框架,目前测试界的主流是python语言,所以一直想用搭建一个基于python的HttpRunnerManager.公司项目也比较多,在上班的过程中偶尔研究了一下,于是就利用周末,在家操作了一发.在搭建的过程中遇到几个困难,但是在和各位网友的交流中,逐步找到问题,然后解决问题.感谢测试大神尹全旺给的指导,在他的基础上实现了搭建.参考他的博客地址为:https://testerhome.com/…
一天,你的领导X要你对某接口做测试,你一听,接口测试,高大上.用什么做好呢?postman?jmeter?loadrunner?balabala...优秀的你,想到了一大堆工具,当然也包括用python写.为了凸显B格,你选择了python.新建一个a.py文件,然后一顿猛如虎的撸代码: import requests url = “******” params = "******" re = reqeste.get(url, params) ... 你家领导,一看,还行,提醒你少了断…
前面说到了httprunner的安装与简单使用,参见: https://www.cnblogs.com/chengtch/p/8735160.html 这里我们介绍一下通过调试源码的方式来做接口测试: 1.获取源码 github下载或pycharm的git checkout功能去获取,这里直接下载 通过ide打开解压后的源码包 源码包含三层目录结构:docs帮助文档.httprunner核心库.tests自测文件 2.源码结构扩展 项目根目录下新建几个目录,分别是common.config.pr…