详解Appium+Python之生成html测试报告


Posted in Python onJanuary 04, 2019

思考:测试用例执行后,如何生成一个直观漂亮的测试报告呢?

分析:

1.unittest单元测试框架本身带有一个textTestRunner类,可以生成txt文本格式的测试报告,但是页面不够直观

2.我们可以导入第三方库,比如常用的HTMLTestRunner类,可以生成html格式测试报告

3.首先去下载HTMLTestRunner_PY3.py脚本(我这里采用Python3.7),然后放置在Python3.7路径下的Lib目录下,使用时需要导入(即import HTMLTestRunner_PY3)

代码示例如下:

if __name__ == "__main__":
  #实例化测试套件
   suite = unittest.TestSuite()
   #加载测试用例
   suite.addTest(TestCase("test_login"))
  #生成测试报告
  # 选择指定时间格式
  timestr = time.strftime('%Y-%m-%d%H%M%S', time.localtime(time.time()))
  # 定义测试报告存放路径和报告名称
  Report = os.path.join(
    PATH('E://testing_code/code/SmartSiteTestScript/report/test_report_') +
    timestr +
    '.html')
  with open(Report, 'wb') as f:
    runner = HTMLTestRunner_PY3.HTMLTestRunner(stream=f, 
                         verbosity=2,
                         title='XXXX自动化测试报告',
                         description='执行人:丹姐') 
  runner.run(suite) 

  # 关闭测试报告 
  f.close()

解析:

1.在测试报告名中显示时间:(引入time包) timestr=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))

time.time():获取当前时间戳

time.ctime():获取当前时间的字符串

time.localtime():当前时间的struct_time形式

time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime()):获取特定格式的时间,通常用这个

2.TestSuite是个容器,往里面用addTest()添加测试用例

3.Report定义报告保存的路径以及文件名

open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写

语法:open(name[, mode[, buffering]])

  • name : 一个包含了你要访问的文件名称的字符串值
  • mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)
  • buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认

详解Appium+Python之生成html测试报告

这里常用的为 open(Report,'wb'):以二进制形式打开文件Report

4.runner定义测试报告格式,stream定义报告写入的二进制文件,title为报告的标题,description为报告的说明,runner.run()用来运行测试case,注意最后用f.close()将文件关闭!

verbosity表示测试结果的信息复杂度,有三个值

  • 0 (静默模式): 你只能获得总的测试用例数和总的结果 比如 总共100个 失败20 成功80
  • 1 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”
  • 2 (详细模式):测试结果会显示每个测试用例的所有相关的信息

测试报告效果图如下所示:

详解Appium+Python之生成html测试报告

Python 相关文章推荐
Python多进程同步Lock、Semaphore、Event实例
Nov 21 Python
python实现word 2007文档转换为pdf文件
Mar 15 Python
python实现批量按比例缩放图片效果
Mar 30 Python
python实现海螺图片的方法示例
May 12 Python
python requests使用socks5的例子
Jul 25 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
Dec 25 Python
Matlab中plot基本用法的具体使用
Jul 17 Python
python super()函数的基本使用
Sep 10 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
Python+OpenCV检测灯光亮点的实现方法
Nov 02 Python
Django框架请求生命周期实现原理
Nov 13 Python
python虚拟环境迁移方法
Jan 03 #Python
对django xadmin自定义菜单的实例详解
Jan 03 #Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 #Python
Python代码打开本地.mp4格式文件的方法
Jan 03 #Python
python paramiko利用sftp上传目录到远程的实例
Jan 03 #Python
python scp 批量同步文件的实现方法
Jan 03 #Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 #Python
You might like
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
php遍历CSV类实例
2015/04/14 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
php防止sql注入的方法详解
2017/02/20 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
javascript中的throttle和debounce浅析
2014/06/06 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
轮播的简单实现方法
2016/07/28 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
javascript实现简易计算器
2017/02/01 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
2019/10/15 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
Python程序员开发中常犯的10个错误
2014/07/07 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
Python聊天室实例程序分享
2016/01/05 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
pycharm的python_stubs问题
2020/04/08 Python
python实现扫雷游戏的示例
2020/10/20 Python
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
一些高难度的SQL面试题
2016/11/29 面试题
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
美德好少年事迹材料
2014/01/19 职场文书
乒乓球比赛通知
2015/04/27 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
汽车销售员工作总结
2015/08/12 职场文书