这个是根据上次框架版本进行的优化 用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)
閱讀更多 愛學習的王大貓 的文章