51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 592|回复: 0
打印 上一主题 下一主题

reportportal 集成 robotframework的实战分享

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-27 16:36:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近领导想了个需求,想把目前组内在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-utilsyum-config-manager --add-repo https://download.docker.com/linu ... oyum-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.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.co ... /docker-compose.yml

6.设置elasticSearch配置


1

2

3

mkdir -p data/elasticsearch
chmod 777 data/elasticsearch
chgrp 1000 data/elasticsearch



7.安装



docker-compose -p reportportal up -d --force-recreate


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

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

登录地址

http://虚拟机IP:8080

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





Default User: default\1
q2w3eAdministrator: superadmin\erebus



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


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


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


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


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


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




总结:


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






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-11 23:45 , Processed in 0.069689 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表