码迷,mamicode.com
首页 > 编程语言 > 详细

python+ddt+unittest+excel

时间:2019-05-29 10:41:44      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:根据   unit   字典   通过   self   ant   return   pen   deb   

接口自动化测试流程:需求分析-用例设计--脚本开发--测试执行--结果分析
1.获取接口文档,根据文档获取请求方式,传输协议,请求参数,响应参数,判断测试是否通过设计用例
2.脚本开发:接口调用,结果校验
3.执行测试
4.发送邮件报告
5.结果分析

封装读取excel,返回字典
import xlrd
from conf import *
class ExcelUtil():

‘‘‘从excel中获取测试用例,输出结果为[{列名1:第一列1,列名2:第一列2}, {列名1:第二列1,列名2:第二列2}...]‘‘‘
    def __init__(self, excelPath, sheetIndex=0):
self.data = xlrd.open_workbook(excelPath)
self.table = self.data.sheet_by_index(sheetIndex)
# 获取第一行作为key值
self.keys = self.table.row_values(0)
# 获取总行数
self.rowNum = self.table.nrows
# 获取总列数
self.colNum = self.table.ncols

def dict_data(self):
if self.rowNum <= 1:
print("总行数小于1")
else:
r = []
j = 1
for i in list(range(self.rowNum-1)):
s = {}
# 从第二行取对应values值
s[‘rowNum‘] = i+2
values = self.table.row_values(j)
# print(values)
for x in list(range(self.colNum)):
s[self.keys[x]] = values[x]
r.append(s)
j += 1
return r

if __name__ == "__main__":
filepath = xlsPath+‘/test.xlsx‘
sheetIndex = 0
data = ExcelUtil(filepath, sheetIndex)
print(data.dict_data())
返回结果:
[{‘姓名‘: 1.0, ‘年龄‘: 18.0}, {‘姓名‘: 1.0, ‘年龄‘: 20.0}]


使用ddt数据驱动读取Excel数据
#usr/bin/python
#encoding:utf-8
from ddt import ddt, data, unpack
import unittest
from debug import ExcelUtil
from conf import *
filepath = xlsPath + ‘/test.xlsx‘
sheetIndex = 0
s = ExcelUtil(filepath, sheetIndex).dict_data()
@ddt
class DoubanTest(unittest.TestCase):
@classmethod
def setUp(self):
print("****Start Test*******")
@classmethod
def tearDown(self):
print("****End Test*******")
# @data([1, 2, 3, 6])
# @unpack
# def test_add(self,testdata1,testdata2,testdata3,exceptdata):
# sum = testdata1 + testdata2 + testdata3
# self.assertEqual(sum,exceptdata)
@data(*s)
def test_print(self,a):
print(a)

if __name__==‘__main__‘:
unittest.main()
返回结果:

****Start Test*******
{‘rowNum‘: 2, ‘姓名‘: 1.0, ‘年龄‘: 18.0}
****End Test*******
****Start Test*******
{‘rowNum‘: 3, ‘姓名‘: 1.0, ‘年龄‘: 20.0}
****End Test*******



python+ddt+unittest+excel

标签:根据   unit   字典   通过   self   ant   return   pen   deb   

原文地址:https://www.cnblogs.com/zyblb/p/10942106.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!