4

reportportal 集成 robotframework 自动化执行及结果可视化 - LastOneBlackHole

 1 year ago
source link: https://www.cnblogs.com/wushua/p/16814027.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

最近领导想了个需求,想把目前组内在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 list
Package Version
--------------------------- ---------
paramiko 2.11.0
pip 21.1.1
Pypubsub 4.0.3
pywin32 304
reportportal-client 5.2.6
robotframework 3.2.1
robotframework-datadriver 1.6.1
robotframework-reportportal 5.3.1
robotframework-ride 2.0b2
robotframework-sshlibrary 3.8.0
wxPython 4.0.7

2. 第一步中可以看到 有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-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-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-reload
systemctl restart docker.service

4.安装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 --version

5. 下载reportportal的yml文件

根据管网在这下,但是由于国外墙的原因下不了(有国内源可以找找)

curl -LO https://raw.githubusercontent.com/reportportal/reportportal/master/docker-compose.yml

6.设置elasticSearch配置

mkdir -p data/elasticsearch
chmod 777 data/elasticsearch
chgrp 1000 data/elasticsearch
docker-compose -p reportportal up -d --force-recreate

装的过程比较坎坷,可能会由于网络原因找不到。

8.验证(版本算是比较新的)

http://虚拟机IP:8080

默认有登录用户名和密码:

Default User: default\1q2w3e
Administrator: superadmin\erebus
1775489-20221021163025370-1090184889.png

9. 与 robotframework 集成

reportportal 官方提供了源码和 操作方法:reportportal/agent-Python-RobotFramework (github.com)

我再详细说一下吧:

在robotframework所在的 window10 平台上安装 robotframework 的第三方lib;

pip install robotframework
pip 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,参考这里填写,一般可以直接复制黏贴

1775489-20221021164024748-1204792870.png

11. 到这里就完成配置了,运行一下用例吧:

就可以在Launches 的界面看到运行的 测试项目了,可以实时看到运行状态,运行结果

1775489-20221021164300397-370445546.png

12. 日志结果分析,bug标记,jira集成

进入失败的日志,可以看到日志的具体信息,对问题进行记录

1775489-20221021164550915-1323981652.png

最终可以在dashborad界面自定义创建图表,展示本次测试结果统计:

1775489-20221021164720408-2026852186.png

该项目可以和很多测试框架集成,且集成简单,使用方便,如果有需要对测试报告进行二次加工的小伙伴可以该方案。reportportal开源社区比较活跃,真遇到bug很快有人帮助解决。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK