四、addTest方法执行测试用例

本文介绍了一个使用Python的unittest框架进行单元测试的例子。演示了如何创建测试套件并添加多个测试用例,最后运行这些测试用例的过程。对于理解unittest的基本用法及如何组织测试非常有帮助。
import unittest

import testsuits

from testsuits.SearchBaidu import Test2

from testsuits.estuser import Test1


suite = unittest.TestSuite() #获取测试套件
suite.addTest(Test1('test_get_title')) #添加类中的测试用例
suite.addTest(Test2('testName'))#添加类中的测试用例

if __name__=="__main__":
    runner = unittest.TextTestRunner()#通过unittest自带的TextTestRunner方法
    runner.run(suite) 运行run
在使用Python的unittest+requests+HTMLTestRunner框架结合Excel测试用例进行接口自动化测试时,要实现定时循环执行测试用例,可以考虑以下步骤: 1. **导入所需库**[^1]: ```python import unittest from requests import get from HTMLTestRunner import HTMLTestRunner import pandas as pd ``` 2. **读取Excel测试用例**: 使用pandas库从Excel文件加载测试数据: ```python df_test_cases = pd.read_excel('test_cases.xlsx') test_cases = df_test_cases.values.tolist() ``` 3. **定义测试类**: 对每个测试用例创建一个单独的测试方法,例如: ```python class TestInterface(unittest.TestCase): def test_case(self, url, expected_result): response = get(url) self.assertEqual(response.status_code, expected_result) ``` 4. **设置定时器**[^2]: 为了定期执行测试,可以使用`threading`模块创建一个新的线程,比如每5秒执行一次: ```python import threading class TimerThread(threading.Thread): def __init__(self, interval, function): super().__init__() self.interval = interval self.function = function def run(self): while True: self.function(test_cases) time.sleep(self.interval) def execute_testsuite(test_cases): suite = unittest.TestSuite() for case in test_cases: suite.addTest(TestInterface('test_case', *case)) runner = HTMLTestRunner(stream=sys.stdout, title='Test Results') runner.run(suite) ``` 5. **启动定时任务**: 创建并启动定时任务线程: ```python timer_thread = TimerThread(5, execute_testsuite) timer_thread.start() ``` 6. **确保清理资源**: 结束测试后,记得关闭线程以避免阻塞: ```python timer_thread.join() # 等待定时线程完成 ``` 请注意,这只是一个基本示例,实际应用可能需要更复杂的逻辑来管理和控制测试执行流程。另外,测试用例执行顺序取决于具体实现,可能不会完全按照Excel表中的顺序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值