reportportal 集成 robotframework 自動化執行及結果可視化

前言:最近領導想了個需求,想把目前組內在linux平臺上執行的自動化腳本搞成可視化,如果是web站點相關日志可視化倒是簡單了,ELK就是不錯的選擇,大部分可視化項目這種的,可以做的開起來很炫 。
我們這邊是自己寫的腳本,測試網卡的自動化 , 日志的格式并不是那么符合web日志的格式 。
選擇方案:Reportportal 可視化項目地址:
reportportal/reportportal: Main Repository. Report Portal starts here - see readme below. (github.com)
比較符合我的想法,重點在于可視化執行過程,可視化結果分析,靈活自定義圖表 。
過程:1. 把linux執行的命令通過robotframework的sshlibrary執行,相當于對之前人寫的腳本加了個殼子,把日志格式標準化成robotframework的形式 。1.1我把robotframework安裝在windows 10上的,python 3.8具體過程我就不寫了,網上很多 , 這里提供一篇文章供參考:
Robot Framework 使用【1】-- 基于Python3.7 + RIDE 最新版本搭建 - 藍寅 - 博客園 (cnblogs.com)
部分lib版本參考:(都比較新)
D:\>pip listPackage Version--------------------------- ---------paramiko 2.11.0pip 21.1.1Pypubsub 4.0.3pywin32 304reportportal-client 5.2.6robotframework 3.2.1robotframework-datadriver 1.6.1robotframework-reportportal 5.3.1robotframework-ride 2.0b2robotframework-sshlibrary 3.8.0wxPython 4.0.72. 第一步中可以看到 有reportportal-client 和 robotframework-reportportal先關的lib,對的,這是后面集成reportportal安裝的2.1部署reportprotal web站點,推薦博客:ReportPortal 在python下的應用介紹之----ReportPortal部署 - Believer007 - 博客園 (cnblogs.com)推薦部署方式docker,因為需要裝的軟件太多了 , 采用docker的方式部署建議磁盤100G以上空間,不然部分docker起不來,web網站功能也不全 。
安裝方式在上面的博客里面寫的很詳細了,如下:
3. .安裝Docker管理員登錄centos,輸入以下命令
yum install -y yum-utilsyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum-config-manager --enable docker-ce-nightly安裝docker
yum install docker-ce docker-ce-cli containerd.io啟動docker
systemctl start docker替換源
新建文件 /etc/docker/daemon.json
{"registry-mirrors": ["https://registry.docker-cn.com"]}重啟docker
systemctl daemon-reloadsystemctl restart docker.service4.安裝docker compose下載文件
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose變更權限
chmod +x /usr/local/bin/docker-compose查看是否安裝成功
docker-compose --version5. 下載reportportal的yml文件根據管網在這下,但是由于國外墻的原因下不了(有國內源可以找找)
curl -LO https://raw.githubusercontent.com/reportportal/reportportal/master/docker-compose.yml6.設置elasticSearch配置123mkdir -p data/elasticsearchchmod 777 data/elasticsearchchgrp 1000 data/elasticsearch7.安裝docker-compose -p reportportal up -d --force-recreate裝的過程比較坎坷,可能會由于網絡原因找不到 。
8.驗證(版本算是比較新的)登錄地址
http://虛擬機IP:8080
默認有登錄用戶名和密碼:
Default User: default\1q2w3eAdministrator: superadmin\erebus

reportportal 集成 robotframework 自動化執行及結果可視化

文章插圖
9. 與 robotframework 集成reportportal 官方提供了源碼和 操作方法:reportportal/agent-Python-RobotFramework (github.com)
我再詳細說一下吧:
在robotframework所在的 window10 平臺上安裝 robotframework 的第三方lib;
pip install robotframeworkpip install robotframework-reportportal當然還需要安裝reportportal 的client,用來傳 RF的日志到reportportal
reportportal/client-Python: A common client library for Python-based agents (github.com)
pip install reportportal-client到此完成所有的安裝
10. robotframework 聯動 reportportal在 RF run界面的 Arguments里面添加reportportal的listener
例如:
--listener robotframework_reportportal.listener--variable RP_UUID:"your_user_uuid"--variable RP_ENDPOINT:"your_reportportal_url"--variable RP_LAUNCH:"launch_name"--variable RP_PROJECT:"reportportal_project_name"解釋上上面的東西:
登錄 reportportal網站后,點擊進入 USER PROFILE , 參考這里填寫,一般可以直接復制黏貼
reportportal 集成 robotframework 自動化執行及結果可視化

推薦閱讀