使用LogToHtml导出Airtest报告

news2025/2/26 3:47:49

simple_report接口,是个简化版的生成报告接口,如果仅仅需要在本地查看的话,用这个接口即可。

但是如果需要导出报告,即他人也可以正常查看,则需要用LogToHtml类。

参数解释

  • script_root,脚本路径

  • log_root,log文件的路径

  • static_root,部署静态资源的服务器路径

  • export_dir,导出报告的存放路径

  • script_name,脚本名称

  • logfile,log文件log.txt的路径

  • lang,报告的语言(中文:zh;英文:en)

  • plugins,插件,使用了poco或者airtest-selenium会用到

一个示例

        try:
            touch(Template(r"tpl1672296367401.png", record_pos=(0.417, -0.3), resolution=(720, 1600)))

        except Exception as e:
            raise Exception('错误,退出')

        finally:
            now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
            report_path_name = now + '_' + self.__class__.__name__
            log_path = os.path.join(os.path.dirname(__file__), 'log')
            output_path = os.path.join(config_data.ROOT_DIR, 'report', report_path_name)
            tmp = LogToHtml(script_root=__file__, log_root=log_path,
                           export_dir=output_path, logfile=os.path.join(log_path, 'log.txt'), lang='en',
                           plugins=None)
            tmp.report()

script_root,是脚本路径,即py文件路径

log_root,是日志路径,这里设计成跟脚本同路径

logfile,日志文件名

export_dir,是报告导出路径

lang,设置为英文

这样把整个文件夹2022-12-29-18_24_24_LoginTest发给别人,别人即可查看报告log.html。

文件夹里有运行日志,静态资源文件,图片,报告是根据日志生成的。

但是现在有个问题,每个用例每次运行时都导出报告时都会生成static静态资源文件,整个文件占8M多!!!下面就处理整个问题

静态资源统一放到服务器

我把static文件放在nginx上做静态服务器,nginx安装和配置文件见我另一篇文章:

nginx安装、配置文件详解、测试_nginx测试配置文件_木瓜星灵的博客-CSDN博客nginxhttps://blog.csdn.net/qq_38312411/article/details/126768772把static文件上传到nginx根目录,我的是/usr/share/nginx

vhost下新增配置文件

server {
	listen 81;
	server_name localhost;


	location / {
	root static;
	index log.html;
	}
}

最后的示例

 now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
            report_path_name = now + '_' + self.__class__.__name__
            log_path = os.path.join(os.path.dirname(__file__), 'log')
            output_path = os.path.join(config_data.ROOT_DIR, 'report', report_path_name)
            tmp = LogToHtml(script_root=__file__, log_root=log_path, static_root='http://192.168.38.33:81/',
                           export_dir=output_path, logfile=os.path.join(log_path, 'log.txt'), lang='en',
                           plugins=None)
            tmp.report()

static_root传我们的静态服务器地址后,导出的报告就没有静态文件了!节约了很大一块磁盘空间!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/347588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论一个上班族如何一次性通过PMP考试

PMP是我工作后考取的一个证书。从准备到通过,花了大约三个月的时间。我之前在某家互联网公司从事程序员的工作,工作一段时间后,天天敲着代码,改着bug,感觉比较迷茫,不知道未来的发展在哪里,都说…

Viper捐款7000万韩元,合计人民币是多少钱?

Viper捐款7000万韩元,合计人民币是多少钱? #2023LCK春季赛##英雄联盟# #Viper捐款7000万韩元# Viper向大田东区捐款 7000 万,成为大田荣誉协会 105 号会员。Viper选手从 2019 年开始一直向大田东区捐款,但是他不希望这件事被公开…

[VMware]Ubuntu18.04 网络图标消失

Ubuntu 18.04 网络图标消失运行环境问题解决NO.1 执行 sudo systemctl stop network-managerNO.2 执行 sudo rm /var/lib/NetworkManager/NetworkManager.stateNO.3 执行 sudo systemctl start network-managerNO.4 vi /etc/NetworkManager/NetworkManager.confNO.5 执行 sudo …

【Linux 多线程】线程的4大基础操作(创建、等待、终止、分离)

目录 1.线程的创建 2.线程等待 3.线程分离 线程共享一个地址空间 ,把资源(代码和数据)化成若干份,供各个线程使用 线程的栈和上下文不是共享的以前学习的进程是具有一个线程的进程1.线程的创建 成功返回0,失败返回…

第一章:初始化react项目+antd+less

初始化react项目 我们首先使用react脚手架创建一个项目 Ant Design less creact-react-app中文文档 creact-react-app demo生产环境打包运行 当我们执行了 npm run build 打包后直接访问index.html 看效果白屏 这时候就需要安装一个serve包 npm install -g serve当我们安…

操作系统(二):死锁的检测,死锁的恢复和死锁的预防

文章目录零、什么是死锁一、死锁检测1. 对每种类型一个资源的死锁检测2. 对每种类型多个资源的死锁检测二、死锁恢复三、死锁预防四、死锁避免1 面向单个资源的银行家算法2 面向多个资源的银行家算法总结银行家算法的核心就是避免系统进行系统资源分配的不安全状态零、什么是死…

Zipkin : Golang 微服务全链路监控(二)

Zipkin : Golang 微服务全链路监控(二) Golang 微服务全链路监控实现 broker-service -> auth-service -> postgres dbzipkin 监控:需代码入侵 一、auth-service 通过 context 传递 span main.go package mainimport ("broke…

CSDN 编辑器 Marddown 语法备忘

原文链接:https://blog.csdn.net/blogdevteam/article/details/103478461 本文对其二次加工,增加渲染样式、补充例程、添加未收录的常用语法。 CSDN Markdown 编辑器遵循 CommonMark spec 语法规范。 快捷键 撤销:Ctrl/Command Z 重做&…

成都链安受邀参加第五届CCF中国区块链技术大会

2月10-12日,由中国计算机学会主办的,2023年国内首场大型区块链学术会议—第五届CCF中国区块链技术大会在无锡市成功举办,成都链安作为区块链安全头部企业受邀参加此次大会。大会上,成都链安创始人&CTO郭文生教授与锡东新城商务…

微信小程序开发(五)小程序代码组成2

微信小程序开发(五)小程序代码组成2 为了进一步加深我们对小程序基础知识的了解和掌握,需要更进一步的了解小程序的代码组成以及一些简单的代码的编写。 参考小程序官方的的代码组成文档:https://developers.weixin.qq.com/ebook?…

海量并发低延时 RTC-CDN 系统架构设计(上)

随着近几年音视频流媒体行业的持续发展,海量并发、低延时和低成本作为三大核心诉求依旧需要不断深挖,同时随着 RTC 和 CDN 这两种技术的界线越来越模糊,因此有必要从底层架构层面重新思考 RTC 与 CDN 的融合之道。本文将重点分享:…

通过 Colab 下载 Google Driver 上的大文件到内网服务器

这里写自定义目录标题1. 将 Google Driver 上的大文件下载到 Colab1.1 获取文件唯一的 fileID1.2 查看文件的 MD5 值1.3 获取 API 的 Access Token1.4 下载文件到 Colab2. 将文件从 Colab 下载到公网服务器3. 将文件从公网服务器下载到内网服务器4. 参考链接由于众所周知的原因…

【正点原子FPGA连载】第十章PS SYSMON测量温度电压实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十章PS SYSMON…

如何正确的在Flutter中添加webview

前言 为什么要在flutter中引入webview?这不是废话么,当然是为了加载一个网页,这不是移动端最基本的需求么,哈哈!说的真不错,接下来我要是告诉你我的用法,你可能要大吃一惊。我的用处很简单&…

【音视频处理】码率、帧率越高越清晰?分辨率、像素、dpi之间是什么关系?码率的真实作用,I帧、B帧、P帧是什么

大家好,欢迎来到停止重构的频道。本期我们介绍一下视频的一些基础概念,如帧率、码率、分辨率、像素、dpi、视频帧、I帧、P帧、gop等。会解释多少码率是清晰的,是否帧率越高越流畅等问题。这些概念是比较杂乱的,我们按这样的顺序介…

Seata源码学习(四)-数据源代理

Seata源码分析-数据源代理 上节课我们分析了整体的Seata-AT模式的2PC执行流程,那么这节课我们要分析的就是在AT模式中的关键点,数据源代理 AT模式的核心点: 获取全局锁、开启全局事务解析SQL并写入undolog 那么上节课其实我们已经把第一步…

【目标检测】K-means和K-means++计算anchors结果比较(附完整代码,全网最详细的手把手教程)

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 一、介绍 YOLO系列目标检测算法中基于anchor的模型还是比较多的,例如YOLOv3、YOLOv4、YOLOv5等,我们可以随机初始化a…

简约精美电商小程序【源码好优多】

简介 一款开源的电商系统,包含微信小程序和H5端,为大中小企业提供移动电子商务优秀的解决方案。 后台采用Thinkphp5.1框架开发,执行效率、扩展性、稳定性值得信赖。并且Jshop小程序商城上手难度低,可大量节省定制化开发周期。 功…

设计模式(适配器模式)

设计模式(适配器模式) 第二章 设计模式之适配器模式(Adapter) 一、Adapter模式介绍 适配器模式位于实际情况和需求之间,填补两者之间的差距。 二、示例程序1(使用继承的适配器) 1.示例程序示…

操作系统(五):编译过程,静态链接,目标文件,动态链接

文章目录一、程序的编译过程二、静态链接三、目标文件四、动态链接一、程序的编译过程 在linux上编译一个c文件hello.c的命令为: g -o hello hello.c 整个过程大致要经过一下四步: 预处理 : 处理以#开头的预处理命令编译 : 翻译成汇编文件汇编 &…