成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Python基于paramunittest模塊實現excl參數化

瀏覽:2日期:2022-07-27 14:28:42

一、總結說明

Windows環境安裝:paramunittest cmd輸入命令:pip install paramunittest

總結說明:

1.paramunittest是unittest實現參數化的一個專門的模塊,可以傳入多組參數,自動生成多個用例2.導入paramunittest:import paramunittest3.paramunittest支持字典、元組、列表作為入參列表格式:[['vaule'],['vaule2']],setParameters賦值的個數與列值一一對應,例如此列表格式列值只有一個,賦值時只能自定義一個值元組格式:(('pwd','vaule'),('pwd','vaule2')),元組列值必須保證兩個以上,如果只有一個值,setParameters時報錯,setParameters賦值的個數與列值一一對應,例如此元組格式列值有2個,賦值時只能自定義2個值字典格式:[{'key': 'vaule' },{'key': 'vaule2'}],字典保證key值一致,如相同個數,相同位置,例如此字典格式列值只有一個key,setParameters賦值時只能定義一個key值4.賦予列表/字典/元組值:@paramunittest.parametrized(*list/tuple)5.列表元組賦予列值:def setParameters(self, t1, t2, tN):’’’注意t1, t2, t3名稱自定義,從左到右按順序一一對應值’’’self.t1 = t1self.t2 = t2self.tN = tN6.列表元組取列值def testcase(self): self.t17.字典單賦予列值:def setParameters(self, key, keyN):’’’注意key, keyN是與字典key值必須一一對應’’’self.key = keyself.keyN = keyN8.列表元組取取列def testcase(self): self.key1,字典通過key獲取vaulue值特別注意:如列值下標大于10時,執行順序是先執行0,1再執行10,11,再執行2,3,.....9

二、源碼舉例(列表)

說明:一般讀取exel會生成一個列表,如果使用exel作為參數化,可以參考此

#!/usr/bin/python3# encoding:utf-8import unittestimport paramunittestimport timelist =[ [’test’, ’123456’, ’true’], [’test1’, ’1234564’, ’true’]]@paramunittest.parametrized(*list)class TestDemo(unittest.TestCase): def setParameters(self, user, pwd, result): ’’’注意user, pwd, result是從左到右按順序一一對應’’’ self.user = user self.pwd = pwd self.result = result def testcase(self): print('開始執行用例:--------------') time.sleep(1) print('輸入用戶名:%s' % self.user) print('輸入密碼:%s' % self.pwd) print('期望結果:%s ' % self.result) time.sleep(1) self.assertTrue(self.result == 'true')if __name__ == '__main__': #verbosity=2 顯示用例執行詳情 unittest.main(verbosity=2)

運行結果

testcase (paramunittest.TestDemo_0) ... 開始執行用例:--------------輸入用戶名:test輸入密碼:123456期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_1) ... 輸入用戶名:test1輸入密碼:1234564期望結果:true ok

----------------------------------------------------------------------Ran 2 tests in 4.003s

OK

三、源碼舉例(字典)

#!/usr/bin/python3# encoding:utf-8import unittestimport paramunittestimport timedict =[ {'user': 'test', 'pwd': '123456', 'result': 'true'}, {'user': 'test1', 'pwd': '1234564', 'result': 'true'}, {'user': 'test2', 'pwd': '1234564', 'result': 'true'}, {'user': 'test3', 'pwd': '1234564', 'result': 'true'}, {'user': 'test4', 'pwd': '1234564', 'result': 'true'}, {'user': 'test5', 'pwd': '1234564', 'result': 'true'}, {'user': 'test6', 'pwd': '1234564', 'result': 'true'}, {'user': 'test7', 'pwd': '1234564', 'result': 'true'}, {'user': 'test8', 'pwd': '1234564', 'result': 'true'}, {'user': 'test9', 'pwd': '1234564', 'result': 'true'}, {'user': 'test10', 'pwd': '1234564', 'result': 'true'}, {'user': 'test11', 'pwd': '1234564', 'result': 'true'}]@paramunittest.parametrized(*dict)class TestDemo(unittest.TestCase): def setParameters(self, user, pwd, result): ’’’user, pwd, result三個參數字典的key一一對應’’’ self.user = user self.pwd = pwd self.result = result def testcase(self): print('開始執行用例:--------------') time.sleep(1) print('輸入用戶名:%s' % self.user) print('輸入密碼:%s' % self.pwd) print('期望結果:%s ' % self.result) time.sleep(1) self.assertTrue(self.result == 'true')if __name__ == '__main__': #verbosity=2 顯示用例執行詳情 unittest.main(verbosity=2)

運行結果

#說明:框架問題:當字典大于10時,執行順序是先執行0,1再執行10,11,再執行#2,3,.....9testcase (paramunittest.TestDemo_0) ... 開始執行用例:--------------輸入用戶名:test輸入密碼:123456期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_1) ... 輸入用戶名:test1輸入密碼:1234564期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_10) ... 輸入用戶名:test10輸入密碼:1234564期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_11) ... 輸入用戶名:test11輸入密碼:1234564期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_2) ... 輸入用戶名:test2輸入密碼:1234564期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_3) ... 輸入用戶名:test3輸入密碼:1234564期望結果:true ok開始執行用例:--------------

testcase (paramunittest.TestDemo_4) ... 輸入用戶名:test4輸入密碼:1234564期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_5) ... 輸入用戶名:test5輸入密碼:1234564期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_6) ... 輸入用戶名:test6輸入密碼:1234564期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_7) ... 輸入用戶名:test7輸入密碼:1234564期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_8) ... 輸入用戶名:test8輸入密碼:1234564期望結果:true ok開始執行用例:--------------

testcase (paramunittest.TestDemo_9) ... 輸入用戶名:test9輸入密碼:1234564期望結果:true ok

----------------------------------------------------------------------Ran 12 tests in 24.018s

OK

四、源碼舉例(元組)

#!/usr/bin/python3# encoding:utf-8import unittestimport paramunittestimport timetuple=( ('test','123456','true'), ('test1','1234564','true') )#另一種賦值方式:直接賦值#@paramunittest.parametrized(# ('test','123456','true'),# ('test1','1234564','true')#)@paramunittest.parametrized(*tuple)class TestDemo(unittest.TestCase): def setParameters(self, user, pwd, result): ’’’注意user, pwd, result是從做到右按順序一一對應’’’ self.user = user self.pwd = pwd self.result = result def testcase(self): print('開始執行用例:--------------') time.sleep(1) print('輸入用戶名:%s' % self.user) print('輸入密碼:%s' % self.pwd) print('期望結果:%s ' % self.result) time.sleep(1) self.assertTrue(self.result == 'true')if __name__ == '__main__': #verbosity=2 顯示用例執行詳情 unittest.main(verbosity=2)

運行結果

testcase (paramunittest.TestDemo_0) ... 開始執行用例:--------------輸入用戶名:test輸入密碼:123456期望結果:true ok開始執行用例:--------------testcase (paramunittest.TestDemo_1) ... 輸入用戶名:test1輸入密碼:1234564期望結果:true ok

----------------------------------------------------------------------Ran 2 tests in 4.002s

OK

五、問題:

問題描述:一個元組只有一個列值,如('test'),('test1'),setParameters之后運行報錯如下:

testcase (paramunittest.TestDemo_0) ... ERRORtestcase (paramunittest.TestDemo_1) ... ERROR

======================================================================ERROR: testcase (paramunittest.TestDemo_0)----------------------------------------------------------------------Traceback (most recent call last):File 'D:pythonazlibsite-packagesparamunittest.py', line 89, in setUpself.setParameters(*parameters[0], **parameters[1])TypeError: setParameters() takes 2 positional arguments but 5 were given

解決方法:保證一個元組列值兩個以上,如('test','123456'),('test1','123')

注:只有元組有這個問題,列表或字典無此問題

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
狠狠狠色丁香婷婷综合激情| 日韩视频永久免费| 欧美一区午夜精品| 久热成人在线视频| 欧美在线观看一二区| 日本视频在线一区| 91国内精品野花午夜精品| 日本不卡的三区四区五区| 美女久久网站| 午夜一区二区三区在线观看| 久久综合导航| 日韩成人精品在线| 色噜噜偷拍精品综合在线| 奇米四色…亚洲| 精品视频1区2区3区| 国产在线精品不卡| 欧美一区二区三区日韩| 成人性生交大片| 亚洲精品一区二区三区香蕉| 不卡视频在线观看| 久久精品日韩一区二区三区| 欧美人与禽性xxxxx杂性| 国产亚洲精品7777| 激情综合视频| 亚洲国产人成综合网站| 老司机午夜免费精品视频| 麻豆国产91在线播放| 欧美三区在线观看| 国产乱淫av一区二区三区| 日韩免费高清电影| 牛牛国产精品| 亚洲少妇最新在线视频| 久久亚洲电影| 国产丶欧美丶日本不卡视频| 国产亚洲精品久| 99精品99| 日本亚洲视频在线| 91麻豆精品国产91久久久久久久久| 国产成人久久精品77777最新版本| 精品电影一区二区三区| 国产在线欧美| 午夜亚洲福利老司机| 欧美日本乱大交xxxxx| 成人18精品视频| 中文字幕综合网| 色婷婷综合五月| 大胆欧美人体老妇| 国产精品久久久久久久久图文区| 国产伦精品一区二区三区视频孕妇| 日韩和欧美一区二区| 日韩区在线观看| 尤物在线精品| 蜜臀va亚洲va欧美va天堂| 精品不卡在线视频| 亚洲日本成人| 精品在线一区二区| 国产色91在线| 久久大香伊蕉在人线观看热2| 韩国一区二区三区| 欧美激情中文字幕一区二区| 性伦欧美刺激片在线观看| 国产精品 欧美精品| 一区视频在线播放| 欧美色男人天堂| 午夜精品亚洲| 日韩中文字幕不卡| 久久亚洲综合色一区二区三区| 国产亚洲精品bv在线观看| 国产精品一区二区三区乱码| 国产精品激情偷乱一区二区∴| 91高清视频免费看| 99精品国产热久久91蜜凸| 亚洲影视在线观看| 欧美三级中文字幕在线观看| 97精品久久久久中文字幕 | 精品国产乱码久久久久久图片 | 中文日韩在线| 国产乱子轮精品视频| 亚洲欧洲日韩av| 欧美中文字幕一二三区视频| 成人综合在线观看| 亚洲国产视频网站| 精品国内二区三区| 老司机一区二区三区| 成人国产精品免费观看动漫| 亚洲国产欧美日韩另类综合 | 91精品欧美福利在线观看| 欧美区国产区| 免费高清在线视频一区·| 日韩午夜在线观看视频| 一区二区三区高清视频在线观看| 国产精品系列在线观看| 亚洲女厕所小便bbb| 91精品在线免费观看| 亚洲精品中文字幕在线| 国产成人a级片| 亚洲一区二区欧美| 精品成人一区二区三区| 久久精品免费| 欧美精品一区二区三区在线看午夜 | 精品对白一区国产伦| 亚洲欧美日本日韩| 99精品欧美一区二区蜜桃免费| 亚洲一卡二卡三卡四卡无卡久久 | 不卡av电影在线播放| 亚洲精品中文字幕乱码三区| 欧美精品亚洲二区| 国产午夜精品在线| 懂色av一区二区夜夜嗨| 一区二区三区日韩欧美精品| 日韩一区二区三区免费观看| 99热这里只有精品8| 国产传媒日韩欧美成人| 亚洲综合小说图片| 久久尤物电影视频在线观看| 一本大道av一区二区在线播放| 午夜精彩国产免费不卡不顿大片| 国内精品免费**视频| 亚洲精品ww久久久久久p站| 欧美一区二区精品| 免费试看一区| 欧美福利精品| 国内精品久久久久影院色 | 中文字幕一区二区日韩精品绯色| 欧美一卡二卡三卡| 亚洲影音先锋| 91免费看`日韩一区二区| 理论片日本一区| 亚洲日本青草视频在线怡红院 | 一区二区三区在线观看欧美| 欧美成人video| 在线欧美小视频| 99国产精品自拍| 色综合久久中文综合久久97| 九一九一国产精品| 亚洲成人在线网站| 中文字幕中文字幕一区二区| 6080午夜不卡| 久久综合中文色婷婷| 一区二区在线不卡| 99精品国产99久久久久久白柏| 国内外成人在线视频| 亚洲成av人片一区二区梦乃| 国产精品色呦呦| 精品国产乱码久久久久久免费| 欧美亚洲国产bt| 色综合 综合色| 日韩午夜av| 欧美一区91| 成人免费视频免费观看| 久久99国产精品久久| 亚洲综合网站在线观看| 中文成人av在线| 久久这里都是精品| 日韩一区二区在线看片| 欧美日韩中文国产| 欧美三级韩国三级日本三斤| 免费在线国产精品| av不卡在线| 精品91视频| 国内一区二区三区在线视频| 91在线一区二区三区| 粉嫩av一区二区三区| 国产在线国偷精品产拍免费yy| 秋霞成人午夜伦在线观看| 欧美日韩成人激情| 日本视频在线一区| 色94色欧美sute亚洲13| 国产精品分类| 97精品电影院| av亚洲精华国产精华精| 久久99国内精品| 蜜臀av性久久久久蜜臀aⅴ| 亚洲成av人片观看| 亚洲成a人在线观看| 亚洲精品高清在线| 亚洲少妇中出一区| 亚洲欧洲日韩av| 自拍偷拍亚洲欧美日韩| 亚洲欧美日韩久久精品| 亚洲日本乱码在线观看| 国产精品久久久久久久浪潮网站 | 91日韩精品一区| 午夜激情一区| 欧美激情国产日韩| 欧美一区成人| 国产精品v亚洲精品v日韩精品| 午夜激情一区| 欧美精品大片| 国产精品国产三级欧美二区| 欧美视频网站| 激情久久久久久久| 91久久在线| 久久婷婷丁香| 色婷婷av一区二区三区gif| 麻豆久久婷婷| 色婷婷国产精品综合在线观看| 91久久精品一区二区三| 欧美日韩国产中文| 欧美一卡2卡3卡4卡|