5.unittest处理关联接口
基本不存在单独的接口,一般都是依赖接口,比如购买商品,依赖登录接口返回的token或者session,这些都是变化的,那怎么在unittest里实现呢?代码如下:
1 #接口关联,只是一个思路,并没有结合实际的项目,有兴趣的同学可以尝试下 2 import unittest,HTMLTestRunner 3 def login(username,passwd): 4 if username=='xiaogang' and passwd=='123456': 5 return '138' 6 else: 7 return False 8 9 def shopping(sign): 10 if sign=='138': 11 return True 12 else: 13 return False 14 15 class My(unittest.TestCase): 16 def login(self): #注意,这里不以test开头命名,就是一普通方法,在执行测试用例的时候并不会运行,调用的时候才会 17 res=login('xiaogang','123456') 18 self.assertEqual(res,'138') 19 return res 20 21 def test_login_cj(self): 22 res=self.login() #调用登录方法,获取sign 23 self.jp=shopping(res) 24 self.assertEqual(self.jp,True) 25 26 suite=unittest.TestSuite() 27 suite.addTest(unittest.makeSuite(My)) 28 fw=open('res.html','wb') 29 runner=HTMLTestRunner.HTMLTestRunner( 30 stream=fw,title='关联接口',description='描述' 31 ) 32 # runner=xmlrunner.XMLTestRunner(output='.') 33 runner.run(suite) |
6.unittest批量读取python文件获取所有测试用例
每个python文件里放不同的功能测试用例,方便维护,那么怎么把他们一次性运行完呢,这里就用到了unittest里的 defaultTestLoader.discover方法了,用法如下:
import unittest,HTMLTestRunner suite = unittest.TestSuite()#定义测试集合 all_case = unittest.defaultTestLoader.discover( r'E:\szg\bestTest\day11\AUTO\case','test_*.py' )#找到case目录下所以的.py文件 for case in all_case: #循环添加case到测试集合里面 suite.addTests(case) fw = open('report.html','wb') runner = HTMLTestRunner.HTMLTestRunner( stream=fw,title='多个文件运行' ) runner.run(suite) |
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。