這個是根據上次框架版本進行的優化 用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)
閱讀更多 愛學習的王大貓 的文章