reportportal 集成 robotframework 自动化执行及结果可视化
前言:
最近领导想了个需求,想把目前组内在linux平台上执行的自动化脚本搞成可视化,如果是web站点相关日志可视化倒是简单了,ELK就是不错的选择,大部分可视化项目这种的,可以做的开起来很炫。
我们这边是自己写的脚本,测试网卡的自动化,日志的格式并不是那么符合web日志的格式。
选择方案:
Reportportal 可视化项目地址:
比较符合我的想法,重点在于可视化执行过程,可视化结果分析,灵活自定义图表。
过程:
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配置
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\1q2w3e
Administrator: superadmin\erebus
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,参考这里填写,一般可以直接复制黏贴
11. 到这里就完成配置了,运行一下用例吧:
就可以在Launches 的界面看到运行的 测试项目了,可以实时看到运行状态,运行结果
12. 日志结果分析,bug标记,jira集成
进入失败的日志,可以看到日志的具体信息,对问题进行记录
最终可以在dashborad界面自定义创建图表,展示本次测试结果统计:
总结:
该项目可以和很多测试框架集成,且集成简单,使用方便,如果有需要对测试报告进行二次加工的小伙伴可以该方案。reportportal开源社区比较活跃,真遇到bug很快有人帮助解决。
reportportal 集成 robotframework 自动化执行及结果可视化的更多相关文章
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- NET持续集成与自动化部署
https://www.cnblogs.com/hunternet/p/9590287.html 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们 ...
- 从零学习基于Python的RobotFramework自动化
从零学习基于Python的RobotFramework自动化 一. Python基础 1) 版本差异 版本 编码 语法 其他 2.X ASCII try: raise Type ...
- .NET 半天搭建Jenkins持续集成与自动化部署系统
前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们所做的系统业务复杂,系统庞大,设计到多个系统之间的合作,而核心系统更是采用分布式系统架构,由 ...
- 【转载】soapui基于持续集成工具自动化运行的调研姿势
soapui中的testrunner.bat调研姿势,用于自动化测试副标题:soapui基于持续集成工具自动化运行的调研姿势 各位亲爱的同仁们,大家好吗?最近项目在搞持续集成工具,我们的测试用例都是基 ...
- robotframework自动化系列:随机下拉框
robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没 ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境
写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...
- .NET持续集成与自动化部署之路第二篇——使用NuGet.Server搭建公司内部的Nuget(包)管理器
使用NuGet.Server搭建公司内部的Nuget(包)管理器 前言 Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基 ...
- .NET持续集成与自动化部署之路第三篇——测试环境到生产环境的一键部署策略(Windows)
Jenkins测试环境到生产环境的一键部署策略(Windows) 一.前言 前面我们已经初步实现了开发集成环境.测试环境的持续集成(自动化构建.自动化测试.自动化部署).但生产环境自动化部署迟 ...
随机推荐
- Apache Hudi vs Delta Lake:透明TPC-DS Lakehouse性能基准
1. 介绍 最近几周,人们对比较 Hudi.Delta 和 Iceberg 的表现越来越感兴趣. 我们认为社区应该得到更透明和可重复的分析. 我们想就如何执行和呈现这些基准.它们带来什么价值以及我们应 ...
- C++ 特殊矩阵的压缩存储算法
1. 前言 什么是特殊矩阵? C++,一般使用二维数组存储矩阵数据. 在实际存储时,会发现矩阵中有许多值相同的数据或有许多零数据,且分布呈现出一定的规律,称这类型的矩阵为特殊矩阵. 为了节省存储空间, ...
- JavaScript 基础知识(一):对象以及原型
前言 JavaScript 常被描述为一种基于原型的语言--每个对象拥有一个原型对象,对象以其原型为模板.从原型继承方法和属性.原型对象也可能拥有原型,并从中继承方法和属性,一层一层.以此类推.这种关 ...
- 【HTML】学习路径3-段落标签和标题标签
第一章:标题标签 <h1> </h1> <h2> </h2> 等等... 数字越大,字体尺寸越小. <!--标题会加粗.独占一行--> ...
- 从0到1写一款自动为Markdown标题添加序号的Jetbrains插件
1. markdown-index 最近做了一个Jetbrains的插件,叫markdown-index,它的作用是为Markdown文档的标题自动添加序号,效果如下: 目前已经可以在Jetbrain ...
- Html飞机大战(八):子弹的移动和管理
好家伙,这应该是这个小游戏最难的几个点之一了 现在我们要做出子弹射击的效果我们应该如何处理? 1.首先我们要确定几个变量和方法的关系 变量: 子弹 bullet 弹夹(用来装子弹的东西)bulle ...
- C语言小游戏: 推箱子 支线(一)--1
好家伙,考完试了 回顾一下2021 回顾一下某次的作业 妙啊 所以, 做一个推箱子小游戏 1.先去4399找一下关卡灵感 就它了 2.在百度上搜几篇推箱子, 参考其中的"■ ☆"图 ...
- KingbaseES 数据库参数优化
一.数据库应用类型 针对不同的应用模型,需要对数据库配置进行优化: 1.网络应用程序(WEB) 通常受 CPU 限制 DB比RAM小得多 90% 或更多的简单查询 2.在线事务处理 (OLTP) ...
- Nessus-8.11.1-x64.msi安装包
希望能给那些和我一样迷茫受挫的小伙伴们一些帮助,这玩意儿下载挺慢的,我把安装包分享出来,如果有博客园账号的,点个赞呗,CSDN那些用着别人的软件还要积分,呸! 08-18更新,截止到现在,已更新到最新 ...
- 在Winform开发中,我们使用的几种下拉列表展示字典数据的方式
在Winform开发中中,我们为了方便客户选择,往往使用系统的字典数据选择,毕竟选择总比输入来的快捷.统一,一般我们都会简单封装一下,以便方便对控件的字典值进行展示处理,本篇随笔介绍DevExpres ...