移動端測試——Allure報告與Jenkins集成 (10)

Allure報告

  • Allure是一個獨立的報告插件,生成美觀易讀的報告
  • 目前支持語言:Java、PHP、Ruby、Python、Scala、C#

參閱:html

1.1 Allure安裝

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

pip3 install allure-pytestjava

2. xml轉html工具安裝

第一種:安裝包python

平臺 地址
官方 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 -ygit

3. 生成Allure報告

在執行命令目錄生成report文件夾,文件夾下包含xml文件
pytest --alluredir report
xml文件轉化爲html文件
allure generate report/ -o report/htmlgithub

eg:json

pytest.inivim

[pytest]
;--html=./report.html
;刪除原生html,增長Allure
addopts = -s --alluredir report
# 測試路徑
testpaths = ./Test
# 測試文件名
python_files = test_*.py
# 測試類名
python_classes = Test_*
# 測試的方法名
python_functions = test_*

test_all.pywindows

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")centos

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

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代碼,觸發器在定時任務到達時,會開始項目構建

參閱:

更新中......

相關文章
相關標籤/搜索