python學習筆記(接口自動化框架 V2.0)

這個是根據上次框架版本進行的優化 用python獲取excel文件中測試用例數據 

通過requets測試接口、並使用正則表達式驗證響應信息內容 生成xml文件測試報告 版本更新內容: 

1. 整理了CreateTest.test_main()流程邏輯 2. 優化了testcase.xls文件格式 3. 添加了生成XML文件測試報告


代碼如下:

下載文檔到電腦,使用更方便1下載券 VIP免券下載續費VIP 限時續費剩餘14個下載特權 延時30天

還剩4頁未讀,

繼續閱讀

定製HR最喜歡的簡歷

我要定製簡歷

 79     @classmethod  80def test_main(cls):  81global testresults 

 82         table = CreateExcel.open_excel() 

 83         nrows = CreateExcel.get_nrows(table)  84         xml = minidom.Document() 

 85         xml.appendChild(xml.createComment("測試報告"))  86         caselist = xml.createElement("caselist")  87         xml.appendChild(caselist)  88for i in range(0, nrows - 1): 

 89             testid = CreateExcel.get_id(table, nrows)[i]  90             testname = CreateExcel.get_name(table, nrows)[i]  91             testdata = CreateExcel.get_data(table, nrows)[i]  92             testurl = CreateExcel.get_url(table, nrows)[i] 

 93             testmethod = CreateExcel.get_method(table, nrows)[i]  94             testpattern = CreateExcel.get_pattern(table, nrows)[i]  95 

 96# 執行測試 

 97             CreateTest.test_on() 

 98             testresults = CreateTest.test_api(testmethod, testurl, testdata)  99             testcode = str(testresults.status_code) 100try: 

101                 CreateTest.test_http(testresults.status_code) 102except AttributeError: 103pass 

104             CreateTest.test_close() 105# 執行結束 106# 生成xml文件 

107             case = xml.createElement("case") 108             case.setAttribute("id", testid) 109# 輸入用例ID 110 

111             name = xml.createElement("name") 

112             name.appendChild(xml.createTextNode(testname)) 113# 輸入用例名稱 

114             method = xml.createElement("method") 

115             method.appendChild(xml.createTextNode(testmethod)) 116# 輸入接口類型 

117             code = xml.createElement("code") 

118             code.appendChild((xml.createTextNode(testcode))) 119# 輸入用例返回狀態碼 

120             result = xml.createElement("result") 121             

result.appendChild(xml.createTextNode(CreateTest.test_result(testpattern))) 122# 輸入用例測試結果 

123             time = xml.createElement("time") 

124             time.appendChild(xml.createTextNode(CreateTest.test_time())) 125# 輸入用例執行時間 126 

127             case.appendChild(name) 

128             case.appendChild(method) 129             case.appendChild(code) 130             case.appendChild(result) 131             case.appendChild(time) 132 

133             caselist.appendChild(case) 134# xml文件生成結束 

135         filename = file(CreateTest.test_report(), "w+") 136# 生成以當前時間命名的測試報告文件 137         xml.writexml(filename) 138         filename.close() 139# 關閉文件 140 141 

142if__name__ == '__main__': 143     CreateTest.test_main() 

   

下面是測試入口: 

 1#!/usr/bin/env python  2# -*- coding: utf_8 -*- 

 3# ****************************************************************  4# interface.py 

 5# Author     : ChenLei  6# Version    : 2.0 

 7# Date       : 2016-4-15 

 8# ****************************************************************  9 

10import time 

11from createtest import CreateTest 12 

13 start = time.clock() 14 CreateTest.test_main() 15 end = time.clock() 16 

17print"接口自動化腳本運行時間:%.03f seconds" % (end - start) 


分享到:


相關文章: