首页 > 其他分享 >Selenium28-测试报告

Selenium28-测试报告

时间:2022-12-26 18:23:10浏览次数:39  
标签:测试报告 HTMLTestRunner Selenium28 测试运行 套件 测试 suite 加载

批量运行

  • 为什么要批量运行?
    • 测试用例数量庞大,需要一次运行,查看所有用例的运行结果。
  • 什么是测试套件和测试运行器?
    • TestSuite(测试套件)是为了测试执行而分组的测试用例集合。
    • TestRunner(测试运行器)用于运行测试套件里所有用例,生成报告。
  • 怎么批量运行?

批量运行步骤

  • 创建测试套件对象

    suite = unittest.TestSuite()
    
  • 加载测试用例到测试套件中

    # 支持一次加载一个或多个
    # addTest()加载一个测试用例类名("方法名")的格式
    suite.addTest(MyTestCase("test_add1"))
    # addTests([,]) 加载多个测试用例(列表、元组、字典)
    suite.addTests([MyTestCase("test_add1"),MyTestCase("test_add2")])
    
  • 创建测试运行器对象

    """
    	TextTestRunner(文本测试运行器)是默认的测试运行器,可以用于批量运行测试套件里所有已加载的测试用例,生成文本格式的测试报告结果,显示在控制台里
    """
    # 创建TextTestRunner对象
    runner = unittest.TextTestRunner(verbosity=2)
    # verbosity是可选参数,默认是1为粗略模式,建议设置为2详细模式
    
  • 使用运行器运行测试套件

    runner.run(suite)
    

测试套件合并

在上面加载测试用例到测试套件中,也可以替换为加载一个或多个测试套件到其它测试套件里

suite2.addTest(suite1) # 加载一个测试套件
suite3.addTests([suite1,suite2]) # 加载多个测试套件

TestLoader(测试加载器)

解决的问题:

  • 用测试套件自带的addTest或addTests方法添加测试方法时,如果方法较多,代码冗余,而且每次还需要先创建TestSuite对象实例,比较麻烦
  • TestLoader(测试加载器)可以自动创建测试套件对象并且更灵活的选择和加载多个测试用例
# 创建一个测试加载器对象
# unittest.defaultTestLoader是unittest框架准备好的TestLoader对象实例,可以直接使用它来调用TestLoader类的各种方法
# 使用测试加载器对象加载用例
# loadTestsFromTestCase()方法:直接导入一个类,参数是类名
suite = unittest.defaultTestLoader.loadTestsFromTestCase(MyTestCase)
# loadTestsFromName()方法:加载1个测试方法,参数是方法路径(目录/文件/类/方法)
suite = unittest.defaultTestLoader.loadTestsFromName('testcase.testcaseDemo01.MyTestCase.test_add1')
# loadTestsFromNames()方法:加载多个测试方法,参数是方法路径列表(目录/文件/类/方法)
suite = unittest.defaultTestLoader.loadTestsFromNames(['testcase.testcaseDemo01.MyTestCase.test_add1','testcase.testcaseDemo01.MyTestCase.test_add2'])
# loadTestsFromModule()方法:导入模块,参数是模块名(py文件名)
suite = unittest.defaultTestLoader.loadTestsFromModule(testcaseDemo01)
# discover()方法:直接导入特定路径下符合特定命名规则模块里的用例
# 路径支持绝对路径和相对路径
# 加载所有名称以testcase开头的用例到测试套件中
suite = unittest.defaultTestLoader.discover('路径','testcase*.py')
# 注意:最常用的就是discover()方法


文本测试运行器问题

问题:默认使用TextTestRunner(文本测试运行器)只能生成文本格式的测试结果报告,显示在控制台里,结果展示不够直观
解决方案:要构建直观易读的测试报告,可以替换为第三方测试运行器HTMLTestRunner(HTML测试运行器)

HTMLTestRunner(HTML测试运行器)

  • 可以使用HTMLTestRunner模块直接生成HTML格式的报告(网页样式,可以在浏览器中查看)

  • HTMLTestRunner不是Python自带模块,也不能通过pip工具进行安装,它是一个独立存在的模块

HTMLTestRunner使用方法

  • 导入HTMLTestRunner模块里的同名类,打开html格式的文件、构建HTMLTestRunner对象、运行测试套件

    from utils.HTMLTestRunner import HTMLTestRunner
    whit open("..\\report\\result.html","wb") as result_file:
    	runner = HTMLTestRunner(result_file,verbosity=2,title='测试报告',description="以下是本次测试结果详情:")
    	runner.run(suite)
    

注意:html报告文件可自动创建,但它所属目录须提前手工准备好

生成HTML格式报告

  • 用浏览器打开HTML格式的测试结果报告文件,整个测试套件的运行结果清晰明了。

标签:测试报告,HTMLTestRunner,Selenium28,测试运行,套件,测试,suite,加载
From: https://www.cnblogs.com/sean-test/p/17006403.html

相关文章

  • 液体眼线笔BCOP测试报告
    什么产品需要这个认证呢?像接触眼睛外贸论坛外贸论坛的眼影,液体眼线笔,磁性睫毛,假睫毛,等都可能会对眼睛产生eBay论坛eBay论坛一定外贸论坛外贸论坛的刺激,所以亚马逊现在也在严......
  • 亚马逊儿童围栏ASTMF406测试报告CPSIA测试
    亚马逊美国CPC认证儿童安全围栏ASTMF406检测标准CPC认证就是儿童产品安全证书(Children’sProductCertificate,CPC)适用于所有以12岁及以下儿童为主要目标使用对象的产品,......
  • 《unittestreport》测试报告库
    《unittestreport》测试报告库目前实现了以下功能:HTML测试报告生成unittest数据驱动测试用例失败重运行多线程并发执行用例发送测试结果及报告到邮箱测试结果推送......
  • Pytest23--生成测试报告
    生成测试报告测试报告中至少可以显示执行了多少条用例,用例信息如何,多少条用例执行成功,多少条用例执行失败,多少用例出错使用步骤1)安装pytest-html插件pipinstallpytest-ht......
  • 【Java自动化测试】-TestNG生成测试报告(3种方式)
    一、生成TestNG自带的默认报告UseDefaultReportters1、配置Run/Debug点击右上角EditConfigurations打开配置编辑: 打开后选中要执行的文件,在监听器Listeners中勾选上......
  • Appium之与Jenkins集成发送测试报告-软件测试知识
    一、jenkins的环境配置详细见Jenkins环境搭建篇二、Appium+Jenkins构建配置1.登录Jenkins系统,点击‘新建’2.输入项目名称,选择第一个选项,点击保存......
  • Postman核心功能解析-参数化和测试报告
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试1.参数化......
  • Python单元测试报告框架PyTestReport
    文章目录开局一张图安装通过pip安装通过安装包通过源码(最新版本)使用单元测试使用样例附录​​原文链接​​如果你是Java栈的同学,那么你可能知道extentreport测试报告框架。......
  • 电动自行车出口美国亚马逊UL2849测试报告
    电动自行车安全测试标准UL2849报告电动自行车安全测试标准UL2849报告锂离子电池技术正不断广泛应用在诸如平衡车、电动踏板自行车(电动自行车)、电动摩托车和电动滑板车等个人......
  • Allure测试报告怎么设置
    Allure测试报告环境搭建allure的测试报告是老板喜欢的样子。如果能用上allure,干嘛还选择其他的测试报告类型呢?python的pytest单元测试框架有allure的插件,可以很方便......