python接口自动化测试代码_python接口自动化测试二:python代码实现接口测试
url = ‘接口地址‘
r = requests.get(url) #发送get请求
print(r.status_code) #打印状态码,若有重定向,返回的是重定向之后的代码
print(r.headers) #打印返回的报头(头部)
print(r.text) #查看返回结果的文本形式
r.status_code #响应状态码
r.content #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
r.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
r.json() #Requests中内置的JSON解码器 ,json转成python的字典了
r.url # 如果没有重定向,就是请求的url,如果有重定向,就是重定向后的url
r.encoding # 查看返回的编码格式
r.cookies # 获取cookie
r.raw #返回原始响应体
r.history #追踪重定向过程(list类型)
r.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
r.content.decode(‘utf-8‘) # 返回内容有乱码时,用此方法打印
r.raise_for_status() #失败请求(非200响应)抛出异常
loginCookies = r.cookies: # 获取登录的cookies
cookies=loginCookies: # 把获取到的cookies传入请求
s = requests.session() # 可以理解为代码的微型浏览器,这样做的好处就是可以保存cookies,不用每次都去获取(只适用于网站是cookies这种,网站是token的没用)
print(r.encoding) # 查看返回的编码格式
r.json # 获取返回的json
verify=False # 访问https请求时加上后不验证证书
# open打开excel文件,保存为后缀为xls的文件
fp = open(‘yoyo.xls‘, ‘wb‘) # w:写入, b:二进制的形式
去掉Warning警告:
import urllib3
urllib3.disable_warnings()
一、HTTP:
get请求:
1、get请求(无参数):
2、get请求(带参数):
接口地址:http://japi.juhe.cn/qqevaluate/qq
返回格式:json
请求方式:get post
请求示例:http://japi.juhe.cn/qqevaluate/qq?key=您申请的appKey&qq=295424589
接口备注:根据传入的参数 qq 号码和您申请的 appKey 测试 qq 的吉凶
请求参数说明(入参) :
名称 必填 类型 说明
key 是 string 您申请的 appKey:8dbee1fcd8627fb6699bce7b986adc45
qq 是 string 需要测试的 QQ 号码:907728701
2.1、以url的方式传参:
url = ‘http://japi.juhe.cn/qqevaluate/qq?key= 8dbee1fcd8627fb6699bce7b986adc45&qq=907728701‘
2.2、以字典的形式传参:
url = ‘http://japi.juhe.cn/qqevaluate/qq‘
par = {
‘key‘:‘ 8dbee1fcd8627fb6699bce7b986adc45‘,
‘qq‘:‘907728701‘
}
r = requests.get(url,params=par) #发送get请求
Post请求:
1、 post请求(无参数):
url = ‘http://japi.juhe.cn/qqevaluate/qq‘
r = requests.post(url) #发送post请求
print(r.status_code) #打印状态码
print(r.headers) #打印返回的报头(头部)
print(r.text) #查看返回结果的文本形式(body部分)
2、 post请求(有参数):
2.1、以url的方式传参:
url = ‘http://japi.juhe.cn/qqevaluate/qq?key= 8dbee1fcd8627fb6699bce7b986adc45&qq=907728701‘
r = requests.post(url) #发送post请求
2.2、以字典的形式传参:
url = ‘http://japi.juhe.cn/qqevaluate/qq‘
par = {
‘key‘:‘8dbee1fcd8627fb6699bce7b986adc45‘,
‘qq‘:‘907728701‘
}
r = requests.post(url,params=par) #发送get请求
二、HTTPS:
1、get:
url = ‘https://www.juhe.cn/docs/api/id/39‘
r = requests.get(url) #发送get请求
print(r.status_code) #打印状态码
print(r.headers) #打印返回的报头(头部)
print(r.text) #查看返回结果的文本形式(body部分)
SSLError:证书问题:
方法1.检查faddler是否关闭,关闭后,访问成功:
方法2.请求参数后加上:verify=False
verify默认为True,此时会验证证书,改为False将不会验证证书
有Body部分:
Content-Type: application/x-www-form-urlencoded; charset=UTF-8:传data
Content-Type: application/json:传json
把返回的内容解析为json格式:
前提:一定内容为json格式
若乱码::
以content字节流输出,解码成utf-8:
print(r.encoding) # 查看返回的编码格式:
去掉Warning警告:
import urllib3
urllib3.disable_warnings()
错误处理:
403:拒绝或者禁止访问:须伪装头部(头部详情根据接口文档)
1、服务器识别出为代码访问:
1.1.代码访问的头部:User-Agent为python
1.2.浏览器访问的头部:User-Agent为浏览器
1.3.在头部加上User-Agent:
2、伪装头部后仍然403:服务器校验Cookic (Cookic有时效性)
2.1.代码访问时没有加Cookic
2.2.浏览器访问时有Cookic
2.3.在头部加上Cookic访问成功
原文:https://www.cnblogs.com/zhongyehai/p/9159282.html
python接口自动化测试代码_python接口自动化测试二:python代码实现接口测试相关推荐
- python自动化测试断言_python接口自动化(二十五)--unittest断言——下(详解)...
本文转载自: https://www.cnblogs.com/du-hong/p/10766314.html 简介 本篇还是回归到我们最初始的话题,想必大家都忘记了,没关系看这里:传送门 没错最初的 ...
- python mock接口怎么用_python接口自动化测试 - mock模块基本使用介绍
mock简介 py3已将mock集成到unittest库中 为的就是更好的进行单元测试 简单理解,模拟接口返回参数 通俗易懂,直接修改接口返回参数的值 mock作用 解决依赖问题,达到解耦作用 当我们 ...
- python接口自动化 一个变量 其他接口要用_python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)...
简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试. 什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统 ...
- python调用第三方接口获取数据_python 接口实现 供第三方调用的例子
python 接口实现 供第三方调用的例子 实验环境 1.环境问题 python 2.7 以上自带的pyunit bottle 作为一个python的简易服务器 在python安装目录 打开命令窗口( ...
- python ui自动化测试仪器_python UI自动化测试
为了减小维护成本: 1.UI自动化测试需要有较为稳定的环境 2.代码设计合理,那么我们就需要面向对象的设计一个框架,将重复的代码模块化 一.首先总结一下 UI自动化大概要哪些模块 1.config(配 ...
- python绕过验证码登录_python接口自动化(十三)--cookie绕过验证码登录(详解)...
简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的 ...
- python网站设计中接口的作用_python接口自动化(三)--如何设计接口测试用例(详解)...
简介 上篇我们已经介绍了什么是接口测试和接口测试的意义.在开始接口测试之前,我们来想一下,如何进行接口测试的准备工作.或者说,接口测试的流程是什么?有些人就很好奇,接口测试要流程干嘛?不就是拿着接口文 ...
- python生成二维码代码_python 一行代码生成 二维码
效果图如上:动态二维码,彩色二维码,黑白二维码: 看到别人做的炫酷二维码,瞬间心动,想动手做个 自己的炫酷二维码. github上有大神 做的框架,直接拿来用,安装工具 myqr: pip insta ...
- python怎么清除代码_python的shell中的代码怎么清理?
python shell是Python的命令行. 交互模式下使用Python很方便,如果想清除显示过的信息,有两种方法可以采用. 方法一.针对Python命令行(python shell) 直接使用下 ...
- python爬取小说代码_Python scrapy爬取小说代码案例详解
scrapy是目前python使用的最广泛的爬虫框架 架构图如下 解释: Scrapy Engine(引擎): 负责Spider.ItemPipeline.Downloader.Scheduler中间 ...
最新文章
- 全链路压测体系建设方案的思考与实践
- 基于比特币现金的Token逐梦而来
- linux内核网络协议栈--linux网络设备理解(十三)
- WDCP管理面板安装启动EXIF、bcmath完整步骤
- 关于AD9371调试笔记
- 如何去除WINRAR的广告
- python分析pcap文件_Python-对Pcap文件进行处理,获
- 海思3559a资料目录整理
- 腾讯校招都会问些什么?| 五面腾讯(Java岗)经历分享
- 2020 博客之星评选【票数排行榜】每日更新
- c语言 pause,C语言中的pause()函数和alarm()函数以及sleep()函数
- 笔记本电脑坏了,昨天拿到鼎好去修。
- 基础js实现下雨效果(超简单)
- CMD命令窗口光标消失解决方案
- week_02_面向对象基础
- 完美解决丨1. **`SyntaxError: invalid syntax`**
- 一个业务型算法工程师的技能清单
- 有扰动的闭环传递函数 matlab,已知闭环传递函数
- pgSql数据库报错:permission denied for relation 的错误
- 什么是Base64算法