如何让领导轻松在本地查看Allure报告
如何让领导轻松在本地查看Allure报告
问题描述
当我们把精心生成的Allure报告原始文件发送给领导后,领导直接打开index.html文件时,页面却一直处于加载状态,无法显示数据。

通过F12开发者工具检查,我们发现这是由于浏览器跨域请求问题导致的。具体来说,当尝试通过XMLHttpRequest对象从本地文件系统中访问文件时,现代浏览器出于安全原因,默认禁止了这种行为。

解决方案
为了解决这个问题,使用Python HTTP服务器或其他Web服务器来托管Allure报告是一个行之有效的方案(当然,还有其他方式)。通过这种方式,我们可以通过http://或https://协议来访问报告,从而轻松绕过CORS策略的限制。
以下是Python HTTP服务器的代码实现:
import http.server
import socketserver
import os
from functools import partial
import sys
class HttpServer:
def __init__(self, bind="127.0.0.1", port=9988, directory=os.getcwd()):
self.bind = bind
self.port = port
self.directory = directory
args = sys.argv
for i in range(1, len(args)):
if args[i] == "-port" and i + 1 < len(args):
self.port = int(args[i + 1])
if args[i] == "-dir" and i + 1 < len(args):
self.directory = args[i + 1]
if args[i] == "-bind" and i + 1 < len(args):
self.bind = args[i + 1]
def run(self):
try:
with socketserver.TCPServer((self.bind, self.port), partial(http.server.SimpleHTTPRequestHandler, directory=self.directory)) as httpd:
print(f"工作目录: {self.directory}\nServing HTTP on {self.bind} port {self.port}\nhttp://{self.bind}:{self.port}/")
httpd.serve_forever()
except KeyboardInterrupt:
print("\nKeyboard interrupt received, exiting.")
sys.exit(0)
if __name__ == '__main__':
server = HttpServer()
server.run()
操作步骤:
- 将上述脚本保存在与Allure报告的
index.html文件相同的目录下。

- 执行脚本,并访问提供的地址。

通过这种方法,我们可以成功访问Allure报告,并且数据也能正确加载。

ok,接下来解决领导没有python环境的问题。
解决Python环境问题
考虑到领导可能没有Python环境,我们可以利用第三方库pyinstaller对代码进行打包,生成无需Python环境即可执行的程序。
安装pyinstaller:
pip install pyinstaller
打包脚本:
pyinstaller -F http_server.py
打包完成后,在dist目录下会生成一个可执行文件(例如http_server.exe)。


将生成的.exe文件移动到index.html文件相同的目录下。运行.exe文件。

访问提供的地址,即可成功查看Allure报告。

http_server下载链接
对于没有Python环境的朋友,可以通过网页版阿里云盘直接下载http_server.exe文件: https://www.alipan.com/s/QNWwFz1QKAj

如何让领导轻松在本地查看Allure报告的更多相关文章
- 如何利用jenkins插件查看allure报告-----完整篇(解决404和无数据问题)
背景: python3+appium+pytest+allure写了安卓的自动化脚本,在windows本机pycharm上跑通过后生成了allure报告. 公司jenkins搭建在linux服务器上 ...
- pytest框架之allure报告生成
一.关于安装 allure是跟pytest一起集成使用的,所以需要同时安装pytest以及allure-pytest插件: pip install pytest pip install allure- ...
- Jenkins(5)生成allure报告
前言 jenkins集成了allure插件,安装插件后运行pytest+allure的脚本即可在jenkins上查看allure报告了. allure安装 在运行代码的服务器本机,我这里是用的dock ...
- store.js - 轻松实现本地存储(LocalStorage)
store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要借助 Cookie 或者 Flash.store.js 会根据浏览器自动选择使用 localStorage.globa ...
- git 远程新建分支后,本地查看不到
使用以下命令同步 git remote # 列出所有远程主机git remote update origin --prune # 更新远程主机origin 整理分支git branch -r # 列出 ...
- npm run build 打包后,如何运行在本地查看效果(Nginx服务)
这段时间,研究了一下vue 打包的很慢的问题.但是当我 npm run build 打包后,在本地查看效果的时候,活生生被我老大鄙视了,因为我打开了XAMPP.他说:你怎么不用Nginx啊?用这个一堆 ...
- allure报告定制(pytest+jenkins)
环境及安装可查看 pytest+jenkins安装+allure导出报告 要让allure报告更漂亮,更直观,需要在脚本中写入allure特性 一开始allure调用step().story().fe ...
- pytest系列(四)- pytest+allure+jenkins - 持续集成平台生成allure报告
pytest是什么 pytest是python的一款测试框架,拥有unittest的功能并比它更丰富. allure是什么 有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例 ...
- java版集成Allure报告--注释使用说明
testNG集成Allure报告--注释使用说明 前置条件 首先需要下载allure的zip包解压,然后配置环境变量即可(win).allure的GitHub下载地址: 然后执行testn.xml或者 ...
- Docker DevOps实战:Docker+Jenkins+Python+Pytest+Allure(1)- 创建Jenkins容器、安装Python环境、安装项目依赖类库、安装Allure报告插件
前言: 本文实操笔记参照菠萝笔记,安装过程中的坑大家可以参考下 创建Jenkins容器 # 下载Jenkins镜像 [root@localhost ~]# docker pull jenkins/je ...
随机推荐
- Linux中的文件属性和 文件类型
文件类型及属性 文件属性 每列的含义 [root@oldboyedu ~]# ll -i 33575029 -rw-r--r--. 1 root root 337 Nov 2 10:26 ho ...
- java公式解析器学习与开发(1)
public class Evaluate { public static void main(String[] args) { Stack<String> ops = new Stack ...
- 2022GPLT
老板的作息表 检查任意一张时间表,找出其中没写出来的时间段. 输入第一行给出一个正整数 \(N\),为作息表上列出的时间段的个数.随后 \(N\) 行,每行给出一个时间段,格式为: hh:mm:ss ...
- 移动端NES网页模拟器(1)
前言 移动端浏览器是没有实体键盘的,想要操作游戏就必须为其设置虚拟按键,通过虚拟按键(按钮)的标识与实体键盘的keyCode进行绑定,来达到想要的效果. 这个随笔只封装NES游戏手柄右边的按键,不包含 ...
- C# Linq 的三种去重方式(Distinct)
前言 关于C#中默认的Distinct方法在什么情况下才能去重,这个就不用我再多讲,针对集合对象去重默认实现将不再满足,于是乎我们需要自定义实现来解决这个问题,接下来我们详细讲解几种常见去重方案,孰好 ...
- 论文解读《LightRAG: Simple and Fast Retrieval-Augmented Generation》
博客:https://learnopencv.com/lightrag 视频:https://www.youtube.com/watch?v=oageL-1I0GE 代码:https://github ...
- 在 .NET 下,Fiddler 不再抓取 Web Service 流量问题
在 .NET 下,Fiddler 不再抓取 Web Service 流量问题 问题现象 原来的一个应用中,需要访问 SOAP 服务.在原来的 .NET Framework 版本中,使用 Fiddler ...
- kubernetes上报Pod已用内存不准问题分析
1.问题描述: 经常有业务反馈在使用容器云平台过程中监控展示的业务使用内存不准,分析了下kubernetes采集Pod内存使用的实现原理以及相应的解决思路 2.问题分析: 2.1 问题排查: 监控数据 ...
- Qt编写的项目作品5-物联网管理平台
一.功能特点 1 软件模块 设备监控模块,包括数据监控(表格形式展示).设备面板(面板形式展示).地图监控(地图形式展示).曲线监控(曲线形式展示). 数据查询模块,包括报警记录.运行记录.操作记录. ...
- Qt编写地图综合应用16-省市轮廓图下载
一.前言 之前做获取边界点的时候,主要采用的是在线地图的方式,因为在线地图中直接内置了函数可以根据行政区域的名称来自动获取边界,其实这些边界就是一些点坐标集合连接起来的平滑线,然后形成的轮廓图,这种方 ...