使用robotframework做接口测试之一——准备工作

最近发现做接口测试的朋友越来越多了,打算写一个系列的rf+requests做接口测试(主要是Http接口)的文档,可以帮助新入门的同学对接口测试有个大概的了解,同时也是敦促自己做总结的一种手段。希望经验丰富的大神路过时,如发现我文档中的不足,提出中肯的批评及更好的解决思路。以期共同进步。
 
一、环境准备

1)默认已经安装robotframework
2)默认已经安装requests库
3)默认已经安装并成功导入RequestsLibrary
4)会用抓包工具,fiddler或Charles都可

用这个库做接口测试,希望用户本身对这个库有一定的了解,如果不了解,那么我们来叨一叨选择的理由。
1)Python的requests库号称是“HTTP for Humans”,它提供了非常方便且人性化的接口调用方法,上手快,功能强大且完美,甩同类库urllib2, httplib好几条街。国外网友的使用心得大多是,呵呵呵呵,用requests库十几行代码,把以前的几百行代码重构了。缺点是封装了太多层,不利于http底层原理的理解。中文版用户指南:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 
2)RequestsLibrary是基于requests模块做的RF库,其根基本身就强大,再加上git上有一些大神一直在对其进行持续地更新及维护,提供了很不错的官方Demo,从使用人数来说,也是完爆那些HTTPLibrary之流,意味着遇到问题得到解答的机会更大。Git地址:https://github.com/bulkan/robotframework-requests/
 
二、Http接口测试初窥
这一节要写一个get请求的例子,强烈推荐使用官方Demo入门,并且建议新老用户都熟悉Demo的每一个细节,对,是每一个细节。笔者当初多走了许多弯路,对这个细致的Demo相见恨晚,每次都温习demo而后知耻。。
第一个栗子:假如有个这样的get请求:https://api.github.com/users/bulkan,抓包

可以看出,这个接口请求中:
协议:  https
访问的host: api.github.com
root url(基础url): https://api.github.com
相对uri: /users/bulkan
method: get
传输参数: 无
该抓包其对应的测试用例如下:

对应到用例,第一步创建一个到https://api.github.com的session,取个很容易认的别名github,第二步,使用get方法,访问别名为github的相对路径/users/bulkan。第3,4步断言返回数据。
对于前面两步,直接使用requests.get方法可以一步完成,为什么要强制拆成两步呢。可以大概揣测一下作者的意图:
1、使用别名,会使后面的请求写起来更顺手,用例也比较好看,大部分时候访问同一地址的请求,不需要重复创建session  
2、session的使用,可以实现跨请求保持一些cookie,这个功能才是session的重头戏。

Get request的好基友是post request,也是非常基础的必须掌握的一种请求方式,这个我就不写了。官方Demo几乎列出了所有可能出现的get 及post请求的例子,非常经典,实际项目中都能从里面找到原型。另外还有一些不常见的请求方式如head, put, delete等,也有例子。

三、如何开始你的接口测试第一步
首先,你得有项目组完善且规范的接口文档。好吧,大部分的中小公司的宝宝会说啥文档也没有。也可以通过抓包来开始做项目的接口demo,在无须外力的因素下迈出第一步,但是单凭抓包是抓不全的,所以最终实施前还是得搞来一份完整的接口文档,才能保证用例的覆盖。
单有接口文档也是不够的,还要学会如何抓包,抓包后知道如何解剖一个请求,重点关注请求的method, url, request header, request body, cookie, response header, response body等,还是那句话,办法永远比问题多,培养好的观察能力和解决问题能力无比重要。

原文地址:https://www.cnblogs.com/changyou615/p/8776517.html

时间: 2024-11-02 15:14:26

使用robotframework做接口测试之一——准备工作的相关文章

极光小课堂|手把手教你做接口测试

接口测试是项目测试过程中非常重要的一环,测试的对象是接口,所以提早介入测试,对代码逻辑进行全面验证,就会更早的发现程序的问题.同时,接口测试比UI测试效率更高,并且更容易验证极端和异常的情况. 那么什么是接口测试,以及如何在实际环境中进行接口测试呢?本文手把手教会你接口测试的逻辑和方法. 1.接口测试概念 1.1接口的定义 应用程序编程接口(API Application Programming Interface)是在不同进程,程序或系统之间的通信的代码.API通常基于客户机/服务器模型.有交

JMeter学习笔记15-如何用JMeter做接口测试

本文介绍JMeter如何做web service测试,一般来说web服务,一般指的是HTTP请求相关的内容.这里就介绍一下如何利用JMeter做基于HTTP的web接口测试.接口也叫API(Application Programming Interface),很多我们使用的各种APP,上面的内容显示大部分都调用后台web服务器的接口,有些是网站的接口,有些是solr的接口. 什么是接口? 我们这里举例一个生活中场景来帮助你理解接口.加入你去餐馆点餐,看了菜单,告诉服务员,你要一个宫爆鸡丁,过一会

深入思考:根据团队的计划,自己的角色,需要做的技术准备工作

团队计划两个月内完成这款APP的开发,我本人在项目中担任最后完成APP的整合.完善和测试工作,相对于现在的水平,还需要掌握的知识量非常大. 如何在接下来的时间完成好安卓开发的学习,我做了深入的思考.首先,不断提高Java的编程水平,观看安卓APP开发教程视频,不断提高实践水平,以便 在接下来的开发整合工作游刃有余. 需要做的技术准备工作: 1.前期需求规划与信息.交互设计——制定出一个完整的需求文档,功能文档,流程图,时序图. 2.交互设计.UI设计——设计出基本且完善的原型图和app基础的交互

接口测试和运用jmeter做接口测试

1.接口测试简介 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等.不同语言之间用json进行交互 测试接口返回的是jeson串,例如: { "name":'wjx' "age":1 }  字符两边用双引号进行连接,中间用冒号进行隔开 接口文档的作用,主要概述:1.功能描述   2.请求地址:url地址,分为域名和路径   3

phoenixframe自动化平台使用多批次数据做接口测试的方法

package org.phoenix.cases.webservice; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; import java.util.Map.Entry; import org.phoenix.action.WebElementActionPro

什么是接口测试?为什么要做接口测试?

1. 什么是接口测试?为什么要做接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等. 由于如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试.同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求.接口持续集成是为什么能低

接口测试-为什么做接口测试

今天开始分享一下接口测试的相关技能,首先对接口这个概念进行一下梳理,英文简称API(Application Programming Interface,应用程序编程接口) 什么是接口? 说起接口在不同领域有不同的解释,在计算机编程中接口也分为很多,这里我们定义的接口是指应用程序编程接口,也就是所说的API,偏官方的解释为一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节.而对于测试人员来说就是已开发的功能通过非GUI

Jsoup做接口测试

最早用Jsoup是有一个小的爬虫应用要写,发现Jsoup较HttpClient轻便多了,API也方便易懂,上手很快,对于response的 Document解析的选择器用的是cssSelector(Jquery)选择器,觉得还不错,后来因为其它原因,没有深入的研究,最近看到一位大神用 这个,我也就再学习了一下,顺便把这个用Jsoup做接口测试的相关知识点发出来给大家参考下! 一. 接口测试的相关知识点准备: 1.firefox, firebug安装 2.如何查看请求方式及链接,如下图 我们可以看

为什么要做接口测试?

一.多想想为什么吧 平时工作中,你是不是经常遇到这种情况呢?领导说,xxx,你准备做下接口测试吧,接口测试报告记得给我一份.很多人听到之后,就屁颠屁颠去做接口测试.有时我会想,他们真的知道:为什么要做接口测试么?坦白说,其实一开始我也不清楚为什么要做接口测试... 二.什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是检查数据的交换,传递以及系统间的相互依赖关系等. 一般来说,测试接口是指测试接口的功能.性能