同志们,老铁们,继上篇文章 web自动化测试实战之批量执行测试用例 之后我们接着继续往下走,有人说我们运行了所有测试用例,控制台输入的结果,如果很多测试用例那也不能够清晰快速的知道多少用例通过率以及错误情况。

web自动化测试实战之批量执行测试用例 场景: 运行  AllTest.py 文件后得到的测试结果不够专业,无法直观的分析测试结果,我们能否有一个报告直接展示我测试用例运行的测试结果呢。答案是,当然有。

这里我们需要借助第三方库生成HTML格式的测试报告。这里用到的库是 HTMLTestRunner.py / HTMLTestReportCN.py 文件存放路径为 Python安装路径的Lib子文件夹中例如:F:\python3\Lib 如下图,那么当我们将包成功导入到LIb目录下后,我们可以在 AllTest.py 代码开头直接引用我们对应的报告格式包。

备注: HTMLTestRunner.py  HTMLTestReportCN.py  一会最后小编会将包打包好推送给大家,都是基于Python3源码都根据python3修改支持使用的,2个包用法是一致,只是展示报告的风格不同一会儿小编会给你介绍大概样式,各位可以喜欢那种就引用哪种。

现在我们的包导入进来,接着我们要做的是生成的报告我们也要创建一个目录存在报告文件例如:'F:\\python3\\report'  ,好报告的包导入了,存放报告的目录我们也创建好了,那么我们来看看基于上篇 AllTest.py 执行所有测试用例直接输出到报告怎么写

01.第一种我们引用的 HTMLTestReportCN.py 如下代码

  1. # -*-coding=utf-8-*-
  2. import unittest
  3. import os, time
  4. import HTMLTestReportCN
  5.  
  6. # 用例路径
  7. case_path = 'F:\\python3\\python_code\\test_case_suite'
  8.  
  9. def AllTest():
  10. '''获取所有的测试模块'''
  11. suite = unittest.TestLoader().discover(
  12. start_dir=os.path.dirname(case_path),
  13. pattern='case*.py',
  14. top_level_dir=None
  15. )
  16. return suite
  17.  
  18. def getNowTime():
  19. '''获取当前的时间'''
  20. return time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))
  21.  
  22. def run():
  23. fileName = os.path.join('F:\\python3\\report',
  24. getNowTime() + 'report.html')
  25.  
  26. fp = open(fileName,'wb')
  27. runner = HTMLTestReportCN.HTMLTestRunner(
  28. stream=fp,
  29. title=u'项目测试环境单元测试报告',
  30. description=u'注:为减少时间人力成本,提高转测质量,特每次对测试环境待发布的代码会对基础功能模块进行单元测试,进一步的提高测试效率,如下为用例执行结果,请查阅!')
  31.  
  32. runner.run(AllTest())
  33.  
  34. if __name__ == '__main__':
  35. run()

  

注解:在以上完善后的AllTest.py文件中其中导入了os,timemo模块、HTMLTestReportCN 库。getNowTime 方法用来获取当前时间,每一次生成的测试报告如果文件名称一致,由于加上了最新时间信息,便可以根据文件名称确认哪个是最新的测试报告

run 方法用来执行测试套件中的测试用例和生成测试报告。在report 文件夹下生成了最新的测试报告,report的目录如下图所示

02.第二种我们引用的 HTMLTestRunner.py 如下代码

  1. # -*-coding=utf-8-*-
  2. import unittest
  3. import os, time
  4. import HTMLTestRunner
  5.  
  6. # 用例路径
  7. case_path = 'F:\\python3\\python_code\\test_case_suite'
  8.  
  9. def AllTest():
  10. '''获取所有的测试模块'''
  11. suite = unittest.TestLoader().discover(
  12. start_dir=os.path.dirname(case_path),
  13. pattern='case*.py',
  14. top_level_dir=None
  15. )
  16. return suite
  17.  
  18. def getNowTime():
  19. '''获取当前的时间'''
  20. return time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))
  21.  
  22. def run():
  23. fileName = os.path.join('F:\\python3\\report',
  24. getNowTime() + 'report.html')
  25.  
  26. fp = open(fileName,'wb')
  27. runner = HTMLTestRunner.HTMLTestRunner(
  28. stream=fp,
  29. title=u'巡服带教测试环境单元测试报告',
  30. description=u'注:为减少时间人力成本,提高转测质量,特每次对测试环境待发布的代码会对基础功能模块进行单元测试,进一步的提高测试效率,如下为用例执行结果,请查阅!')
  31.  
  32. runner.run(AllTest())
  33.  
  34. if __name__ == '__main__':
  35. run()

  

查看报告输出样式

以上就是web自动化批量执行用例之后如果生成报告文件,最近工作比较繁忙,会抽空给大家分享好文,持续分享持续输出,希望本文对你们会有所帮助。

web自动化测试实战之生成测试报告的更多相关文章

  1. web自动化测试实战之批量执行测试用例

    01实战之分离测试固件 在UI 自动化测试中,不管编写哪个模块的测试用例,都需要首先在测试类中编写测试固件初始化WebDriver类及打开浏览器,执行登录,才能进行下一步业务逻辑的操作,测试用例执行完 ...

  2. 记录python接口自动化测试--利用unittest生成测试报告(第四目)

    前面介绍了是用unittest管理测试用例,这次看看如何生成html格式的测试报告 生成html格式的测试报告需要用到 HTMLTestRunner,在网上下载了一个HTMLTestRunner.py ...

  3. .NET项目web自动化测试实战——Selenium 2.0

    PS:这次用公司的项目来练手,希望公司不会起诉我,因为我绝对是抱着学习的态度,没有任何恶意.仅供交流学习. 该项目是基于SharePoint平台所开发的门户网站,为了切身感受一下Selenium 2. ...

  4. python - 接口自动化测试实战 - case1 - 优化版

    题目: 基于以下两个接口和数据完成接口自动化测试,并生成测试报告: '''登录 login='http://47.107.168.87:8080/futureloan/mvc/api/member/l ...

  5. Python Web自动化测试入门与实战,从入门到入行

    Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html   天猫:https://detail.tmall.com/it ...

  6. Web自动化测试项目(四)测试报告

    测试报告生成 使用HTMLTestRunner 生成测试报告 本文使用的 HTMLTestRunner 来源于github: https://github.com/githublitao/HTMLTe ...

  7. selenium3与Python3实战 web自动化测试框架 ☝☝☝

    selenium3与Python3实战 web自动化测试框架 selenium3与Python3实战 web自动化测试框架 学习 教程 一.环境搭建 1.selenium环境搭建 Client: py ...

  8. selenium3 web自动化测试框架 四:Unittest介绍及项目实战中的运用

    unittest介绍及运用,可以参考之前写的文章,除了未结合web自动化演示,基础知识都有了 https://www.cnblogs.com/wuzhiming/p/8858305.html unit ...

  9. Selenium 2自动化测试实战34(编写Web测试用例)

    编写Web测试用例 1.介绍了unittest单元测试框架,其主要是来运行Web自动化测试脚本.简单的规划一下测试目录:web_demo1/------test_case/------------te ...

随机推荐

  1. Linux下,如何监控某个进程到底向哪个地址发起了网络调用

    Linux下,如何监控某个进程到底向哪个地址发起了网络调用 有时候,有些应用,比如idea,你发起某个操作时,其底层会去请求网络,获取一些数据. 但是不知道,请求了什么地址.举个例子,在idea中,m ...

  2. 深入理解 EF Core:EF Core 读取数据时发生了什么?

    阅读本文大概需要 11 分钟. 原文:https://bit.ly/2UMiDLb 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的.其中可能 ...

  3. 《Java并发编程的艺术》第10章 Executor框架

    Java的线程既是工作单元,也是执行机制.从JDK5开始,把工作单元与执行机制分离开来.工作单元包括Runnable和Callable,执行机制由Executor框架提供. 10.1 Executor ...

  4. 自由切换 网页上的 ico 图标

    自由切换 网页上的   ico   图标: 第一步:      进入这个网站 :https://www.uupoop.com/ico/?action=make 第二步:      进入网站后,然后选择 ...

  5. 北京开发票/v电13543443967

    关于事项:Iㄋ5一★4З44一★ㄋ9.б7开发票的准备资料必须要公司名称个人的话就用个人名字和身份证去税务柜台申请办理!公司的话要提供公司全称就是营业执照上的名称,纳税人税号,如果是开普通增值税发票的 ...

  6. Mongodb 批量更新

    >db.col.update({查询条件},{修改条件},{multi:true})

  7. rodert单排学习redis进阶【白银一】

    redis之白银一 说些题外话,最近帝都疫情又严重,大家都身处时代洪流中,这不是个别人能左右的,希望你能保护好自己,天天开心. 前言 1.Redis 客户端 1.1.Redis Desktop Man ...

  8. python黑帽子之tcp客户端

    在渗透测试过程中,我们经常会需要创建一个tcp客户端来连接服务,发送垃圾数据,进行模糊测试等任务,所以我们来用python创建一个简单的tcp客户端. import sockettarget_host ...

  9. Spring Redis开启事务支持错误用法导致服务不可用

      1.事故背景 在APP访问服务器接口时需要从redis中获取token进行校验,服务器上线后发现一开始可以正常访问,但只要短时间内请求量增长服务则无法响应 2.排查流程 (1)使用top指令查看C ...

  10. 解决IE浏览器中点击按钮上传无效的问题

    前几天写了上传功能,点击按钮上传,在谷歌中是没有任何问题的: 但是在IE浏览器中点击没有任何效果 源代码如下:  后来发现在Firefox.IE浏览器中button标签内部可以含有其他标签,但是不能对 ...