Python接口測試


下面是Python請求Post接口的實例和seed測試框架的基本使用;由於本人比較懶,未將兩者進行合並;

接口自動化測試思路:

1、接口測試的數據准備(入參、預期結果維護在CSV文件中)

2、編寫請求接口的腳本,入參讀取外部CSV文件,返回請求結果。

3、應用框架(包),將接口請求的返回的數據與預期結果(預期結果從CSV文件中獲取)進行逐個比對。(數據類型、數據准確性驗證)

4、結合業務,將多個接口串起來進行測試。

讀取csv文件內容:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import csv

with open('xxx.csv','rb') as f:

  reader=csv.reader(f)

  for row in reader:

    print row

 Python請求Post接口

#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib2,urllib
import sys
import json
reload(sys)
sys.setdefaultencoding('utf-8')
#要請求的url
url1 = 'http://*****/api/execute'
#需要傳遞的參數,並對參數進行編碼
data={
    "sign":"",
    "secret":"",
    "oper":"loginoffice",
    "type":"account",
    "source":"H",
    "version":"5",
    "device":{"OS":"ios","IMEI":"491cd147fb8ab1a72bb8d35ac8081fb5bbafb9b4","OSV":"6.0"},
    "para":{"username":"GZGYSOP1YWY1","password":"123456"},
    }
#data=urllib.urlencode(data)

#將數據變為json格式
data=json.dumps(data)
url2=urllib2.Request(url1,data)

#請求
response=urllib2.urlopen(url2)
#獲取code
print response.getcode()

#獲取請求結果
apicontent=response.read()
print apicontent
#將字符串變為字典
dics=eval(apicontent)
print dics.get('data')

Python單元測試(seed框架):

#!/usr/bin/python
#-*- coding : utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import seed

case1_dict={'id':u'1001','desc':u'test1','num1':1,'num2':2,'res':3,'tags':'gao,zhaong,mod1'}
case2_dict={'id':u'1002','desc':u'test2','num1':2,'num2':3,'res':5,'tags':'gao,zhaong,mod1'}
case3_dict={'id':u'1003','desc':u'test3','num1':3,'num2':4,'res':7,'tags':'gao,zhaong,mod1'}

def add_fun(case_dict):
    assert case_dict.res==case_dict.num1+case_dict.num2,u'buxing'

seed.TestCase.add(case1_dict)
seed.TestCase.add(case2_dict)
seed.TestCase.add(case3_dict)
seed.TestCase.case_run_method = add_fun
seed.run()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM