zoukankan      html  css  js  c++  java
  • 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的全局配置中配置,而收件方是根据项目的不同来发给不同的负责人,故应该在每个项目里面去配置。
  • 相关阅读:
    数据库基础
    Junit单元测试、反射与注解
    Stream流
    Java IO所用类
    字符集
    Lambda表达式
    【jdk1.8源码分析】LinkedHashMap
    线性表
    【jdk1.8源码分析】ArrayList
    java学习血泪史
  • 原文地址:https://www.cnblogs.com/st998/p/13805943.html
Copyright © 2011-2022 走看看