实现Python Http 接口测试

一、测试需求对服务后台一系列的http接口功能测试。
输入:根据接口描述构造不同的参数输入值输出:XML文件或者JSON文件;
eg:http://XXX.com/XXX/test/video?name=movie 
二、实现方法
1、选用Python语言作为测试脚本;
2、采用Excel表格管理测试数据,包括用例的管理、测试数据录入、测试结果显示等等,需要封装一个Excel的类即可。
3、调用http接口采用Python封装好的API即可
4、测试需要的http组装字符转处理即可
5、设置2个检查点,XML文件或者JSON文件中的返回值字段(通过解析XML文件或者JSON文件得到);
XML文件或者JSON文件的正确性(对比文件)6、首次执行测试采用半自动化的方式,
即人工检查输出的XML文件或者JSON文件是否正确,一旦正确将封存XML文件或者JSON文件,为后续回归测试的预期结果,如果发现错误手工修正为预期文件。
注意:不是每次测试都人工检查该文件,只首次测试的时候才检查Excel表格为,sheet名称为name
</pre><pre code_snippet_id="646266" snippet_file_name="blog_20150417_1_1728015" name="code" class="python"># -*- coding: utf-8 -*-
#!/usr/bin/python
'''
Created on 2015-4-10
@author: cyt
'''
import urllib, urllib2
import xlrd
import jsondef GetTabName(tabname, method):if method=='GET':  #http方法url='http://XXX.com/XXX/test/content_book_list.jsp?listid='+listidresult=urllib2.urlopen(url).read()return resultif method == 'POST':url = 'http://ip:port/interface/GetUserInfo.php'values = {'uname' : tabname}data = urllib.urlencode(values)req = urllib2.Request(url, data)response = urllib2.urlopen(req)result = response.read()return resultfont-size:14px;">
def WriterLog():printdef GetWord():FileOpen=xlrd.open_workbook(r'D:\TestFile\video.xls') #测试脚本写在xls中SheetOpen=FileOpen.sheet_by_name('name')nrows=SheetOpen.nrowsfor i in range(0, nrows):TestCase=SheetOpen.cell_value(i,0)tabname=SheetOpen.cell_value(i,1)method=SheetOpen.cell_value(i,2)ExpectedResult=SheetOpen.cell_value(i,3)#WriterLog('TestCase Name'+TestCase+'TestData:name='+name+',method='+method+'Excepted Result='+Excepted Result)print 'TestCase Name='+TestCase+' ,TestData:tname='+tname+' ,method='+method+' ,Excepted Result='+ExpectedResultResult1 = GetTabName(name,method) # 调用API接口#WriterLog('AC_result = ' + AC_result) # 写测试日志print Result1  # 写测试日志#print type(Result1)ResultFile=open(r'D:\TestFile\video.txt','w')print >> ResultFile,Result1GetWord() # TestCase 脚本</span>

实现Python Http 接口测试相关推荐

  1. python做接口测试的优点_python做接口测试的必要性

    什么是接口测试 接口测试主要用于检测外部系统与内部系统之间,以及系统内部各 个子系统之间的交互点.其测试的重点是,检查数据的交换.传递和控 制管理过程,以及系统间的逻辑依赖关系等. 为什么要做接口测试 ...

  2. python数据接口设计_基于python的接口测试框架设计(一)连接数据库

    基于python的接口测试框架设计(一)连接数据库 首先是连接数据库的操作,最好是单独写在一个模块里, 然后便于方便的调用,基于把connection连接放在__init__()方法里 然后分别定义D ...

  3. python实现简单的api接口-Python 实现接口测试的简单实例

    Hi~ 由于最近家里宝宝病了,我也在研究python的其他内容,很久没有来社区了,不过我还是一直关注社区的动态哟 好了,闲聊的话题就到此为止, 今天我给大家带来的,是python实现的接口自动化测试的 ...

  4. python中接口测试垃圾数据如何清理_巧用PyUnit中unittest特性解决接口测试产生脏数据问题...

    巧用PyUnit中unittest特性解决接口测试产生脏数据问题 一.背景 测试数据创建后需要对其删除,不然可能产生脏数据,对开发和测试.生产环境造成一定影响.其接口框架是基于Python,API规范 ...

  5. python调用接口测试_Python接口测试实战2 - 使用Python发送请求

    本节内容 requests安装 requests使用 JSON类型解析 requests库详解 带安全认证的请求 序言 上节课我们学习了接口测试的理论,抓包工具及使用Postman手工测试各种接口,这 ...

  6. 全网最详细的Python+Requests接口测试教程:Fiddler抓包工具

    本篇涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 文章是针对零基础入门接口测试和py ...

  7. Python参数化接口测试demo笔记

    https://www.cnblogs.com/du-hong/p/10766314.html 接口测试学习demo 目的:使用之前学习接口测试的demo,批量运行一波数据,就5行,产生报告html文 ...

  8. python+requests接口测试

    第一章 HTTP网络协议 在接口的测试过程中,所有的数据交互都是基于网络协议来进行交互的.目前业内最为主流的是HTTP网络协议.占据有90%左右比例 在系统的交互过程中,HTTP网络协议是如何实现交互 ...

  9. python+request接口测试

    **1.**首先,我们先来理一下思路. 正常的接口测试流程是什么? 脑海里的反应是不是这样的: 确定测试接口的工具 -> 配置需要的接口参数 -> 进行测试 -> 检查测试结果(有的 ...

最新文章

  1. (邓爱萍)类 对象 例题
  2. 演示使用sql_trace和10046事件对其他会话进行跟踪,并给出trace结果
  3. Nginx代理、负载均衡
  4. 坑爹!千万不要在生产环境使用控制台日志
  5. nginx离线安装_web高可用-基于keepalived和nginx
  6. maven POM总结
  7. c++ list 获取元素_Python中最常见的10个问题(list)
  8. 雷军再失猛将!小米12号创始员工离职 曾一起喝粥创立小米
  9. 正则表达式非捕获分组?:
  10. Ubuntu下PHP开发环境LAMP搭建
  11. python局域网传输文件
  12. 苏宁小店门店数量一年锐减428家 张近东之子张康阳为实控人
  13. php 展示微信图片尺寸,微信公众平台图片最大尺寸
  14. cocos2d--仿真树叶飘落效果的实现(精灵旋转、翻转、钟摆运动等综合运用)
  15. 弘辽科技:拼多多高客单价怎么改低价格提升?
  16. 博达路由器如何配置互联网ip_博达路由器操作命令
  17. Java版本JFrame,计算器和单位换算的实现
  18. Linux 命令 ps
  19. 映客首推 “直播春晚”:小年夜登场开启线上狂欢
  20. 11月03日 星期四

热门文章

  1. 虚拟摄像头驱动原理及开发
  2. Linux Mint (应用软件— 二进制文件编辑器 :bless)
  3. 利用js制作html table分页示例(js实现分页)
  4. 1.12 W10的CMD常用命令,以及CMD装逼操作
  5. 碳交易计价结算货币:理论、现实与选择
  6. 《Android程序员指南》翻译暂停,望见谅
  7. 1.网络通讯-9种常用网络命令
  8. 自媒体人如何定位?自媒体大号应该怎么去运营和发展
  9. max 图片无法拖入3ds_达尔文3号和超级玛丽3号max,怎么选?首选它!
  10. 【vue】实现多个路由共享同一个页面