python之用unittest实现接口参数化示例
Posted denise1108
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之用unittest实现接口参数化示例相关的知识,希望对你有一定的参考价值。
示例中获取参数的方法有三种:
1. 从文件(txt)中读取参数
2. 从Excel中读取参数
3. 在代码中直接写参数
def login(username,password): return \'ok\' import unittest from parameterized import parameterized import BeautifulReport as bf import xlrd,xlwt def file_to_list(file_name): #从文件中读取参数 l = [] with open(file_name,encoding=\'utf-8\') as fr: for line in fr: line_list = line.strip().split(\',\') l.append(line_list) return l def excel_to_list(file_name): #从Excel中读取参数 l=[] book=xlrd.open_workbook(file_name) sheet=book.sheet_by_index(0) for row in range(1,sheet.nrows):#从第一行开始取值,取到最后一行 l.append(sheet.row_values(row))#将每行的数据存入大列表中,每行数据都是一个list return l class TestLogin(unittest.TestCase): #在代码中写入参数 @parameterized.expand([ [\'admin\',\'1244\',\'ok\'], [\'admin\',\'1244\',\'ok\'], [\'admin\',\'1244\',\'success\'], [\'admin\',\'1244\',\'success\'], ]) def test_login1(self,username,password,hope): \'\'\'登录\'\'\' result = login(username,password) self.assertEqual(hope,result) @parameterized.expand(file_to_list(\'register_data.txt\')) #从文件中读取参数 def test_reg(self,username,password): \'文件注册\' print(username,password) @parameterized.expand(excel_to_list(\'reg_data.xls\')) #从Excel中读取数据 def test_reg1(self,username,password): \'Excel注册\' print(username,password) # unittest.main() runner = bf.BeautifulReport(unittest.makeSuite(TestLogin)) runner.report(description=\'登录测试用例\',filename=\'login.html\')
以上代码执行结果:
..FF...............
测试已全部完成, 可前往E:\\Python学习\\pycharm\\python脚本\\day12查询测试报告
生成的报告如入:
以上是关于python之用unittest实现接口参数化示例的主要内容,如果未能解决你的问题,请参考以下文章
python接口自动化--封装和参数化及unittest用例
python unittest单元测试框架中,如何对一个testcase参数化,具体如何实现
selenium+python自动化97--unittest参数化(paramunittest)