Linux上生成httprunner生成allure测试报告

jdk安装和配置环境变量

  • jdk下载

官网地址:https://www.oracle.com/cn/java/technologies/javase-downloads.html,下载对应的Linux安装包。

image.png
image.png
  • Linux配置jdk环境
  • Linux新增jdk安装目录(目录可自定义)
mkdir /usr/local/soft
cd /usr/local/soft

通过ftp把安装包上传到该文件夹
ps: rm -rf xxx 强制删除目录或者文件,谨慎使用
然后执行命令解压tar -zxvf jdk-16.0.1_linux-x64_bin.tar.gz

image.png

细心的朋友会发现只有jdk目录,没有jre了,因为新版jdk把两者结合成一个包了,配置环境变量也只需要配置jdk的就可以正常使用。

  • 输入命令vim /etc/profile
    image.png
  • 点击i键进入编辑模式,配置环境变量
export JAVA_HOME=/usr/local/soft/jdk-16.0.1
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
  • 点击esc键退出编辑模式,再输入:wq,写入保存退出。
    ps::wq时候保存修改退出,:q是没有修改直接退出

  • 最后用java 、 javac 、java -version三兄弟检验jdk是否安装成功

    image.png

安装Tomcat

tomcat安装可以先下载安装包,再解压。也可以直接用yum在线安装,这里我们直接用yum在线安装更方便

yum install tomcat
//或者
yum -y install tomcat
  • -y 代表遇到询问都选 y,这样安装过程中就不需要手动输入y
    安装完成后,安装目录在/usr/share/tomcat, 我们用 cd 命令切到这个目录,用 ls(或ll) 命令查看这个目录里面的文件
    image.png

    image.png

    启动tomcat服务
  • 查看tomcat的状态:systemctl status tomcat
    启动tomcat: systemctl start tomcat
image.png

Active: inactive (dead)说明tomcat 现在处于 dead(挂了) 状态,服务还没有跑起来。
启动Tomcat服务后,状态是 Active: active (running) , 此时已经代表 tomcat 已经正常的跑起来了。

访问tomcat

tomcat默认端口是8080,接下来浏览输入地址:http://服务器公网ip:8080/。这个页面暂时是无法访问
由于tomcat的web页面是需要安装插件的,这里继续用 tomcat-webappstomcat-admin-webapps 两个插件包

  • 输入命令安装:yum install tomcat-webapps tomcat-admin-webapps
    image.png

安装完之后,8080端口还是无法访问,需要登录阿里云 ECS后台管理,打开云服务器ECS-安全组-配置规则
添加安全组规则,新增8080端口访问权限

  • 规则方向:入方向
  • 协议类型:自定义 FTP
  • 端口范围: 8080/8080
  • 授权对象:0.0.0.0/0


    image.png
  • 设置后,浏览输入地址:http://服务器公网ip:8080/就可以访问Tomcat了
    image.png

Tomcat自启动服务------------ 略

安装Jenkins

  • Jenkins需要在Tomcat中才能运行,即/tomcat/webapps文件夹下
    下载Jenkins

这次使用weget下载Jenkins,wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。
所谓自动下载,是指 wget 可以在用户退出系统的之后在继续后台执行,直到下载任务完成。
打开Xshell连上服务器,先看 CentOS系统有没自带wget这个工具:rpm -qa | grep wget

[root@VM-0-5-centos tomcat]# rpm -qa | grep wget
wget-1.14-18.el7_6.1.x86_64

能查看到版本号,说明已经安装过了,没有的话,就用yum安装下
yum install wget

jenkins安装包下载地址:http://mirrors.jenkins-ci.org/war/latest/jenkins.war
可以在本地下载之后,使用Xftp工具传到tomcat的"/usr/share/tomcat/webapps"目录下。
这里我们介绍直接使用wget工具下载到linux服务器上,先在webapps里面新建一个jenkins目录

mkdir /usr/share/tomcat/webapps/jenkins
cd /usr/share/tomcat/webapps/jenkins
wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
image.png
  • 我这个速度很快,如果你们速度慢的话可以本地下载Jenkins的war包然后上传到Linux,都一样。
    下载成功后,文件夹下多了一个Jenkins的war包
image.png
  • 下载完之后,解压war包:jar -xvf jenkins.war

启动Jenkins

解压完之后,只要tomcat是启动的,浏览器输入:http://公网ip:8080/jenkins 就能访问了

image.png
  • 首次打开,在/usr/share/tomcat/.jenkins/secrets/initialAdminPassword目录找到密码,vim打开文件就能访问了
image.png
  • 把密码复制了,贴到浏览器输入框就能访问了,弹出的框选左边这个安装全部插件
image.png
  • 等待插件下载完成


    image.png
  • 一片红装,但是问题不大,大概率是安装源的问题。


    image.png

进入jenkins->系统管理->管理插件->高级
把:https://updates.jenkins-ci.org/update-center.json
换成:http://mirror.esuni.jp/jenkins/updates/update-center.json
或者https换成http: http://updates.jenkins.io/update-center.json
PS:我用的是第二个才最终全部安装成功。

image.png

*然后进入插件管理,点击红框的任意一处,就会重复触发安装必要依赖插件。

image.png

image.png

安装Python3

centos7 所有版本依然是默认自带 python2 编译器,使用 python3 需要从网上下载、编译、安装。

但是从 centos7.7 开始,我们有更简单的方式安装,在其发行公告中指出:
"Python 3 is now available. Installing the python3 package gives you the Python 3.6 interpreter"

也就是说,centos7.7 已经帮我们编译好了 python3.6,在有网络的情况下,执行以下命令安装:
yum install python3

  • 校验一下
image.png

需要注意的是,默认的python依然对应python2,实际使用过程用python3和pip3即可。
PS: centos8 已经默认自带 python3.6.8,无需另外安装。

使用Jenkins持续集成项目生成测试报告

项目依赖安装

  • 安装项目的环境依赖,例如pip3 install -r requirements.txt,其他过程略

Jenkins新建任务

  • 新增一个自由风格的任务
image.png

丢弃旧的构建

  • 我们将构建的备份数量限制最多10个,最大保存时间14天,重新构建,非必填


    image.png

源码管理

image.png

image.png

  • 最终源码管理配置成这样


    image.png

构建job--shell命令

image.png

image.png

  • 保存项目,然后初次构建
image.png
  • 看看控制台的输出日志
image.png

生成allure测试报告

  • Allure Jenkins Plugin是集成到Jenkins的allure插件,可以省略由json文件转为html报告的命令步骤
image.png
  • 插件好像改名了,但是描述没有变化。


    image.png

配置job

image.png

  • 新增allure report构建后操作


    image.png
  • 保存然后重新构建一下
    报错了,报错Build step 'Allure Report' marked build as failure

image.png

这个报错是因为Jenkins没有配置好allure,进入Jenkins - 系统管理 - 全局工具配置 - Allure Commandline - 新增 Allure Commandline。 输入别名、勾选自动安装、选择Allure的版本, 构建Job时会自动安装Allure到Jenkins/toorl目录下

image.png

  • 当然你可以选择配置已安装的allure环境
image.png

PS:allure是依赖jdk环境,Linux必须先安装好jdk。Jenkins也是需要用到jdk,但是很少需要手动配置。

  • 重新构建下,成功了


    image.png
  • 查看报告,又发现问题了,报告生成日期和当前日期不一致


    image.png
  • 查看日志发现,报错hrun: error: unrecognized arguments: --clean-alluredir --alluredir=allure-results
    image.png

哦,好吧,这个是 hrun命令出错了,httprunner生成allure报告需要安装allure-pytest依赖,执行命令pip3 install allure-pytest
再次构建查看报告,时间对得上了,这很OK。

image.png

PS:通过这个报错,我们可以发现,生成allure报告一般需要两个步骤,测试框架生成json格式的测试报告,然后再通过allure命令生成友好的HTML测试报告,如下命令

hrun testsuite --clean-alluredir --alluredir=allure-results         #清除旧的json报告生成新的
allure generate allure-results --clean                                #清除旧的html报告生成新的

httprunner框架执行第一步命令,allure框架执行第二步命令
显然,Allure Commandline是帮助我们完成第二步命令。

发送邮件

  • 下载插件,Email Extension Plugin 是发送邮件的Jenkins插件,默认下载依赖,没有手动下载。
image.png

发送邮件的相关配置

  • 通过系统管理→系统设置,进行邮件配置:
image.png

image.png
image.png

image.png
image.png
  • 附上邮件模板
<h1><center><font>以下是Jenkins自动发送的邮件,请勿回复!</font><center></h1>
<h3><center><font color="red">allure报告在线查看or下载allure-report.zip用firefox离线查看,测试用例见附件</font><center></h3>
<br>
<hr>
<br>
项目描述:${JOB_DESCRIPTION}<br>
<br>
<hr>
项目名称:$PROJECT_NAME<br>
 构建编号:$BUILD_NUMBER<br>
 构建状态:$BUILD_STATUS<br>
 触发原因:${CAUSE}<br>
 构建地址:<A HREF="${BUILD_URL}">${BUILD_URL}</A><br>
 构建日志地址:<A HREF="${BUILD_URL}console">${BUILD_URL}console</A><br>
 系统allure测试报告:<A HREF="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER}/allure</a><br>
 <hr>
 ${JELLY_SCRIPT}
  • 修改job任务配置,新增Editable Email Notification构建后步骤,Triggers设置为Always,其他的默认即可.


    image.png
image.png

image.png
  • 重新构建,查看是否收到邮件


    image.png

其它遇到的问题

  1. 构建任务时,输出日志 xxx command no found,报错命令不存在
    这个是新手入坑大概率会遇到的问题,比如需要使用shell命令运行Python文件python3 demo.py,可能会报错python3 command no found
    解决办法:Jenkins配置PATH环境变量
    在Linux输入命令echo $PATH,获取环境变量
    image.png

    然后再进入Jenkins, 系统管理 - 系统配置-全局属性,配置PATH
    image.png
  2. 构建任务时,报错Jenkins Build step 'Execute shell' marked build as failure
    度娘说报错原因是磁盘空间不足导致报错
    解决办法:第一行加上#!/bin/bash,网上都是这个答案,我试了都不行,最终在最后一行加上exit 0就搞定了
    image.png
  3. 构建日志输出Build step 'Allure Report' changed build result to UNSTABLE, 构建成功Alure report将构建标记为不稳定
    如图,构建状态都是黄色
    image.png

原因是存在执行失败的测试用例时,构建后操作 - Allure Report将构建标记为不稳定; 不存在失败的测试用例则不会标记为不稳定(不需理会)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容