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) 


分享到:


相關文章: