关于加载测试用例的一些问题
Posted wangyi0419
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于加载测试用例的一些问题相关的知识,希望对你有一定的参考价值。
写了个用例,测试main执行:
if __name__ == ‘__main__‘:
print(‘哈哈哈啊哈哈哈啊哈‘)
loader = unittest.TestLoader()
# suite = loader.loadTestsFromTestCase(TestKtp) # 两种都行
suite = loader.loadTestsFromModule(‘test_case_ktp‘)
path = os.path.abspath(os.path.join(os.getcwd(), ‘..‘, ‘report‘, ‘ktp_report4.html‘))
with open(path, ‘wb‘) as file:
runner = HTMLTestRunner_cn.HTMLTestRunner(stream=file, verbosity=2, title=‘课堂派登录测试‘,
description=‘用不同的账号密码对登陆进行测试‘)
runner.run(suite)
或者在run模块执行:
import os
import sys
# sys.path.append(os.path.dirname(os.path.dirname(__file__)))
sys.path.append(os.path.abspath(os.path.join(os.getcwd(), ‘..‘)))
import unittest
from test_case.test_case_ktp import TestKtp
from common import HTMLTestRunner_cn
from test_case import test_case_ktp
from tool import read_excel
# loader = unittest.TestLoader()
# # suite = loader.loadTestsFromTestCase(TestKtp) # 这种行,下面不行
# suite = loader.loadTestsFromModule(‘test_case_ktp‘)
suite = unittest.TestSuite() # 用例仓库
suite.addTest(TestKtp(‘test_login‘)) # TestMathMethod的父类有初始化函数,要传参methodName=‘runTest‘
path = os.path.abspath(os.path.join(os.getcwd(), ‘..‘, ‘report‘, ‘ktp_report5.html‘))
with open(path, ‘wb‘) as file:
runner = HTMLTestRunner_cn.HTMLTestRunner(stream=file, verbosity=2, title=‘课堂派登录测试‘,
description=‘用不同的账号密码对登陆进行测试‘)
runner.run(suite)
发现:
在main里面以unittest的方式通过HTMLTestRunner运行测试用例是得不到测试报告的,
必须以文件名的方式运行,加载用例用加载器FromModule和FromTestCase都可以,或者在模块以外用FromTestCase加载用例去运行,
此时用FromModule却不行,但不报错,若用suite=unittest.testsuite(),suite.addTest(TestKtp(‘test_login‘))添加用例,无论在
main里还是在模块外的run模块里执行都会报错,不知道为什么!!!是本来就是这样还是与我代码运行环境有关,不得而知.
以上是关于关于加载测试用例的一些问题的主要内容,如果未能解决你的问题,请参考以下文章