关于加载测试用例的一些问题

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模块里执行都会报错,不知道为什么!!!是本来就是这样还是与我代码运行环境有关,不得而知.

以上是关于关于加载测试用例的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

Maven 进行单元测试用例的使用,加载的资源是哪里的

我的测试用例设计-01测试用例的个人见解

Robot Framework 获取当前测试用例的名称

测试用例cicd怎么实现的

论测试用例的重要性

用于失败测试用例的 J Meter 电子邮件配置