Requests接口测试(五)
使用python+requests编写接口测试用例
好了,有了前几章的的基础,写下来我把前面的基础整合一下,来一个实际的接口测试练习吧。
接口测试流程
- 1.拿到接口的URL地址
- 2.查看接口是用什么方式发送
- 3.添加请求头、请求体
- 4.发送查看返回结果,校验返回结果是否正确
我们知道了接口测试的步骤,下面我们开始组织我们的代码:
import requests # 接口的url
url = "http://fanyi.baidu.com/v2transapi" # 接口的参数
params = {
"from":"en",
"to":"zh",
"query": "test"
} r = requests.request("post", url, params=params) # 打印返回结果
print(r.text) # 为了让结果看的更加清楚一点,我取来翻译的字段
import json
d = json.loads(r.text)
print(d['liju_result']['tag'])
结果: ['试验', '测验', '考验', '化验', '考查', '受试验', '受测验', '受考验', '测得结果'] (结果很长,截取最后的)
修改参数后的请求:
import requests url = "http://fanyi.baidu.com/v2transapi"
params = {
"from":"en",
"to":"zh",
"query": "study" #
}
r = requests.request("post", url, params=params) import json
d = json.loads(r.text)
print(d['liju_result']['tag'])
结果:
['学习', '研究', '课题', '书房', '结论', '考虑', '沉思', '努力', '想出']
引入unittest单元测试框架集成接口测试:
import requests,unittest,json
class Testbaiduapi(unittest.TestCase):
def setUp(self):
url = "http://fanyi.baidu.com/v2transapi"
def testzhen(self):
params = {
"from":"en",
"to":"zh",
"query": "study" #
}
url = "http://fanyi.baidu.com/v2transapi"
r = requests.request("post", url, params=params)
r=json.loads(r.text)
assert u'学习' in r['liju_result']['tag']
def testzhen1(self):
params = {
"from":"en",
"to":"h",
"query": "study" #
}
url = "http://fanyi.baidu.com/v2transapi"
r = requests.request("post", url, params=params)
r=json.loads(r.text)
assert u'学习' in r['liju_result']['tag']
def tearDown(self):
pass
if __name__=='__main__':
unittest.main(verbosity=2)
在python中,提供了HTMLTestRunner.py来生成测试报告,把该文件下载后,直接放到python安装文件的lib的目录下,
就可以导入该模块使用了,见该实现的代码:
import requests,unittest,json,HTMLTestRunner
class Testbaiduapi(unittest.TestCase):
def setUp(self):
url = "http://fanyi.baidu.com/v2transapi"
def testzhen(self):
params = {
"from":"en",
"to":"zh",
"query": "study" #
}
url = "http://fanyi.baidu.com/v2transapi"
r = requests.request("post", url, params=params)
r=json.loads(r.text)
assert u'学习' in r['liju_result']['tag']
def testzhen2(self):
params = {
"from":"en",
"to":"h",
"query": "stud" #
}
url = "http://fanyi.baidu.com/v2transapi"
r = requests.request("post", url, params=params)
r=json.loads(r.text)
assert u'学' in r['liju_result']['tag']
def tearDown(self):
pass
if __name__=='__main__':
report_dir= r's.html'
re_open= open(report_dir,'wb')
suite=unittest.TestLoader().loadTestsFromTestCase(Testbaiduapi)
runner=HTMLTestRunner.HTMLTestRunner(
stream=re_open,
title=u'百度翻译api接口测试报告',
description=u'百度翻译api接口测试详情'
)
runner.run(suite)
Requests接口测试(五)的更多相关文章
- requests接口测试-requests的安装
requests接口测试-requests的安装 安装常见问题 提示连接不上,443问题 一般是因为浏览器设置了代理,关闭代理. 网络加载慢,设置国内镜像地址 1.pip安装 2.pycharm安装 ...
- Python+Requests接口测试教程(1):Fiddler抓包工具
本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...
- Python+Requests接口测试教程(2):
开讲前,告诉大家requests有他自己的官方文档:http://cn.python-requests.org/zh_CN/latest/ 2.1 发get请求 前言requests模块,也就是老污龟 ...
- Python+Requests接口测试教程(2):requests
开讲前,告诉大家requests有他自己的官方文档:http://cn.python-requests.org/zh_CN/latest/ 2.1 发get请求 前言requests模块,也就是老污龟 ...
- Requests接口测试-对cookies的操作处理(一)
大家都对cookie都不陌生,我们本篇文章使用requests结合cookie进行实例演示.我们使用一个接口项目地址,因为接口项目涉及到隐私问题,所以这里接口的地址我暂时不会给大家开放,但是我会给大家 ...
- unittest,requests——接口测试脚本及报告
用unittest管理两个利用requests模块,做百度搜索的简单接口测试用例,之后自动输出报告 # encoding=utf-8import requests,unittest,HTMLTestR ...
- Requests接口测试-对cookies的操作处理(二)
我们继续来讨论一下cookie这方面的内容,我们都知道cookie是数据,一般的话在我接口测试中,数据都是要和代码进行分离的.本篇内容,我们队cookie内容进行处理,我们把登陆成功后的cookie写 ...
- Requests接口测试(一)
接口测试概念 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关 ...
- Requests接口测试库-官网快速上手
Requests 一个发送HTTP请求的库基于urllib3,相比自带的库,提供了更高效简洁的可用方法,测试从业者用来做接口测试的一个好工具 文章内容均来自官网:https://requests.re ...
随机推荐
- 不得不注意tornado多进程部署的副作用
tornado多进程启动时,采用的是fork的方式. 一个现有进程可以调用fork函数创建一个新进程.由fork创建的新进程被称为子进程(child process).fork函数被调用一次但返回两次 ...
- as3 htmlText 的bug
as的文本框 会把连续的英文当作一个单词处理 如果是在已有内容的行后 超过宽度就会换行 左边的用了英文冒号直接被当成完整的单词右边的被当成了 jj5jk : mmmmmmmmmm 三个单词
- 解决安装Weblogic domain卡住问题(Primeton BPS)
这两天一直有一个问题困扰我,在suse10+weblogic(920,923,100,103)上安装bpm产品失败.有些版本是创建domain的时候卡在create security informat ...
- 转: 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等
转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html 准备工作: 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME 下载Jmete ...
- leetcode 21.Merge Two Sorted Lists ,java
题目: Merge two sorted linked lists and return it as a new list. The new list should be made by splici ...
- erlang热部署
以下流程参考rebar的wiki,亲测 rebar的版本一定要注意,高版本对于下面两个指令有bug rebar generate-appups rebar generate-upgrade 经过一个个 ...
- DM8127 更改调试串口为UART2
1.uboot修改 1)修改宏定义 /*include/config/ti8148_evm.h*/ #define CONFIG_SYS_NS16550_COM2 0x48024000 #define ...
- Kaggle 比赛项目总结(项目流程)
一.EDA(Exploratory Data Analysis) EDA:也就是探索性的分析数据 目的: 理解每个特征的意义: 知道哪些特征是有用的,这些特征哪些是直接可以用的,哪些需要经过变换才能用 ...
- java流类,快速统计出字符次数+++
总结:学会给一个合适的命名,不要总是abc..虽然简单,但是不容易看懂,和方便去理解 package com.aini; import java.io.File; import java.io.Fil ...
- python web指纹获取加目录扫描加端口扫描加判断robots.txt
前言: 总结上几次的信息收集构造出来的. 0x01: 首先今行web指纹识别,然后在进行robots是否存在.后面是目录扫描 然后到使用nmap命令扫描端口.(nmap模块在windows下使用会报停 ...