Python接口自动化测试之requests库入门
文章平均质量分 58
Anthony_tester
这个作者很懒,什么都没留下…
展开
-
requests库入门-1-安装requests库
最近项目很忙,活很多,也经常加班,八月份的博客文章更新比较少,其中有一个和测试任务并行的工作,编写接口自动化测试框架。我在实现了Python+requests+unittest+HTMLTestRunner这个接口自动化测试框架demo之前,做了一些接口测试方法和工具的调研,主要写了如何一步一步用Postman进行接口测试、常见接口测试工具的调研,例如JMeter,soupUI,loadrunne原创 2017-08-20 23:31:43 · 12342 阅读 · 1 评论 -
requests库入门-4-HTTP请求方法和用requests举例不带参数的请求
本篇我们来学习HTTP中常见的请求方法,一般我们都知道有GET和POST两种,其他的可能就记得不是很清楚。其实,和数据库操作一样,HTTP请求也有好几种,至少是有增删改查这四种方法。为了弄清楚这几种方法和方法的含义,我直接从别的网上截图贴到这里。 看完之后,很多人会说GET就是用来获取信息的,POST是用来发送数据到服务器,例如提交表单。而HEAD这个请求头部报头速度非常快,很多原创 2017-08-26 22:21:14 · 7231 阅读 · 2 评论 -
requests库入门-6-Params参数请求举例
前面一篇,我们介绍了三种带参数的请求类型划分。这篇,介绍通过github上的API,来举例一个params参数接口的演示。先找到如下图位置,地址是https://developer.github.com/v3/users/ 看到上面的红圈的参数"since",待会我们需要。阅读下这个接口的作用,大致是打印出今天所有登录github的用户的信息,有时候我们不想看所以,所以这个地原创 2017-08-28 11:36:13 · 16998 阅读 · 4 评论 -
requests库入门-3-urllib和requests小程序
在介绍使用requests之前,不得不介绍python种自带的urllib这个库,如果你安装的是python2.7.x,那么你可能发现了,还有一个urllib2。甚至,你可能还知道有一个urllib3.urllib是python最早就自带的,相当于原生的处理url相关的事件。后来由于需要,开发了urllib2,两种的关系是互相独立的模块,在实际使用过程,可能会两者结合使用。在python3中,可能原创 2017-08-23 22:59:09 · 5248 阅读 · 4 评论 -
requests库入门-8-POST方法举例
前面我们完成了在github上做GET和PATCH的实战练习。这篇,我们来学习一下,POST的请求练习。通过前面文章介绍,github中POST请求的参数也是json格式。具体来看下面的步骤。1.打开user/emails接口文档部分从这个接口文档来看,email,我们写到json中去。例如我们添加一个邮件,json=['testacb@test.com']2. 该POST方法原创 2017-08-28 16:46:13 · 4944 阅读 · 3 评论 -
requests库入门-5-带参数的请求类型
前面一篇,我们介绍了请求方法。举例了一个没有参数的请求,这篇,我们介绍带参数的请求。一般来说,接口都有参数的,参数有的是必须带的,有的参数是不必须。基本上,HTTP请求中,有三种参数类型。1. URL参数 注意,这种参数是最简单的。参数可以直接拼接在URL后面,问号(?)前面是接口的请求地址,后面是多个参数用连接符(&)连接。这个常见的例子就是淘宝,你可以打开淘宝,点击一原创 2017-08-27 00:02:13 · 9749 阅读 · 2 评论 -
requests库入门-7-json参数请求举例
本篇来举例一个json字符串作为一个参数传入接口的例子。通过github上API文档,github上大部分接口(除了GET方法之外)都是采用json作为参数传入的。所以,这个是学习重点,实际工作中,页是前面一篇的parmas参数和json参数两种传参用得比较多。不多说,开始我们的举例。1.之前前面获取自己用户账号信息的请求,我的账号得到信息如下上面可以看出,我的账号下name 和ema原创 2017-08-28 13:48:25 · 4253 阅读 · 14 评论 -
requests库入门-9-DELETE方法举例
前面一文介绍了POST方法举例,我们通过POST方法给自己账户添加了一个邮箱。常言道,有添加就有删除,所以这篇来介绍删除的请求。我们这里,把前面添加的QQ邮箱通过DELETE请求给删除,然后同界面来检查一下是否删除。1. 观察删除邮箱的接口文档2.Delete请求的具体实现import jsonimport requestsURL = 'https://api.github原创 2017-08-28 17:02:37 · 10604 阅读 · 0 评论 -
requests库入门-2-简单了解HTTP协议
前面一篇文章,我们介绍了Python3环境下如何安装requests。除了这个环境安装之外,我还建议你安装一个Python IDE环境,我这边用Pycharm这个工具,同样这个可以在Python3系列教程找到相关文章,教你如何下载和安装以及简单设置Pycharm环境。在使用requests之前,我们需要花一些时间去学习和了解HTTP协议,requests是处理HTTP相关的一个功能强大的类库。原创 2017-08-21 22:41:20 · 5274 阅读 · 0 评论 -
requests库入门-10-请求异常
本篇来介绍请求异常。requests库中有一个RequestException的父类,它下面有很多种不同的异常分类。为什么要考虑异常呢,因为很多开发都不考虑异常,特别是调用第三方API的时候,他们认为第三方服务是一直工作的。作为测试,更加需要考虑异常,测试接口,需要测试正常的工作,更新需要测试异常。找出在异常情况下接口或者程序的反应,这个才是测试工程师的最大价值。而不是永远考虑软件在做对的事情,而原创 2017-08-28 17:35:18 · 8954 阅读 · 0 评论 -
requests库入门-11-自定义请求
我们已经学会了通过requests.get()或者requests.post()实现发送请求。看起来很简单,是不是,也很好用。但是你知道requests底层是如何实现的吗。还有,我们有时候需要定义一些我们自己特定情况下的请求。为了解决这个问题,你需要遇到requests的文档中高级的部分。1.文档位置 浏览器打开http://cn.python-requests.org/zh_原创 2017-08-29 17:06:50 · 3044 阅读 · 0 评论 -
requests库入门-12-response对象的API
前面文章我们一直在介绍请求,各种请求方法的使用,作为请求回来的response对象,没有过多介绍。这篇就来介绍response的对象和常用的API。我们不管是接口测试还是爬虫,最关心的是请求回来的数据的提取。本文介绍的这些方法,能够让你完成这个数据解析和提取的目的。1. HTTP状态码 前面我们也输出过response.status_code,如果请求正常,返回的是一个200这原创 2017-08-29 21:32:07 · 4340 阅读 · 0 评论 -
requests库入门-13-如何下载一个图片资源
前面一篇文章介绍了response对象的一些常用API,也已经提到,我们的重点是对response对象的操作。主要的操作就是数据分析和提取,一般来说,数据有很多种,有字段,有图片,有视频,有音频,凡是html页面能支持的content-type都是数据。只是不同场景下,有不同目的。例如,加入你需要在一个图片网站,爬取一些你敢兴趣的图片。或者你需要在一些招聘网站爬取职位信息,或者,你需要从服务器端下原创 2017-08-30 10:42:04 · 7750 阅读 · 6 评论 -
requests库入门-14-HTTP基本认证
本篇介绍HTTP基本认证,在HTTP请求过程中,有些请求是对外开放的,任何人都可以请求得到数据,有些请求是需要授权才能得到响应的。授权其实就是一个检查用户名和密码的过程,这个在HTTP中有一种基本认证方式,就是需要客户端给服务器端发送用户名和密码,服务器拿到用户名和密码之后去校验,如果校验通过,就给我客户端发送响应内容。如果校验失败,就返回HTTP错误代码401,提示未授权或者授权验证失败。1原创 2017-08-30 14:11:13 · 3373 阅读 · 1 评论 -
requests库入门-15-OAUTH认证
前面一篇文章,我们知道了HTTP中的基本认证机制,我们知道基本认证还是不是很安全,这篇介绍另外一种认证机制,OAUTH认证,现在最新应该是2.0版本。那么什么是Oauth认证呢?其实,我们几乎每天都在使用这个认证登录不同app或者网站。例如,现在csdn网站支持QQ登录和微信登录,这个就使用到了OAUTH认证机制。因为,我们前面一直在拿githua网站举例,这里也不例外,下面这个例子,能够帮助你理原创 2017-08-30 15:13:08 · 3532 阅读 · 2 评论 -
requests库入门-16-Session和Cookie
我们可能听说了Session和Cookies,面试中可能也会被问到这个两者之间的区别。本篇主要通过画图来理解两个机制,然后通过回到两个机制的不同来结束整个Requests的学习。1.为什么需要Session和Cookie 我们知道HTTP是一种无状态的响应。上一个请求和下一个请求没有任何关系。但是现实过程中,需要这些请求之间有关系。例如,你在首页登录,但是进入到列表页就显示没有原创 2017-08-31 14:22:27 · 4497 阅读 · 7 评论