python学习笔记-excel用例输入

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

这个是根据上次框架版本进行的优化

用python获取excel文件中测试用例数据

通过requets测试接口、并使用正则表达式验证响应信息内容生成xml文件测试报告

版本更新内容:

1. 整理了CreateTest.test_main()流程逻辑

2. 优化了testcase.xls文件格式

3. 添加了生成XML文件测试报告

代码如下:

1#!/usr/bin/env python

2# -*- coding: utf_8 -*-

3# 获取测试用例文件excel

4

5import xlrd

6import json

7

8

9class CreateExcel:

10def__init__(self):

11pass

12

13 @classmethod

14def open_excel(cls):

15 path = "testcase.xls"

16 workbook = xlrd.open_workbook(path)

17 table = workbook.sheets()[0]

18return table

19

20# 获取sheet

21

22 @classmethod

23def get_nrows(cls, table):

24 nrows = table.nrows

25return nrows

26

27# 获取行号

28

29 @classmethod

30def get_id(cls, table, nrows):

31 testid = []

32for i in range(1, nrows):

33 testid.append(table.cell(i, 0).value)

34return testid

35

36 @classmethod

37def get_name(cls, table, nrows):

38 testname = []

39for i in range(1, nrows):

40 testname.append(table.cell(i, 1).value)

41return testname

42

43# 获取用例name

44

45 @classmethod

46def get_data(cls, table, nrows):

47 testdata = []

48for i in range(1, nrows):

49try:

50 data = json.loads(table.cell(i, 2).value)

51 testdata.append(data)

52except ValueError:

53 testdata.append(None)

54return testdata

55

56# 获取data接口参数

57

58 @classmethod

59def get_url(cls, table, nrows):

60 testurl = []

61for i in range(1, nrows):

62 testurl.append(table.cell(i, 3).value)

63return testurl

64

65# 获取接口测试url

66

67 @classmethod

68def get_method(cls, table, nrows):

69 testmethod = []

70for i in range(1, nrows):

71 testmethod.append(table.cell(i, 4).value) 72return testmethod

73

74# 获取接口测试method

75

76 @classmethod

77def get_pattern(cls, table, nrows):

78 testpattern = []

79for i in range(1, nrows):

80 testpattern.append(table.cell(i, 5).value) 81return testpattern

82

83# 获取接口期望响应结果

84

1#!/usr/bin/env python

2# -*- coding: utf_8 -*-

3# 测试核心组件

4

5import requests

6import re

7from datetime import datetime

8from createexcel import CreateExcel

9from xml.dom import minidom

10import sys

11

12

13class CreateTest:

14 reload(sys)

15 sys.setdefaultencoding("utf-8")

16

17# 避免字符串写入文件出错

18

19def__init__(self):

20pass

21

22 @classmethod

23def test_api(cls, method, url, data):

24global results

25try:

26if method == "post":

27 results = requests.post(url, data)

28if method == "get":

相关文档
最新文档