接口系列 十二、python paramunittest 实现 excl参数化

文章描述:-2022年2月19日发(作者:中国姓氏大全)一、总结说明Windows环境安装:paramunittest cmd输入命令:pip install paramunittest总结说明:nittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 2.导入paramunittest:import paramunittest nittest支持字典、元组、列表作为入

-

接口系列 十二、python paramunittest 实现 excl参数化 2022年2月19日发(作者:中国姓氏大全)


一、总结说明
Windows环境安装:paramunittest cmd输入命令:pip install paramunittest
总结说明:
nittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 
2.导入paramunittest:import paramunittest 
nittest支持字典、元组、列表作为入参 
列表格式:[[],[]],setParameters赋值的个数与列值一一对应,例如此列表格式列值只有
一个,赋值时只能自定义一个值
元组格式:((,),(,)),元组列值必须保证两个以上,如果只有一个值,
setParameters时报错,setParameters赋值的个数与列值一一对应,例如此元组格式列值有2个,赋值时只能
自定义2个值 
字典格式:[{:  },{: }],字典保证key值一致,如相同个数,相同位置,例如
此字典格式列值只有一个key,setParameters赋值时只能定义一个key值 
4.赋予列表字典元组值:@trized(*listtuple) 
5.列表元组赋予列值:def setParameters(self, t1, t2, t): 
        '''注意t1, t2, t3名称自定义,从左到右按顺序一一对应值''' 
         = t1 
         = t2 
         = t 
6.列表元组取列值def testcase(self):  
7.字典单赋予列值:def setParameters(self, key, key): 
        '''注意key, key是与字典key值必须一一对应''' 
         = key 
         = key 
8.列表元组取取列def testcase(self): 1,字典通过key获取vaulue值 
特别注意:如列值下标大于10时,执行顺序是先执行0,1再执行10,11,再执行2,3,.....9 
二、源码举例(列表)
说明:一般读取exel会生成一个列表,如果使用exel作为参数化,可以参考此
#!usrbinpython3 
# encoding:utf‐8 
import unittest 
import paramunittest 
import time 
list =[ 
    ['test', '123456', 'true'],  
    ['test1', '1234564', 'true'] 

@trized(*list) 
class TestDemo(se): 
    def setParameters(self, user, pwd, result): 


        '''注意user, pwd, result是从左到右按顺序一一对应''' 
         = user 
         = pwd 
         = result 
    def testcase(self): 
        print(开始执行用例:‐‐‐‐‐‐‐‐‐‐‐‐‐‐) 
        (1) 
        print(输入用户名:%s % ) 
        print(输入密码:%s % ) 
        print(期望结果:%s  % ) 
        (1) 
        True( == ) 
if __name__ == : 
    #verbosity=2 显示用例执行详情 
    (verbosity=2) 
运行结果
testcase (mo_0) ... 开始执行用例:‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
输入用户名:test 
输入密码:123456 
期望结果:true  
ok 
开始执行用例:‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
testcase (mo_1) ... 输入用户名:test1 
输入密码:1234564 
期望结果:true  
ok 
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
Ran 2 tests in 4.003s 
OK 
二、源码举例(字典)
#!usrbinpython3 
# encoding:utf‐8 
import unittest 
import paramunittest 
import time 
dict =[ 
    {: , : , : }, 
    {: , : , : }, 
    {: , : , : }, 
    {: , : , : }, 
    {: , : , : }, 


    {: , : , : }, 
    {: , : , : }, 
    {: , : , : }, 
    {: , : , : }, 
    {: , : , : }, 
    {: , : , : }, 
    {: , : , : } 

@trized(*dict) 
class TestDemo(se): 
    def setParameters(self, user, pwd, result): 
        '''user, pwd, result三个参数字典的key一一对应''' 
         = user 
         = pwd 
         = result 
    def testcase(self): 
        print(开始执行用例:‐‐‐‐‐‐‐‐‐‐‐‐‐‐) 
        (1) 
        print(输入用户名:%s % ) 
        print(输入密码:%s % ) 
        print(期望结果:%s  % ) 
        (1) 
        True( == ) 
if __name__ == : 
    #verbosity=2 显示用例执行详情 
    (verbosity=2) 
运行结果
#说明:框架问题:当字典大于10时,执行顺序是先执行0,1再执行10,11,再执行#2,3,.....9 
testcase (mo_0) ... 开始执行用例:‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
输入用户名:test 
输入密码:123456 
期望结果:true  
ok 
开始执行用例:‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
testcase (mo_1) ... 输入用户名:test1 
输入密码:1234564 
期望结果:true  
ok 
开始执行用例:‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
testcase (mo_10) ... 输入用户名:test10 
输入密码:1234564 
期望结果:true  
ok 
开始执行用例:‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
testcase (mo_11) ... 输入用户名:test11 
输入密码:1234564 
期望结果:true  
ok 
开始执行用例:‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 

-

接口系列 十二、python paramunittest 实现 excl参数化

发布时间:2022-02-19 01:33:25
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 9 条评论,483人围观)

最近发表

随便看看

热门文章

标签列表