ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

python学习笔记(接口自动化框架)

来源:网络整理     时间:2016-04-12     关键词:python,自动化

本篇文章主要介绍了"python学习笔记(接口自动化框架)",主要涉及到python,自动化方面的内容,对于Pythonjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: 之前是利用python自带的unittest测试框架这次自己设计一个 之后再一点点往里面加功能(ps:当然这个框架真的是很简单。。很简单。。。很简单。。。) 1...

之前是利用python自带的unittest测试框架

这次自己设计一个 之后再一点点往里面加功能

(ps:当然这个框架真的是很简单。。很简单。。。很简单。。。)

 1#!/usr/bin/env python 2# -*- coding: utf_8 -*- 3 4import xlrd
 5import json
 6 7 8class CreateExcel:
 9def__init__(self):
10pass1112    @classmethod
13def open_excel(cls):
14         path = "testcase.xls"15         workbook = xlrd.open_workbook(path)
16         table = workbook.sheets()[0]
17return table
18# 获取sheet1920    @classmethod
21def get_nrows(cls, table):
22         nrows = table.nrows
23return nrows
24# 获取行号2526    @classmethod
27def get_name(cls, table, nrows):
28         testname = []
29for i in range(1, nrows):
30            testname.append(table.cell(i, 0).value)
31return testname
32# 获取用例name3334    @classmethod
35def get_data(cls, table, nrows):
36         testdata = []
37for i in range(1, nrows):
38             data = json.loads(table.cell(i, 1).value)
39            testdata.append(data)
40return testdata
41# 获取data接口参数4243    @classmethod
44def get_url(cls, table, nrows):
45         testurl = []
46for i in range(1, nrows):
47             testurl.append(table.cell(i, 2).value)
48return testurl
49# 获取接口测试url5051    @classmethod
52def get_method(cls, table, nrows):
53         testmethod = []
54for i in range(1, nrows):
55             testmethod.append(table.cell(i, 3).value)
56return testmethod
57# 获取接口测试method5859    @classmethod
60def get_pattern(cls, table, nrows):
61         testpattern = []
62for i in range(1, nrows):
63             testpattern.append(table.cell(i, 4).value)
64return testpattern
65# 获取接口期望响应结果6667    @classmethod
68def get_report(cls, table, nrows):
69         testreport = []
70for i in range(1, nrows):
71             testreport.append(table.cell(i, 5).value)
72return testreport
73# 获取用例期望的运行结果747576if__name__ == "__main__":
77     CreateExcel()

上面代码是处理excel文档的

下面代码是测试平台

 1#!/usr/bin/env python 2# -*- coding: utf_8 -*- 3 4 5import requests
 6import re
 7from createexcel import CreateExcel
 8 910class CreateTest:
11def__init__(self):
12pass1314    @classmethod
15def test_api(cls, method, url, data):
16global results
17if method == "post":
18             results = requests.post(url, data)
19if method == "get":
20             results = requests.get(url, data)
21return results
2223    @classmethod
24def test_on(cls):
25print"用例执行开始"2627    @classmethod
28def test_close(cls):
29print"用例执行结束"3031    @classmethod
32def test_result(cls, ra, rb):
33if ra == rb:
34print"测试结果: 测试通过"35else:
36print"测试结果: 测试失败"3738    @classmethod
39def test_http(cls, code):
40if code == 200:
41print"测试请求: 请求通过"4243    @classmethod
44def test_main(cls):
45global report
46         table = CreateExcel.open_excel()
47         nrows = CreateExcel.get_nrows(table)
48for i in range(0, nrows - 1):
49             testname = CreateExcel.get_name(table, nrows)[i]
50             testdata = CreateExcel.get_data(table, nrows)[i]
51             testurl = CreateExcel.get_url(table, nrows)[i]
52             testmethod = CreateExcel.get_method(table, nrows)[i]
53             testpattern = CreateExcel.get_pattern(table, nrows)[i]
54             testreport = CreateExcel.get_report(table, nrows)[i]
55            CreateTest.test_on()
56print"测试用例:", testname
57try:
58                 testresults = CreateTest.test_api(testmethod, testurl, testdata)
59                CreateTest.test_http(testresults.status_code)
60                 pattern = re.compile(testpattern)
61                 match = pattern.search(testresults.url)
62if match.group() == testpattern:
63                     report = "pass"64                CreateTest.test_result(testreport, report)
65except AttributeError:
66                 report = "no"67                CreateTest.test_result(testreport, report)
68except Exception.__base__:
69print"测试请求: 请求失败"70                 report = None
71                CreateTest.test_result(testreport, report)
72            CreateTest.test_close()
737475if__name__ == '__main__':
76     CreateTest()

以上就介绍了python学习笔记(接口自动化框架),包括了python,自动化方面的内容,希望对Pythonjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_670769.html

相关图片

相关文章