class TestLogin(unittest.TestCase): excel = ReadExcel('cases.xlsx', 'login') login_data = excel.read_excel() @data(*login_data) def test_login(self, case): # 1、准备测试数据 case_data = eval(case['data']) expected = eval(case['expected']) case_id = case['case_id'] # 2、执行功能函数 result = login_check(*case_data) # 3、比对预期结果与实际结果 try: self.assertEqual(expected, result) except AssertionError as e: self.excel.write_excel(row=case_id + 1, column=5, value='未通过') raise e else: self.excel.write_excel(row=case_id + 1, column=5, value='通过')
class LoginTestCase(unittest.TestCase): excel = ReadExcel("cases.xlsx", "login") cases = excel.read_data() @data(*cases) def test_login(self, case): # 第一步:准备用例的执行的数据 case_data = eval(case["data"]) expected = eval(case["expected"]) case_id = case["case_id"] # 第二步:调用功能函数,获取实际结果 result = login_check(*case_data) # 第三步:比对实际结果和预期结果 try: self.assertEqual(expected, result) except AssertionError as e: # 用例执行未通过 self.excel.write_data(row=case_id + 1, column=5, value="未通过") raise e else: self.excel.write_data(row=case_id + 1, column=5, value="通过")
""" ============================ Author:柠檬班-木森 Time:2019/11/18 E-mail:[email protected] Company:湖南零檬信息技术有限公司 ============================ """ import unittest # 导入登录功能函数 from login import login_check from readexcel import ReadExcel from register import register excel = ReadExcel("cases.xlsx", "login") excel2 = ReadExcel("cases.xlsx", "register") # 定义登录的测试用例类 class LoginTestCase(unittest.TestCase): def __init__(self, methodName, data, expected, case_id): super().__init__(methodName) self.data = data self.expected = expected self.case_id = case_id def test_login(self): # 第一步:准备用例数据 # 1、用例的参数:
E-mail:[email protected] Company:湖南零檬信息技术有限公司 ============================ """ import unittest from HTMLTestRunnerNew import HTMLTestRunner from readexcel import ReadExcel from testcases import LoginTestCase, RegisterTestCase # 第一步,创建一个测试套件 suite = unittest.TestSuite() # 第二步:将测试用例,加载到测试套件中 # 1、读取登录功能函数的用例数据,创建用例对象,添加到套件 excel = ReadExcel("cases.xlsx", "login") cases = excel.read_data() for item in cases: # 创建一个用例对象 case = LoginTestCase("test_login", eval(item['data']), eval(item["expected"])) suite.addTest(case) # 2、读取注册功能函数的用例数据,创建用例对象,添加到套件 excel = ReadExcel("cases.xlsx", "register") cases = excel.read_data() for item in cases: case = RegisterTestCase("test_register", eval(item["data"]), eval(item["expected"])) suite.addTest(case)
from readconfig import ReadConfig from readexcel import ReadExcel readconfig = ReadConfig() path = ReadExcel().get_xlsx('interface_usecases.xlsx', 'login')[0][3] # print(path) class GetUrlParams(): # 定义一个方法,将从配置文件中读取的进行拼接 def get_url(self): config_url = readconfig.get_http("baseurl") if config_url != 'https://api.aircourses.com': new_url = readconfig.get_http('baseurl') + ":" + readconfig.get_http('port') + path+"?" else: new_url = config_url+"?" # logger.info('new_url'+new_url) return new_url if __name__ == '__main__': # 验证拼接后的正确性 print(__file__) print(GetUrlParams().get_url())
""" 这个文件是测试程序运行的启动文件 """ import unittest from HTMLTestRunnerNew import HTMLTestRunner from testcases import LoginTestCase from readexcel import ReadExcel # 第一步,创建一个测试套件 suite = unittest.TestSuite() # 第二步:将测试用例,加载到测试套件中 # 读取excel中所有的用例数据 excel = ReadExcel("cases.xlsx", "login") cases = excel.read_data() for item in cases: # 创建一个用例对象 case = LoginTestCase("test_login", eval(item['data']), eval(item["expected"])) suite.addTest(case) # # 注意点:通过用例类去创建测试用例对象的时候,需要传入用例的方法名(字符串类型) # case = LoginTestCase("test_login",("python24", "lemonban"),{"code": 0, "msg": "登录成功"}) # suite.addTest(case) # 第三步:创建一个测试运行程序启动器 runner = HTMLTestRunner( stream=open("report.html", "wb"), # 打开一个html格式报告文件,将句柄传给stream