• 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 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    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
    
    • 1
    • 2
    • 3

    安装docker

    yum install docker-ce docker-ce-cli containerd.io
    
    • 1

    启动docker

    systemctl start docker
    
    • 1

    替换源

    新建文件 /etc/docker/daemon.json

    {
        "registry-mirrors": ["https://registry.docker-cn.com"]
    }
    
    • 1
    • 2
    • 3

    重启docker

    systemctl daemon-reload
    systemctl restart docker.service
    
    • 1
    • 2

    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
    
    • 1

    变更权限

    chmod +x /usr/local/bin/docker-compose
    
    • 1

    查看是否安装成功

    docker-compose --version
    
    • 1

    5. 下载reportportal的yml文件

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

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

    6.设置elasticSearch配置

    mkdir -p data/elasticsearch
    chmod 777 data/elasticsearch
    chgrp 1000 data/elasticsearch
    
    • 1
    • 2
    • 3

    7.安装

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

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

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

    登录地址

    http://虚拟机IP:8080

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

    Default User: default\1q2w3e
    Administrator: superadmin\erebus
    
    • 1
    • 2

    在这里插入图片描述

    9. 与 robotframework 集成

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

    我再详细说一下吧:

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

    pip install robotframework
    pip install robotframework-reportportal
    
    • 1
    • 2

    当然还需要安装reportportal 的client,用来传 RF的日志到reportportal

    reportportal/client-Python: A common client library for Python-based agents (github.com)

    pip install reportportal-client
    
    • 1

    到此完成所有的安装

    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"
    
    • 1
    • 2
    • 3
    • 4
    • 5

    解释上上面的东西:

    登录 reportportal网站后,点击进入 USER PROFILE,参考这里填写,一般可以直接复制黏贴

    在这里插入图片描述

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

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

    在这里插入图片描述

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

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

    在这里插入图片描述

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

    在这里插入图片描述

    总结:

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

    如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以加入我们的QQ群:746506216,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。


    资源分享

    下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    【目标检测】LLA: Loss-aware label assignment for dense pedestrian detection【标签分配】
    MySQL开发技巧——行列转换
    图片铺满div元素不变形,超出部分隐藏,保留中心部分css代码
    HDFS机架感知配置(block放置策略/NodeGroup分配策略配置)
    基于C#制作一个串口通信调试软件
    任务长期不释放和占用单节点持续的cpu,导致hivesever2本身内存泄漏造成
    小红书内测「群AI」功能;大模型技术图谱;曾鸣「看十年」智能商业演讲实录;GPT最佳实践-大白话编译版 | ShowMeAI日报
    IPv4/IPv6、DHCP、网关、路由
    APP广告竞价机制:头部竞价与瀑布流
    ERP编制物料清单 金蝶
  • 原文地址:https://blog.csdn.net/wx17343624830/article/details/127868443