Fork me on GitHub

移动端测试——Allure报告与Jenkins集成 (10)

Allure报告

  • Allure是一个独立的报告插件,生成美观易读的报告
  • 目前支持语言:Java、PHP、Ruby、Python、Scala、C#

参阅:

1.1 Allure安装

1. 安装pytest的插件包allure-pytest

pip3 install allure-pytest

2. xml转html工具安装

第一种:安装包

平台 地址
官方 https://github.com/allure-framework/allure2/releases



1. 安装包解压后的bin目录配置到path系统环境变量

2. 进入report上级目录执行命令:allure generate report/ -o report/html

3. report目录下会生成index.html文件,即为可视化报告

第二种:命令行
brew installl allure -y

3. 生成Allure报告

在执行命令目录生成report文件夹,文件夹下包含xml文件
pytest --alluredir report
xml文件转化为html文件
allure generate report/ -o report/html

eg:

pytest.ini

[pytest]
;--html=./report.html
;删除原生html,增加Allure
addopts = -s --alluredir report
# 测试路径
testpaths = ./Test
# 测试文件名
python_files = test_*.py
# 测试类名
python_classes = Test_*
# 测试的方法名
python_functions = test_*

test_all.py

class Test_allure:
    def setup(self):
        pass
    def teardown(self):
        pass
    def test_al(self):
        assert 0

1.2 Allure之Pytest

1.2.1 添加测试步骤

方法:@allure.step(title="测试步骤001")

eg:

test_all.py

import allure, pytest
class Test_allure:
    def setup(self):
        pass
    def teardown(self):
        pass
    @pytest.mark.parametrize("a",[1,2,3])
    @allure.step('我是测试步骤001')
    def test_al(self, a):
        assert a != 2

1.2.2 添加测试描述

方法:allure.attach('描述的内容', '描述的名称(标题)')
注意:没有@,放在函数里用
eg:

test_all.py

import allure, pytest
class Test_allure:
    def setup(self):
        pass
    def teardown(self):
        pass
    @pytest.mark.parametrize("a",[1,2,3])
    @allure.step('我是测试步骤001')
    def test_al(self, a):
        allure.attach('描述的内容', '描述的名称(标题)')
        assert a != 2

1.2.3 添加严重级别

测试用例设置不同的严重级别,可以帮助测试和开发人员更直观的关注重要Case
方法:@pytest.allure.severity(Severity)
参数:Severity:严重级别(BLOCKER,CRITICAL,NORMAL,MINOR,TRIVIAL)
使用方式:
@allure.severity(allure.severity_level.BLOCKER)

@allure.severity('trivial')

eg:

test_all.py

import allure, pytest
class Test_allure:
    def setup(self):
        pass
    def teardown(self):
        pass
    @pytest.mark.parametrize("a",[1,2,3])
    @allure.severity('trivial')
    @allure.step('我是测试步骤001')
    def test_al(self, a):
        allure.attach('描述', '我是测试步骤001的描述~~~')
        assert a != 2

1.2.4 测试用例与BUG的URL关联

eg:

  • 关联测试用例地址的URL
    @allure.testcase("http://www.baidu.com/test_001")

  • 关联BUG地址的URL
    @allure.issue("http://www.163.com/bug_001")

1.3 Jenkins安装

  • Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能
  • 一般情况下,公司内部Jenkins安装在服务端,不需要本地安装,都已配置完成,可直接操作使用

1.3.1 CentOS6安装Jenkins强烈推荐

参阅:

1. 安装JDK

  • 安装java8
    yum install java-1.8.0-openjdk -y
  • 查看java版本
    java -version

2. 安装Jenkins

  • 配置jenkins软件源

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

提示:

  • 开始安装jenkins
    yum install jenkins -y
  • 启动jenkins
    service jenkins start

3. 配置jenkins

(1) 开机自启

chkconfig jenkins on

(2) 相关文件
配置文件

vim /etc/sysconfig/jenkins

默认创建jerkins用户来运行jenkins服务,更改用户则
chown -R xxx:xxx /var/log/jenkins /var/lib/jenkins /var/cache/jenkins

提醒:

  • 完全卸载jenkins

yum remove jenkins -y

rm -r /etc/init.d/jenkins /var/log/jenkins /var/lib/jenkins /var/cache/jenkins

日志文件

tail -f /var/log/jenkins/jenkins.log

升级文件中更换成清华源

vim /var/lib/jenkins/hudson.model.UpdateCenter.xml

<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  • 重启jenkins
    service jenkins restart
(3) 远程访问

查看防火墙规则
iptables -L -n --line-numbers

开放8080端口
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

CentOS7提示:

3. 管理jenkins服务

操作 命令
开启 service jenkins start
关闭 service jenkins stop
重启 service jenkins restart
  • 启动jenkins
    service jenkins start

Q&A

  • Q1:如果界面提示Jenkins正在启动,请稍后...
    vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>

参阅:

1.3.1 Windows安装Jenkins

参阅:

1. 配置环境

  • jdk1.5以上

2. 开始安装

第一种:war包安装方式不喜欢

默认安装路径:C:\Users\XXX\.jenkins(试了各种方法也没法改)

  • 安装好XAMPP(Tomcat)
  • 下载jenkins.war
平台 地址
官方 https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/latest/
其他 https://www.lanzous.com/i5y63cf
  • 开始安装
    java -jar jenkins.war

参数:

  • --httpPort 新端口号

管理员密码

参阅:

第二种:安装包方式推荐
  • 下载并安装jenkins
平台 地址
官方 https://mirrors.tuna.tsinghua.edu.cn/jenkins/windows-stable/
  • 修改配置文件
    XXX\Jenkins\hudson.model.UpdateCenter.xml
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  • 含管理员密码的文件夹

  • 管理服务

1.3.2 Jenkins首次使用

名称 说明
管理jenkins
访问jenkins localhost:8080
关闭jenkins服务 localhost:8080/exit

重启jenkins服务 localhost:8080/restart

重载jenkins服务 localhost:8080/reload

密码
管理员密码 cat /var/lib/jenkins/secrets/initialAdminPassword
  • 配置jenkins

  • 登录界面

  • 主页
    进来好慢......

参阅:

1.4 Jenkins持续集成配置

  • Jenkins安装Allure插件

  • Jenkins安装Allure Commandline工具

  • 新建一个"自由风格"的项目

  • 邮件配置

报告模版

<hr/>(本邮件是程序自动下发的,请勿回复!)<hr/>
项目名称:$PROJECT_NAME<br/><hr/>
构建编号:$BUILD_NUMBER<br/><hr/>
git版本号:${GIT_REVISION}<br/><hr/>
构建状态:$BUILD_STATUS<br/><hr/>
触发原因:${CAUSE}<br/><hr/>
目录:${ITEM_ROOTDIR}<br/><hr/>
构建日志地址:<a href=" ">${BUILD_URL}console</a ><br/><hr/>
构建地址:<a href="$BUILD_URL">$BUILD_URL</a ><br/><hr/>
报告地址:<a href="${BUILD_URL}allure">${BUILD_URL}allure</a ><br/><hr/>
失败数:${FAILED_TESTS}<br/><hr/>
成功数:${FAILED_TESTS}<br/><hr/>
变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
  • 触发项目构建
    项目构建会运行测试代码

提示:

  • 构建方式有两种
    ➢ 手动触发构建
    ➢ 更新github代码,触发器在定时任务到达时,会开始项目构建

参阅:


更新中......


posted @ 2019-09-24 22:51  紫枫一梦千年  阅读(313)  评论(0编辑  收藏  举报