做接口测试的时候,当一个参数需要输入多个值的时候,就可以使用参数来实现;

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参数化的更多相关文章

  1. python自动化测试学习笔记-8单元测试unittest模块

    官方参考文档:http://docs.python.org/2.7/library/unittest.html unittest是一个python版本的junit,junit是java中的单元测试框架 ...

  2. python自动化测试学习笔记-10YAML

    之前学习的编写测试用例的方法,都是从excel中编写接口的测试用例,然后通过读取excel文件进行接口自动化测试,这种方式我们叫做数据驱动的方式,由于excel操作起来不灵活,无法实现关联关系的接口测 ...

  3. python自动化测试学习笔记-1

    一.什么是自动化 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.直白的就是为了节省人力.时间或硬件资源,提高测试效率,便引入了通过软件或程序自动化执行测试用例进行测试: 二.python ...

  4. python自动化测试学习笔记-9测试框架

    学习了这么久的python,我们已经可以自己搭建一个简单的测试和框架了,先从简单的开始,有时我们编写接口的测试用例会用excel进行编写,以下面的接口测试用例模板为例,进行编写:

  5. python自动化测试学习笔记-6urllib模块&request模块

    python3的urllib 模块提供了获取页面的功能. urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capat ...

  6. python自动化测试学习笔记-5常用模块

    上一次学习了os模块,sys模块,json模块,random模块,string模块,time模块,hashlib模块,今天继续学习以下的常用模块: 1.datetime模块 2.pymysql模块(3 ...

  7. python自动化测试学习笔记-4常用模块

    常用模块 1.os 2.sys 3.random 4.string 5.time 6.hashlib 一.os模块 os模块主要用来操作文件.目录,与操作系统无关.要使用os模块首先要导入OS模块,用 ...

  8. python自动化测试学习笔记-4内置函数,处理json

    函数.全局变量 写代码时注意的几点事项: 1.一般写代码的时候尽量少用或不用全局变量,首先全局变量不安全,大家协作的情况下,代码公用容易被篡改,其次全局变量会一直占用系统内容. 2.函数里如果有多个r ...

  9. python自动化测试学习笔记-2-列表

    上次我们学习了python的基本概念,了解了python的变量及数据类型,并实战了条件判断,for/while循环,字符串输出,格式化输出的一些基本用法,接下来我们继续学习其他的一些数据类型. pyt ...

随机推荐

  1. ZOJ2193 AOV建模

    每个窗口有四个小区域组成,那么不断往前递推,到达打开当前窗口时必然是那些在上面出现的窗口都已经被打开过了,那么我们可以认为是在第i个窗口的位置上出现了 j , 那么in[i]++ , 只有 i 入度为 ...

  2. LA3263 一笔画

    题目大意:依次给定多个点(要求第一个点和最后一个点重叠),把前后两个点相连求最后得到的图形的面的个数 根据欧拉定理: 设平面图的顶点数为V,边数为E,面数为F,则V+F-E = 2 这里的E是指如果一 ...

  3. Django组件:(6)cookie 和 session

    会话:会话可理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应:在JavaWeb中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束. 在一个会话的 ...

  4. 天才的记忆(vijos 1514)

    描述 从前有个人名叫W and N and B,他有着天才般的记忆力,他珍藏了许多许多的宝藏.在他离世之后留给后人一个难题(专门考验记忆力的啊!),如果谁能轻松回答出这个问题,便可以继承他的宝藏.题目 ...

  5. Linux下汇编语言学习笔记27 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  6. 深入理解hadoop(一)

    hadoop 前世今生  hadoop最早起源于开源收缩引擎nutch,由dong cutting 贡献,但由于nutch最初的设计不能解决数10亿级别的文件存储和索引而遇到了严重的可扩展性问题,直到 ...

  7. bzoj——3555: [Ctsc2014]企鹅QQ

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 2617  Solved: 921[Submit][Statu ...

  8. 苹果Macbook Air怎么安装Win7系统图解教程

    下面开始我们在苹果Macbook Air上的Windows7之旅吧.

  9. Elasticsearch学习系列之mapping映射

    什么是映射 为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确(Exact-value)的字符串值,Elasticsearch需要知道每个字段里面 ...

  10. win7如何更改语言教程

    一.首先从桌面左下角的开始菜单中找到“控制面板”,然后打开,如下图所示: 打开电脑控制面板 二.进入控制面板之后,我们再进入“时钟.语言和区域”设置,如下图所示: 电脑语言改成英文方法 三.进入电脑语 ...