实现Python Http 接口测试

实现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 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>






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章