接口自动化测试之httprunner初探】的更多相关文章

❝ 今天来介绍一个python的一个开源项目:httprunner,接口自动化工具.第一次输入,难免有不周到的地方,轻喷~ ❞ 介绍: HttpRunner是一个简单优雅但功能强大的 HTTP(S) 测试框架.以YAML或JSON格式定义测试用例,保障测试用例描述的统一性和可维护性.程序执行的时候,会处理用户输入的yml/json文件并基于模板生成测试文件.最终通过pytest.main([])的方式去执行生成的用例文件.用户只需要通过json/yml文件去维护用例即可,不需要关心程序如何处理j…
运行环境 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 的运行环境组合. 小七这…
自己曾经写过一个接口自动化的框架,并做了一版本的优化,一直觉得做的还不错,且没依赖现有的框架. 最近因为一些工作的原因,开始又思考之前写的框架的一些缺点及如何优化,所以找到比较有名的httprunner源码来比较和学习下 1.httprunner 提供了比较便利的脚手架代码及命令行运行方式 cli.py脚本里: parser = argparse.ArgumentParser(description=__description__)parser.add_argument 提供比较多的命令参数,去…
postman 是一款强大网页调试工具的客户端,postman为用户提供强大的 Web API & HTTP 请求调试功能.postman能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers,是一款非常实用的调试工具.需要的朋友快来下载吧. 相似软件 版本说明 软件地址 postman软件特色 支持各种的请求类型: get.post.put.patch.delete 等 支持在线存储数据,通过账号就可以进行迁移数据 很方便的支持…
由于web接口自动化测试需要用到python的第三方库--requests库,运用requests库可以模拟发送http请求,再结合unittest测试框架,就能完成web接口自动化测试. 所以笔者今天先来总结一下requests库的用法.希望对大家(尤其是新手)有帮助哦!大家可要仔细阅读,加油! // // 目录隐藏目录显示目录 1.GET请求   1.1查看get函数的使用   1.2 requests的get函数的入参说明   1.3 requests函数的返回值(http响应)   1.…
一.痛点:一条测试数据对应一个测试方法 前面的章节中我们已经写代码实现了登录接口的处理调用,但是一个接口往往是需要多条测试用例才能完整的覆盖到每一种情况. 针对于单接口多条测试用例需要执行的情况,该如何处理呢? 可能很多人最先想到的就是:一条测试数据对应一个测试方法? 下面有一个注册接口,我们基于此思路来编码实现接口的完整测试. 1) 接口业务:会员注册 2) 接口地址:http://119.23.241.154:8080/futureloan/mvc/api/member/register 3…
一.概念 Postman的Tests本质上是JavaScript代码,通过我们编写测试代码,每一个Tests返回True,或是False,以判断接口返回的正确性. 其实,每一个Tests实际上就是一个检查点. 二.使用场景 需要检查请求结果或http状态码的正确性. case较多. case需要重复执行,比如每次版本迭代时的例行回归. 对结果的检查比较复杂,比如要求结果要返回10条内容,难道你每次都要数一下嘛? 如果你在做接口测试时出现以上任一场景,势必会耗费很多重复且无脑的人力成本.这个时候,…
pom.xml新增dependency <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId&…
pom.xml导入包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/PO…
一.接口测试的基本思路 1.确定要测试接口的请求类型.接口是get请求还是post请求. 2.确定接口的参数.需要传输的参数有哪些,类型分别是什么,都有哪些要求等. 3.按照参数要求构造请求需要的参数,构造其他的请求信息,模拟发出请求. 4.对http请求返回的响应体进行解析,对解析中的部分或全部字段和预期结果进行对比. 除此之外,要模拟发送请求还有一些额外的操作,如登录要操作的系统.获取对应的权限等. 二.请求参数数据的构造 1.GET请求 直接拼写 只有一个参数,则直接拼写在域名后边:Str…
我们自己用java写接口自动化测试框架或者做个接口自动化测试平台的话,是需要自己进行相关的请求的,因此我们需要简单的封装下httpclient,我新建了一个http工具类,将get方法和post方法进行了一个简单的封装. 如果是开发的话,比如APP开发,无论是iOS还是Android,是需要将数据请求进行十分严密的封装的,因为需要对各种网络状态,请求状态做相应的判断处理,因为需要通过这些判断来做出相应的UI交互界面来给用户提示,那么我们做接口测试的话是不需要这么严密的,因为测试的前提就是要保证测…
前言 说到python发送HTTP请求进行接口自动化测试,脑子里第一个闪过的可能就是requests库了,当然python有很多模块可以发送HTTP请求,包括原生的模块http.client,urllib2等,但由于原生的模块过于复杂,使用繁琐,那么requests库就诞生了,它也是现阶段比较流行的接口自动化测试工具之一 requests是个第三方库,封装了HTTP请求的所有方法,使用方便简单,只需要根据不同的请求方式调用相对应的方法就可以完成发送网络请求的整个过程,那么今天我们就来说说requ…
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…
1.首先在excel中填写好预期结果的值 这里判断接口成功的依据是预期结果值是否存在于接口的返回数据中. 一般接口的返回值都是json对象,我们需要将json对象转换为json格式的字符串 如下图,进行转换 我们从excel文件解析出来的预期结果也是str类型,这样就可以将两者进行对比,判断excel中的预期结果是否存在于接口的返回数据中 2.使用if进行判断,一个简单的demo # coding:utf-8 import requests, json url = 'http://192.168…
一.requests背景 Requests 继承了urllib2的所有特性.Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码. 二.requests安装 利用pip安装:$ pip install requests 三.requests使用 GET请求 1.基本的GET的请求 response = requests.get("http://www.baidu.com/"…
实战教程篇 前言 这边就不教大家怎么用 pytest 写项目了哦,下面有系列文章能帮助你快速入门 Pytest + Allure 这一篇教程主要是教如何从 0 到 1 搭建自动化测试的持续集成环境 后续会补充持续集成相关理论知识 四步走 使用 Jenkins 镜像创建容器,并搭建 Python + Pytest +Allure 的自动化测试环境 https://www.cnblogs.com/poloyy/p/13954637.html 在 Jenkins 容器上的搭建持续集成环境和完成自动化测…
pom.xml  文件中dependency <dependencies> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.14.3</version> </dependency> <dependency> <groupId>com.relevantco…
在maven项目的pom.xml文件中导入TestNG <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma…
这里使用Idea创建Maven项目, 过程非常简单, 装好JDK和Idea 1. 安装完后,打开Idea, 选择File→New→Project, 如图 2. 选择maven, 点击Next, 如图 3. 填写域名, 项目名, 版本号, 点击Next, 如图 4. 选择项目路径, 点击Finish, 如图 5. 完成…
最近几天苦心钻研unittest,终于略有所得,所以想来跟大家分享一下.有关python和unittest的基础知识部分就不在一一细说,相信各位也不是小白了.如果需要我整理基础知识,欢迎留言,我会看情况整理出来.下面直接贴上我的demo模板代码,注释部分主要是思路,有疏漏的地方欢迎大佬们指正. #!/usr/bin/python3 # -*- coding: utf-8 -*- # @Time :2018/12/7 11:03 # @Author :Yosef-夜雨声烦 # @Email :wu…
协议 简单理解,计算机与计算机之间的通讯语言就叫做协议,不同的计算机之间只有使用相同的协议才能通信.所以网络协议就是为计算机网络中进行数据交换而建立的规则,标准或约定的集合. OSI模型 1978年国际化标准组织提出了“开放系统互联网参考模型”,即著名的OSI模型.它将计算机网络体系结构的通信协议划分为7层,自上而下分别是:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层.(7层网络默认具体是什么自行百度) 那么们的今天的主题HTTP协议就在应用层,也是应用层使用最多的协议 HTTP…
1.http(超文本传输)协议:是一个基于请求与响应模式的.无状态的(不会记住每个请求的状态).应用层协议 2.url详解 https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=baidu&wd=http%E5%8D%8F%E8%AE%AE%E9%9D%A2%E8%AF%95%E9%A2%98%E5%9B%9E%E7%AD%94&oq=docker&rsv_pq=e37e8cd70026…
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期待的方向,有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下: 更多书籍,敬请期待 很多人说要学自动化,很多人学了 很多年的自动化,很多人自夸精通自动化,也很多人跟我说他会xxxx接口测试框架开发,然后我问了一句:给我介绍下http协议.然后,就没有然后了,小怪没那么牛,但是接口自动化测试,想…
POPTEST培训:web自动化测试之DOM   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478. 培训其实是一个很难的事情,为了让学员在很短的学习周期中尽快掌握并能在工作中应用起来,讲师一定要设计好课程内容,才能达到预期效果. DOM -----Document Object Model 文档对象模型(DOM)是一个能够让程序和脚本动态访问和更新文档内容.结构和样式的语言…
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…
1.创建django项目 a.使用命令创建,安装完django之后就有django-admin命令了,执行命令创建即可,命令如下: django-admin startproject my_django#最后面的是项目名称,可以随便起 b.使用pycharm创建,打开pycharm之后,选择新建项目,然后选择django项目,在路径写上项目名称,再填一个应用的名称创建就可以了,实质上用pycharm创建的项目它也是在调用django-admin命令 点击create新建,pycharm会自动生成…
接口自动化集成 一.jmeter基础学习 1.博客  :http://www.cnblogs.com/fnng/category/345478.html 2.博客   http://www.cnblogs.com/puresoul/category/736960.html 3.jmeter基础使用:http://www.51testing.com/zhuanti/jmeter.html 二.搭建jmeter+ant+jenkins环境中,build配置 jmeter是性能测试工具,但是jmete…
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyrunner.Athrun.appium,目前仍在了解学习android测试框架.CTS等.本文主要为前段时间学习总结,由于刚接触不久,故本文难免会有些肤浅,大神请绕走~ [目录] 1.Monkeyrunner简介 2.Monkeyrunner工具特性 3.Monkeyrunner工具同Monkey工…
好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态”列: 执行通过的话,如果返回的json有message写入“response”列,如果执行失败,则会将返回的json也写入其中 前期准备: 在excel中依次填上接口.请求类型.需要传的数据.期望返回的状态码以及该接口的说明 代码如下,写的很简陋,甚至都没定义方法什么的,姑且称之为V0.1   后面…
简介 Postman 使一款可以方便我们调用API的工具,通过Postman 与 Newman结合我们还可以批量运行API达到API自动化测试的目的. Postman 安装 Window 系统需要先安装Chrome浏览器,然后在应用商店找到Postman插件,直接点击安装便可:https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=cn 测试GET类型API以豆瓣搜索图书API为例…