实现Python 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 json
def GetTabName(tabname, method):
if method=='GET': #http方法
url='http://XXX.com/XXX/test/content_book_list.jsp?listid='+listid
result=urllib2.urlopen(url).read()
return result
if 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 result
font-size:14px;">
def WriterLog():
print
def GetWord():
FileOpen=xlrd.open_workbook(r'D:\TestFile\video.xls') #测试脚本写在xls中
SheetOpen=FileOpen.sheet_by_name('name')
nrows=SheetOpen.nrows
for 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='+ExpectedResult
Result1 = GetTabName(name,method) # 调用API接口
#WriterLog('AC_result = ' + AC_result) # 写测试日志
print Result1 # 写测试日志
#print type(Result1)
ResultFile=open(r'D:\TestFile\video.txt','w')
print >> ResultFile,Result1
GetWord() # TestCase 脚本</span>