背景:

python3+appium+pytest+allure写了安卓的自动化脚本,在windows本机pycharm上跑通过后生成了allure报告。  公司jenkins搭建在linux服务器上。

痛点:

1.allure报告需要一堆css/js静态数据文件,才能展示数据,给领导汇报时总不能一丢就丢个大大的压缩包,并且还不能保证能查看成功的吧----edge浏览器能打开,其他浏览器打开无数据;

2.把脚本集成到jenkins上,整到linux服务器上跑,又得在服务器上去折腾一套环境出来,需要安装的包node、sdk、net、appium、adb 巴拉巴拉的,蛮多,appium还必须保证时时刻刻是启动的状态,服务器上测试识别不到真机,只能用安卓模拟器测试。总结下来没必要,本机上连真机测试就好。

期望:方便他人直观的看到测试报告

解决方案:

1.不在服务器上运行测试脚本,单纯地利用jenkins中的allure插件查看测试报告;

2.起个nginx服务,把把测试报告文件夹放在www目录下,配置一下映射这个index.html;

最终选择:

最后还是选择在jenkins里去装个插件,比较简单

实施步骤:

1.打开jenkins--插件管理--可选插件,搜索安装最新版allure;

2.下载allure-commandline 工具:https://codeload.github.com/allure-framework/allure2/tar.gz/2.12.1,安装到服务器/export/runtimes/allure-commandline下;

3.安装好1,2后重启jenkins,将pytest生成的测试结果xml和html两个文件夹上传到svn上去。在jenkins构建一个新项目,代码源:svn上测试结果路径。

 构建步骤:无,一开始我在构建步骤下写了:allure generate \xml_report_path -o \html_report_path --clean,后来一执行发现有两条allure generate执行记录,原因是构建后操作中添加allure-report后,这个插件会自动去执行这条命令,并不需要人为去输入,执行两次后报告里反而会没有数据。

 构建后步骤:增加allure-report,如下:

图中这两个目录不一样,否则会提示找不到allure-report或allure-result路径。

4. 点击构建,报错了,提示:      java.io.IOException: Can't find allure commandline <null> ,初步可以判断是第二步allure-commandline 的问题,服务器上执行allure --vresion,也能返回正确版本号,说明服务器上allure是没问题的。这时候,就要去jenkins上去配置全局工具配置了。输入别名,勾选自动安装选择maven 2.5.1就好了。但更可能碰到的情况是设置完后依然报同样的错,这时,就需要按下图来设置:

这里设置完成后,还需要去系统设置--全局属性下添加安装目录:

这个时候去执行,你就会发现不会再报allure-commandline找不到的错了。

5.再次构建,allure报告和趋势图就出来了,点击allure-report就能跳转到正确的报告页面了。

如何利用jenkins插件查看allure报告-----完整篇(解决404和无数据问题)的更多相关文章

  1. Pytest_在jenkins中使用allure报告(13)

    一.安装allure插件 点击jenkins管理-->插件管理 点击Available,在搜索框中输入allure并安装 二.配置构建命令 三.构建配置allure插件 点击构建后置操作 pat ...

  2. jenkins插件 查看job下次运行时间

    文章来自:http://www.ciandcd.com 文中的代码来自可以从github下载: https://github.com/ciandcd jenkins插件next executions( ...

  3. jenkins插件 查看job修改历史

    文章来自:http://www.ciandcd.com文中的代码来自可以从github下载: https://github.com/ciandcd 插件jobConfigHistory(https:/ ...

  4. 利用bintray-release插件上传到Bintray- HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]问题解决

    凡是网上教程 有个5678步的总有这样或者那样的坑. 上周撸了一个小工具准备上传到jcenter,方便管理以及以后使用.看了一下教程,短短几步,弄了很久. 按Hongyang的教程http://www ...

  5. Jenkins(5)生成allure报告

    前言 jenkins集成了allure插件,安装插件后运行pytest+allure的脚本即可在jenkins上查看allure报告了. allure安装 在运行代码的服务器本机,我这里是用的dock ...

  6. Docker DevOps实战:Docker+Jenkins+Python+Pytest+Allure(2)- Jenkins初始化、Jenkins插件、Jenkins配置、自动化测试

    Jenkins初始化 step-1 访问Jenkins http://ip:80  step-2 查看密码.输入密码 # 方式一:通过查看容器日志 [root@localhost ~]# docker ...

  7. pytest框架之allure报告生成

    一.关于安装 allure是跟pytest一起集成使用的,所以需要同时安装pytest以及allure-pytest插件: pip install pytest pip install allure- ...

  8. Docker DevOps实战:Docker+Jenkins+Python+Pytest+Allure(1)- 创建Jenkins容器、安装Python环境、安装项目依赖类库、安装Allure报告插件

    前言: 本文实操笔记参照菠萝笔记,安装过程中的坑大家可以参考下 创建Jenkins容器 # 下载Jenkins镜像 [root@localhost ~]# docker pull jenkins/je ...

  9. 解决jenkins下使用HTML Publisher插件后查看html报告显示不正常 以jmeter报告为例

    jenkins 配置使用html publisher查看jmeter html报告时,发现显示不全,很多东西显示不了.   项目配置:   查看html报告异常(很多资源无法加载):   控制台查看加 ...

随机推荐

  1. MyBatis bind标签的用法

    From<MyBatis从入门到精通> <!-- 4.5 bind用法 bind标签可以使用OGNL表达式创建一个变量并将其绑定到上下文中. 需求: concat函数连接字符串,在M ...

  2. python的ORM技巧记录

    # -*- coding:utf-8 -*- from sqlalchemy import create_engine, Column, Integer, String, ForeignKey, In ...

  3. 网页内嵌html遇到的问题

    在项目中遇到个问题 充值功能是点击一个按钮这个按钮会弹出模态框,输入充值金额会执行一段脚本自动提交数据到https://openapi.alipay.com/gateway.do上 结果:本网页跳转到 ...

  4. NOIp2018普及组T3暨洛谷P5017 摆渡车:题解

    题目链接:https://www.luogu.org/problemnew/show/P5017 emm,这次的真的不简单的,T3比T4难? 醉了... 蒟蒻肯定没有其他大佬讲的好啊,但肯定尽力,真的 ...

  5. SpringBoot解决cors跨域问题

    1.使用@CrossOrigin注解实现 (1).对单个接口配置CORS @CrossOrigin(origins = {"*"}) @PostMapping("/hel ...

  6. 利用gcc编译链接时出现 ‘undefined reference to `std::ios_base::Init::Init()’ 解决

    一般编译链接c++程序最好使用g++,若有如上的报错信息,需要在gcc后加上 -lstdc++ eg: gcc test.c -lstdc++ gcc和g++都是GNU的一个编译器. g++:后缀.c ...

  7. 解决Windows10下安装Ubuntu16.04双系统后开机没有Ubuntu引导

    转载 https://blog.csdn.net/qq_27838307/article/details/79149791 1.按照网上教程在磁盘中压缩硬盘并且不需要给他新建卷标,就让他显示空闲就好了 ...

  8. vue教程(三)-slot\keep-alive的使用

    一.slot其实就是填坑操作,父组件传递dom结构,是vue提供的一种内置组件(组件知识请查看上篇博客内容) 写法:<slot></slot> 例子: var child = ...

  9. linux初学者-普通磁盘分区篇

    linux初学者-普通磁盘分区篇 磁盘是计算机的重要组成部分,是记录数据的场所.在使用磁盘时,经常需要对其进行分区来实现不同的用途.下文将介绍在linux系统中普通磁盘分区的方法. "fdi ...

  10. Go语言圣经习题练习_1.6并发获取多个URL

    练习 1.10: 找一个数据量比较大的网站,用本小节中的程序调研网站的缓存策略,对每个URL执行两遍请求,查看两次时间是否有较大的差别,并且每次获取到的响应内容是否一致,修改本节中的程序,将响应结果输 ...