自动化测试selenium + chrome + unittest + HTMLTestRunner,生成测试报告(二)测试套件

本文介绍了如何利用Python的selenium, chrome, unittest框架以及HTMLTestRunner库,组织测试套件,解决多测试用例管理和生成详细测试报告的问题。通过将测试用例存储在列表中并批量添加到测试套件,简化了测试执行流程。" 114913208,10541701,Python 2D动画:使用matplotlib和pyplot动态绘制xy坐标,"['python', 'matplotlib', '动画', '2D绘图']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢?
2. 一个测试文件,我们直接执行该文件即可,但如果有多个测试文件,怎么进行组织,总不能一个个文件执行吧?

要解决上面两个问题,我们就要用到测试套件(TestSuite)了

# 脚本文件:baidu.py
from selenium import webdriver
import unittest

driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
class CmsLoginTest(unittest.TestCase):
    def input(self):

        global driver
        # 百度输入框输入搜多内容
        driver.find_element_by_id("kw").send_keys("unittest的使用")
    def client(self):
        global driver
        driver.find_element_by_id("su").click()        # 点击搜索
运行文件:run.py
import unittest
import time
from channel import baidu
from HTMLTestRunnerCN import HTMLTestRunner

testsuite = unittest.TestSuite()
# 如果多个测试用例就需要,添加多个addTest
testsuite.addTest(baidu.CmsLoginTest('input'))
testsuite.addTest(baidu.CmsLoginTest('client'))

now = time.strftime("%Y-%m-%d")
filename = now + "baidu_TestResult.html"
with open(filename, 'wb') as fp:
    runner = HTMLTestRunner(stream=fp, title='WEB主站测试报告', description='用例执行情况')
    runner.run(testsuite)

通过以上代码,如果多个测试用例就需要,添加多个addTest,有点麻烦;
我们可以把要执行的测试用例用个列表来管理,然后再把这个列表添加到测试套件中,如下代码:

运行文件run.py
import unittest
import time
from channel import baidu
from HTMLTestRunnerCN import HTMLTestRunner

testsuite = unittest.TestSuite()

teat_cases = [baidu.CmsLoginTest('input'),baidu.CmsLoginTest('client')]
testsuite.addTests(teat_cases)


now = time.strftime("%Y-%m-%d")
filename = now + "baidu_TestResult.html"
with open(filename, 'wb') as fp:
    runner = HTMLTestRunner(stream=fp, title='WEB主站测试报告', description='用例执行情况')
    runner.run(testsuite)

注意:addTests是添加的列表,addTest是添加的单个用例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值