Python接口测试简单框架
用例设计:

执行用例代码: # -*- coding: UTF-8 -*-
import xlrd,logging,urllib,urllib2,json,sys
from pylsy import pylsytable #######################################################################################################
#定义系统输出编码
reload(sys)
sys.setdefaultencoding('utf-8') #########################################################################################################
#定义日志输出
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='myapp.log',
filemode='w') #################################################################################################
#定义一个StreamHandler,将INFO级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象#
console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
################################################################################################# ###################################################################################################
#处理excel表格
data = xlrd.open_workbook('C:\Users\xxxxx\Desktop\API.xls')#打开excel表格
logging.info("打开%s excel表格成功"%data)
table = data.sheet_by_name(u'Sheet2')#打开工作表sheet2
logging.info("打开%s表成功"%table)
nrows = table.nrows#统计行数
logging.info("表中有%s行"%nrows)
ncols = table.ncols#统计列数
logging.info("表中有%s列"%ncols)
logging.info("开始进行循环")
name_1=[];url_1=[];params_1=[];type_1=[];Expected_result_1=[];Actual_result_1 =[];test_result_1=[];Remarks_1=[]#定义数组
Success=0;fail=0 #初始化成功失败用例
##################################################################################################################
for i in range(1,nrows):#遍历excel表格
cell_A3 =table.row_values(i)
#获取excel表格中的数据
name = cell_A3[0]
url = cell_A3[1]
params=eval(cell_A3[2])
type = cell_A3[3]
error_code =cell_A3[4]
Remarks =cell_A3[5]
logging.info(url)
#############################################################################################################################3
params =urllib.urlencode(params) #参数化处理
logging.info(params)
url2 = urllib2.Request(url,params)
print "***********开始执行请求************"
response = urllib2.urlopen(url2)
logging.info(response)
apicontent = response.read()
logging.info(apicontent)
apicontent = json.loads(apicontent)
#验证返回值
if apicontent["error_code"]==int(error_code):
name2="通过"
print name+"测试通过"
else:
name2="失败"
print name+"测试失败"
name_1.append(name)
url_1.append(url)
params_1.append(params)
type_1.append(type)
Expected_result_1.append(int(error_code))
Actual_result_1.append(apicontent["error_code"])
test_result_1.append(name2)
Remarks_1.append(Remarks)
if name2=="通过":
Success+=1
elif name2=="失败":
fail +=1
else:
print "测试结果异常" ##############################################################################################################################
#输出表格形式
attributes =["urlname","url","params","type","Expected_result","Actual_result","test_result","Remarks"]
table =pylsytable(attributes)
name =name_1
url =url_1
params=params_1
type=type_1
Expected_result=Expected_result_1
Actual_result =Actual_result_1
test_result=test_result_1
Remarks=Remarks_1
table.add_data("urlname",name)
table.add_data("url",url)
table.add_data("params",params)
table.add_data("type",type)
table.add_data("Expected_result",Expected_result)
table.add_data("Actual_result",Actual_result)
table.add_data("test_result",test_result)
table.add_data("Remarks",Remarks)
table._create_table()
print table
print "成功的用例个数为:%s"%Success,"失败的用例个数为:%s"%fail
print "***********执行测试成功************" 执行结果:


Python接口测试简单框架的更多相关文章
- Python实现简单框架及三大框架对比
手撸web框架 简单的请求响应实现 要实现最简单的web框架,首先要对网络熟悉,首先HTTP协议是应用层的协议,只要我们给数据加上HTTP格式的响应报头,我们的数据就能基于socket进行实现了 im ...
- python接口测试自动化框架-发送邮件,邮箱报错: 535 Error, authentication failed
1.无意中把腾讯企业邮箱设置为安全登录,接口测试自动化发送邮件,不能被正常接收.错误信息为:535 Error, authentication failed. 原因:认证安全登录后,原来新的邮箱代码传 ...
- 小试牛刀——python接口测试小框架
用例设计: 执行用例代码: # -*- coding: UTF-8 -*-import xlrd,logging,urllib,urllib2,json,sysfrom pylsy import py ...
- Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试框架实战与自动化进阶☝☝☝
Python接口测试框架实战与自动化进阶☝☝☝ 一.fiddler在工作中的运用 1.如何抓接口 抓紧手机端接口 ①.在电脑终端输入:ipconfig ,找到电脑ip ②.打开手机,连接WiFi, ...
- 基于python的接口测试框架设计(三)接口测试的框架
基于python的接口测试框架设计(三)接口测试的框架 其实我这里用到的是unittest单元测试框架,,这个框架好就好在比较清楚,,setup terdown都可以处理一些初始化及完成后的工作 主要 ...
- Python接口测试实战4(上) - 接口测试框架实战
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战3(下)- unittest测试框架
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- python之unittest框架实现接口测试实例
python之unittest框架实现接口测试实例 接口测试的方法有很多种,具体到工具有postman,jmeter,fiddler等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限, ...
随机推荐
- Vue+restfulframework示例
一.简单回顾vue 前不久我们已经了解了vue前端框架,所以现在强调几点: 修改源: npm config set registry https://registry.npm.taobao.org 创 ...
- Centos7上vsftp脚本--> sh vsftp.sh 用户名 密码 --> sh vsftp.sh install
#!/bin/bash #vsftp install . /etc/rc.d/init.d/functions users=/etc/vsftpd/vftpuser.txt login=/etc/vs ...
- Eclipse编写ExtJS5卡死问题
本篇以eclipse为例,导入后在编译时很容易出现eclipse的卡死现象,这主要是js文件的校验引起的. 我们可通过如下方法进行配置: 打开该项目的.project文件,删除如下配置即可: < ...
- 滴水穿石-08IO
1.0 File a:构造方法 package d8; import java.io.File; public class FileGouZao { public static void main(S ...
- 隐藏WIN10资源管理器中的3D对象文件夹
1.WIN+R,打开运行窗口,输入“regdeit”启动注册表编辑器 2.定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio ...
- 什么是redis的雪崩和穿透
缓存雪崩 如何应对缓存雪崩 首先要保证redis的高可用,可以使用redis cluster,开启redis持久化,redis之前要使用本地缓存,请求先走本地缓存,没找到再走redis 如果还是出现了 ...
- 利用redis统计信息对CPU使用率进行收集
http://dy.163.com/v2/article/detail/DQT2ROO10511RVML.html
- jQuery数字滚动(模拟网站人气、访问量递增)原创
插件描述:实现数字上下滚动,模拟网站人气.访问量递增的动画效果,兼容性如下: 使用方法 $(el).runNum(val,params); 参数详解 val:数值型(默认70225800): pa ...
- es6 新增数据类型Symbol
es6在string number boolean null undefined object之外又新增了一种Symbol类型. Symbol意思是符号,有一个特性—每次创建一个Symbol值都是不一 ...
- poshytip基本使用
js基本调用方法 $("#tips").poshytip({ content: $this.text(), alignTo: 'target', alignX: direction ...