python自动化测试学习笔记-unittest参数化
做接口测试的时候,当一个参数需要输入多个值的时候,就可以使用参数来实现;
python中unittest单元测试,可以使用nose_parameterized来实现;
首先需要安装:pip install nose-parameterized,导入该模块;
看下面的例子,一般我们写测试用例的时候会追条定义一个test*()的方法,然后执行所有测试用例,如下:
import unittest
def calc(a,b):
res=a+b
return res class MyTest(unittest.TestCase): def test1(self):
res=calc(1,2)
self.assertEqual(res,3) def test2(self):
res=calc(0,0)
self.assertEqual(0,0) if __name__ == '__main__':
unittest.main() 执行查看结果:
aaarticlea/png;base64,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" alt="" />
当传入的值类型相同,我们可以用读取list的方式,进行参数化,自动调用执行,如下:
import unittest
import nose_parameterized
def calc(a,b):
res=a+b
return res
data=[
[1,2,3],
[0,0,0],
[9999,0,9999]
]
class MyTest(unittest.TestCase):
#参数化,自动的运行list里边的数据
@nose_parameterized.parameterized.expand(data)
def test1(self,a,b,e):
res=calc(a,b)
self.assertEqual(res,e) if __name__ == '__main__':
unittest.main()
上述我们只需要定义一个测试用例方法,使用parameterized方法自动运行data里边的数据,查看执行结果,看到执行了三次:
aaarticlea/png;base64,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" alt="" />
还可以通过调用文件的方式来进行unittest参数化;如果测试数据存在于文件中,首先我们需要定义一个将文件转化成list的方法,我们可以根据文件的不同类型使用不同的方法,封装一个tool模块,定义DataToParam类
import os
import xlrd class DataToParam(object):
def file_exist(self,filename):
if os.path.isfile(filename):
return True
else:
raise Exception('参数化文件不存在') def text(self,filename):
if self.file_exist(filename):
with open(filename,'r',encoding='utf-8') as f:
list=[]
for line in f :
list.append(line.strip().split(','))
return list def excel(self,filename):
if self.file_exist(filename):
book=xlrd.open_workbook(filename)
sheet=book.sheet_by_index(0)
rows=sheet.nrows
list=[]
for row in range(rows):
list.append(sheet.row_values(row))
return list
调用DataToParam中的函数,将文件转化成list
文件:aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP4AAABiCAIAAAD/UPk+AAAFfklEQVR4nO2daXLiMBBGfZW5SyoXmmNRKbJSZCXJGdj37QY5QM8PeSgFLMo2rba7/b1KBeyUjT7yLCRLxgmF+fn5Wf3nsHK/35/ZhJGrq6vDbwFkch3FEUgnkOs0hUCur6+vzWUkoV373vvqb7fb2KkcwurL5PLjyEQTyCX2P/Lp9XpR1D/y3ld/vV7LZBNWXybXlYfAy5FIrkrUf39/51f/1Htfff95VITVl8klX+sL5KpE/ZeXF2b1M733377FYiEQ7Oo3Aq8oluvMYgwEclWifrfb5VQ/5L2v/nw+FwgmXzvK5zpdjIFArkq6uZ1Oh039M9776k+n09ipqAr15XOdLsbA6v/r8fGRs9bPw3g8jpHEx2/niLV5JHNJNuQEcjmEu+93d3fS6o9GoxhJKge5dNFut6XVHwwGMZJUDnLp4s/f6wt/kv1+v9vtttvtZrNZr9er1Wq5XC4Wi/l8PpvNptPpZDIZj8ej0Wg4HA4GgxYANYBB/aJHW6vVinEQV06/36+6CFFArhBQPwWK6ALqswFFdAH12YAiuoD6bEARXfCoX2gYwoD6SZJxwGtXJPHw1yNXcM9FR+BUq5/5JjpUK3KUyF9EruDOCbU+EUGRWgL1mbGn/hFm1Pfhb/AQ1CciKFJjMtuoUL8MhtWPoUhNQK3PgFX1reY6gLb+pZhUJDMUKc+Fbi4z9tTHGZ4yOy960ZBq9ZPf+H/SrkgomupcFHVIq+gGqtU/g3ZFQiBXCKifAkV0waB+iau0+gDoB7V+Sh+1oyouzwX1U6CILqA+G1BEF1CfDSiiC6jPBhTRBYP6jRrSckSaCVg5yFVst/5CHvu1q394Ey2N5hJyldizv2Befcx10UX06WsHoL5SkKvMzg/PmtDWhyK6kFA//7xlqF9DkKvMzqlJ8/WhiC6iz9cvtAHUryHIVWbn/oL5bi7hJKA2Ip7cLHp3J+3qE4Z+tCExpJUHA+pnYkCRTJArBNRPgSKKuPxuQn/+Xiff39+fn5+9Xu/j4+Pt7e319fX5+bnb7XY6naenp4eHh/v7+9vb23a7fXNz47bhvlwGgGLwqF/ofotum6qP+Sj0LdaOZDQXi4dQP8WkImQ0F9TnxKQiZDQX1OfEpCJkNBfU58SkImQ0F4/6R91e8+qb/OJBspvLcRSKTf0jsw2rj7kuSoH6l2JVEau5HKcfZcxt/YY0eHyMKXLAUi6XJZb6ORv6xtQ32SYmW7lC0zZR65fH5AxHMpdLSP089ttQ/9QPUq6Iw16u5AS3Ht3cMmT6QcoVIbu5HDjDcylWz4RYzXUglvrNGdIKfYCSckWs5nLEavCcd92Y+mcwoEgmJnNBfU5MKkJGc/Goj6u0gDp4rtIqeqzg2lxdmMwF9TkxqQghVxionwJFdAH12YAiuoD6bEARXbCp35AvGXeo+IK+zEuuSqxHrmBJ3ENz1A9NBqyVIn7ZLnlOyHWmMESU//aJpFx9LXNdQuUsup6Q60xhnPRQH4oIUKtczWrwaFTEb+kWXU/IdaYw7gHq10oR+t29OzUg/3rkCpakUbeWUKS+z+n5jfzrkSv46u4BtT4UkQfqixLqQtVNkdJdQOTKWxL6f3KzCQ0ex1GHyVFDRTLLWXQ9cgVLUnQDA+pnUjdFuECuEFA/BYrogkH9/X6/2+222+1ms1mv16vVarlcLhaL+Xw+m82m0+lkMhmPx6PRaDgcDgaDVqvFfc0NABWAWj+lj9pRFZfngvopUEQXUJ8NKKILqM8GFNEF1GcDiuiCQf1GzeE5AxTRBWp9NqCILqA+G1BEFzzq52/tENTXBnKFSHzj0da3B3KF+NXggfr2QK4QUD8FiugC6rMBRXQB9dmAIrpgHtLKswHU1wVyhfgHrrdhzczUXs0AAAAASUVORK5CYII=" alt="" />
import unittest
from tool import DateToParam
import nose_parameterized
def calc(a,b):
res=a+b
return res
class MyTest(unittest.TestCase): #参数化,自动的运行list里边的数
@nose_parameterized.parameterized.expand(DateToParam.excel(r'C:\test\test.xlsx')) def test_func(self,a,b,e):
e=float(e)
res=calc(a,b)
self.assertEqual(res,e) if __name__ == '__main__':
unittest.main()
执行查看结果:
aaarticlea/png;base64,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" alt="" />
python自动化测试学习笔记-unittest参数化的更多相关文章
- python自动化测试学习笔记-8单元测试unittest模块
官方参考文档:http://docs.python.org/2.7/library/unittest.html unittest是一个python版本的junit,junit是java中的单元测试框架 ...
- python自动化测试学习笔记-10YAML
之前学习的编写测试用例的方法,都是从excel中编写接口的测试用例,然后通过读取excel文件进行接口自动化测试,这种方式我们叫做数据驱动的方式,由于excel操作起来不灵活,无法实现关联关系的接口测 ...
- python自动化测试学习笔记-1
一.什么是自动化 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.直白的就是为了节省人力.时间或硬件资源,提高测试效率,便引入了通过软件或程序自动化执行测试用例进行测试: 二.python ...
- python自动化测试学习笔记-9测试框架
学习了这么久的python,我们已经可以自己搭建一个简单的测试和框架了,先从简单的开始,有时我们编写接口的测试用例会用excel进行编写,以下面的接口测试用例模板为例,进行编写:
- python自动化测试学习笔记-6urllib模块&request模块
python3的urllib 模块提供了获取页面的功能. urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capat ...
- python自动化测试学习笔记-5常用模块
上一次学习了os模块,sys模块,json模块,random模块,string模块,time模块,hashlib模块,今天继续学习以下的常用模块: 1.datetime模块 2.pymysql模块(3 ...
- python自动化测试学习笔记-4常用模块
常用模块 1.os 2.sys 3.random 4.string 5.time 6.hashlib 一.os模块 os模块主要用来操作文件.目录,与操作系统无关.要使用os模块首先要导入OS模块,用 ...
- python自动化测试学习笔记-4内置函数,处理json
函数.全局变量 写代码时注意的几点事项: 1.一般写代码的时候尽量少用或不用全局变量,首先全局变量不安全,大家协作的情况下,代码公用容易被篡改,其次全局变量会一直占用系统内容. 2.函数里如果有多个r ...
- python自动化测试学习笔记-2-列表
上次我们学习了python的基本概念,了解了python的变量及数据类型,并实战了条件判断,for/while循环,字符串输出,格式化输出的一些基本用法,接下来我们继续学习其他的一些数据类型. pyt ...
随机推荐
- noip模拟赛 星空
分析:非常神的一道题.迭代加深搜索+rand可以骗得20分.状压n的话只有24分,必须对问题进行一个转化. 在爆搜的过程中,可以利用差分来快速地对一个区间进行修改,把一般的差分改成异或型的差分: b[ ...
- 易碎的鸟蛋 概率DP
1007: 易碎的鸟蛋 时间限制: 1 Sec 内存限制: 128 MB提交: 396 解决: 80[提交][状态][讨论版] 题目描述 你们知道吗?西电的跳楼塔上面有一个鸟巢.某SXBK的教授对 ...
- A Simple Problem with Integers-POJ3468
Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. On ...
- NYOJ 55 懒省事的小明(哈弗曼树)
懒省事的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描写叙述 小明非常想吃果子,正好果园果子熟了. 在果园里,小明已经将全部的果子打了下来,并且按果子的不 ...
- 【剑指Offer学习】【面试题65:滑动窗体的最大值】
题目:给定一个数组和滑动窗体的大小,请找出全部滑动窗体里的最大值. 举例说明 比如,假设输入数组{2,3,4,2,6,2,5,1}及滑动窗体的大小.那么一共存在6个滑动窗体,它们的最大值分别为{4,4 ...
- Python开发【第*篇】【模块】
模块分为三种: 自定义模块 第三方模块 内置模块 1.模块导入 import model from model.xx.xx import xx from model.xx.xx import xx a ...
- iOS中.pch文件怎样使用
pch 能够用来存储共享信息,比方设备屏幕的宽度,高度.版本等等 公用信息 Xcode 老版本号会自己主动为我们创建pch文件,新版本号開始不自己主动创建了.假设须要使用能够自己手动创建 waterm ...
- 2016/1/21 练习 创建 接口interface 应用implements 类class 并实例化调用
package testinterface; public interface ICpu { //电压 public boolean dianya(); //控制 public void kongzh ...
- 项目实战之poi导出excel
所需jar包 官方下载地址:http://mirrors.hust.edu.cn/apache/poi/release/bin/poi-bin-3.17-20170915.zip 1.前端调用方法: ...
- 蓝桥 PREV-34 历届试题 矩阵翻硬币
历届试题 矩阵翻硬币 时间限制:1.0s 内存限制:256.0MB 问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵. 随后,小明对每一个硬币分别进行一次 Q 操作. 对第 ...