app自动化08 Allure报告、Jekin集成配置

Allure报告

Allure介绍

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

Allure安装

1.安装pytest的插件包pytest-allure-adaptor: pip3 install pytest-allure-adaptor

生成Allure报告

# 在执行命令目录生成report文件夹,文件夹下包含xml或者json文件(xml或json根据版本决定)
命令行参数:pytest --alluredir report 
示例
[pytest]
addopts = -s --alluredir report
testpaths = ./scripts
python_files = test_*
python_classes = Test*
python_functions = test_*
import os,sys
sys.path.append(os.getcwd())
from appium import webdriver
from base.base_driver import init_driver
from page.network_page import NetworkPage
class TestSetting:
    def setup(self):
       self.driver=init_driver()
       self.network_page=NetworkPage(self.driver)
    def test_mobile_network_2g(self):
        self.network_page.click_more()
        self.network_page.click_network()
        self.network_page.click_first_network()
        self.network_page.click_2g()

    def test_mobile_network_3g(self):
        self.network_page.click_more()
        self.network_page.click_network()
        self.network_page.click_first_network()
        self.network_page.click_3g()
    def teardown(self):
        self.driver.quit()
    操作步骤:
        1.命令行进入pytest.ini所在目录
        2.输入命令:pytest
    执行结果:
        1.pytest.ini所在目录生成report文件夹,文件夹下生成一个xml文件

xml转html工具安装

Windows版本
    1.下载压缩包allure-2.7.0.zip
            地址:https://bintray.com/qameta/generic/allure2
    2.解压
    3.将压缩包内的bin目录配置到path系统环境变量
    4.进入report上级目录执行命令:allure generate report/ -o report/html --clean
    5.report目录下会生成index.html文件,即为可视化报告
Mac版本
    1.:brew install allure
    2.进入report上级目录执行命令:allure generate report/ -o report/html
    3.report目录下会生成index.html文件,即为可视化报告

Allure之Pytest

添加测试步骤

方法:@allure.step(title="测试步骤001")
这是方法级别的描述
import allure, pytest
class TestContact:

    @allure.step(title='登陆的测试脚本')
    def test_login(self):
        print('登陆')
        assert 1

    @allure.step(title='用户名的测试脚本')
    def test_username(self):
        print('用户名')
        assert 1

    @allure.step(title='密码的测试脚本')
    def test_password(self):
        assert 1

添加测试描述

方法:allure.attach('描述', '我是测试步骤001的描述~~~')
这是代码级别的描述
import allure, pytest
class TestContact:

    @allure.step(title='登陆的测试脚本')
    def test_login(self):
        allure.attach('登陆描述', '我是登陆实现~~~')
        print('登陆')
        assert 1

添加严重级别

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

    @allure.step(title='登陆的测试脚本')
    @allure.severity('critical')
    def test_login(self):
        allure.attach('登陆描述', '我是登陆实现~~~')
        print('登陆')
        assert 1

Jenkins使用

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,
旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

一般情况下,公司内部Jenkins安装在服务端,不需要本地安装,都已配置完成,可直接操作使用.

jenkins安装

依赖环境jdk1.5以上
1.下载jenkins.war
2.进入jenkins.war所在目录,执行:java -jar jenkins.war
3.浏览器进入:localhost:8080

安装所需要插件

浏览器输入localhost:8080,进入默认密码提示文件,输入系统默认密码,接下来安装建议的插件
(提示:以后的孙腾,你要记着,在安装建议的插件时,由于网络问题,会有插件安装不成功)
解决方法:在我的百度网盘中找到jekins资源,解压后会出现.jenkins文件夹,将解压后的.jenkins文件夹,替换即可解决:

jenkins持续集成配置

Jenkins持续集成配置目的:
1、配置github地址
2、配置多长时间找一次
3、配置了pytest生成.json或xml
4、配置了将json或xml生成html报告
jenkin安装Allure插件
1.进入jenkins系统管理 -> 管理插件
2.点击可选插件
3.搜索框输入Allure Jenkins Plugin
4.选中安装
这个插件是为了生成pytest的xml文件或json文件
Jenkins安装Allure Commandline工具
这个插件的目的是为了将生成的xml文件,转化为html报告形式
1.进入jenkins系统管理 -> 全局工具安装
2.找到Allure Commandline,点击Allure Commandline安装
3.输入一个别名
4.点击新增安装-选择解压*.ip/*.tar.gz
5.解压目录选择已下载好的allure2.7.0.zip包所在目录(⚠️ 版本要一致)
6.点击保存

Jenkins新建一个项目

1.选择新建一个自由风格的软件项目 -> 点击确定
2.输入一些项目描述
3.选择GitHub project 
4.输入Project url # 因我们只是举例,所以使用自己的一个github测试脚本

源码管理配置

5.勾选Git
6.Repository URL输入地址同第四步
7.点击Add添加github的用户名和密码

构建触发器

8.勾选Poll SCM # 根据定时任务,查看github版本是否更新,如果更新会自动构建项目
    9.输入crontab命令
        举例:
            */1 * * * * # 每一分钟检查一次
10.点击增加构建步骤,选择Execute shell
11.Command输入
        mac:
        export PATH=$PATH:"pytest可执行文件的目录"
        pytest
        
        windows:
        PATH=$PATH;"pytest可执行文件的目录"     #(到scripts)
        pytest
时程表的格式如下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。

构建后操作

12.点击增加构建后操作步骤,选择Allure Report
13.Path路径输入:生成的报告文件夹名称
⚠️ 文件夹名称与pytest生成的报告文件夹名称一致

小结:

到此,就成功构建了一个项目,
点击立即构建,就相当于执行了pytest生成xml或json文件,并根据文件生成了allure报告,在工作区里面是,项目结构:

Jenkins邮件配置

目的,将生成的html报告,通过邮件发送给对应的开发与测试人员

发件人配置

    配置邮件系统用户:
        系统管理-系统设置-Jenkins Location
        系统管理员邮件地址:用户名@163.com(发送邮件用户)
    配置系统邮件:
        系统管理-系统设置-邮件通知
        SMTP服务器:例 smtp.163.com
        用户默认邮件后缀:例如 @163.com
        高级-使用SMTP认证
        输入发送邮箱和授权密码 -可以使用测试邮件验证   
# 163邮箱的授权码,在设置里面找到,只要是第三方要密码的,都是加密的授权密码,不会给明文的密码      
    配置(发送附件)邮件:
        系统管理-系统设置-Extended E-mail Notification
        SMTP server:例 smtp.163.com
        Default user E-mail suffix:例如 @163.com
        高级-Use SMTP Authentication - 输入发送邮件的邮箱和授权密码
        Default Content Type: HTML(text/html)
        Default Content(报告模版,使用以下html代码即可):
               <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/>

收件人配置

    # 添加测试报告接收邮件列表

    14.点击增加构建后操作步骤,选择Editable Email Notification 
    15.点击Advanced Setting…
    16.点击Triggers中的高级按钮
    17.Recipient List输入邮件接收列表,多个邮件逗号分隔

注意:

发件人只有一个即可,故可在jekins的全局配置中配置,而收件方是根据项目的不同来发给不同的负责人,故应该在每个项目里面去配置。
posted @ 2020-10-12 22:14  幸福来之不易  阅读(235)  评论(0编辑  收藏  举报