我使用 Java 运行测试并使用 Allure 收集结果。结果文件夹
allure-results
生成了一组 json 文件。如果我使用,我可以看到报告
allure serve allure-results
。
但是,我想生成 html 以便以后随时查看。所以我通过allure generate allure-results --clean -o allure-report
来做。结果生成带有 html 文件的文件夹。但是,当我打开该文件时,数据未加载。请参阅下面的附件。
在控制台中我收到 CORS 策略错误。示例如下。
Acess to XMLHttpRequest at 'file:///Users/jgitlin/Documents/proj/CommServ_E2E_Automation/build/allure-results/widgets/summary.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.
我生成报告的方式有问题吗?或者有没有办法正确查看 html?
您可以轻松地使用您选择的任何Web服务器来提供Allure报告,例如Python的内置HTTP就可以让我向您解释一下
首先打开终端或命令提示符并导航到生成
Allure report
的目录
然后,像这样启动Python HTTP服务器(它将在端口9001上启动服务器,但您可以使用您喜欢的任何其他端口号!):
python -m http.server 9001
最后,打开浏览器,前往
http://localhost:9001/allure-report
查看Allure报告!
使用此方法,您将绕过
CORS policy
并允许浏览器正确加载必要的资源
祝你好运!
您可以使用 allure 命令行查看实际报告;
allure 打开 allure-report
CORS策略导致的错误主要是因为不允许跨源请求。要解决 Google Chrome 中的此问题,您可以通过在运行浏览器时添加“--allow-file-access-from-files”选项来启用它。
你可以参考这个: 跨源请求仅支持 HTTP,但不支持跨域