当前位置: 首页 > ai >正文

如何用Renix实现网络测试自动化: 从配置分离到多厂商设备支持

引言
您是否也面临这些痛点?

  • 同样的测试脚本在类似的场景不能重复利用,为维护大量脚本而头疼;
  • 换台设备就得重新配置适配脚本;
  • 脚本代码逻辑复杂,代码行数太多,易读性较差。

本篇文章主要介绍如何使用Renix高层封装API编写自动化脚本的基础知识和技巧。只要您熟悉测试流程,不需要很强的代码能力就可以顺利编写自动化测试。

本教程将以实践为导向,引导您逐步掌握Renix高层封装API Python编码的基础知识,教您如何创建测试拓扑、生成流量、执行测试并收集结果。其中涉及大量源码,满满干货,看完记得点赞哦!

Renix高层封装自动化脚本框架

  1. 框架设计理念
    核心原则:
    ✅ 测试逻辑与设备配置分离
    ✅ 用例参数与执行脚本解耦
    ✅ 多厂商设备即插即用
    在这里插入图片描述

2.目录结构详解
在这里插入图片描述

2.1 测试用例集 (switch/)
在这里插入图片描述

文件规范:
用例ID遵循 用例编号命名
cfg.json 包含流量参数/断言阈值等可变数据
2.2 设备命令集 (command/)
多厂商设备命令集支持:
在这里插入图片描述

厂商设备命令集目录
在这里插入图片描述

2.3 核心库 (libraries/)
在这里插入图片描述

2.4. 全局配置 (testbed.json)
在这里插入图片描述

3、脚本逻辑执行流程
在这里插入图片描述

Renix高层封装四大自动化秘籍

秘籍一:一行代码唤醒历史配置

适用场景:
▸ 回归测试快速复现问题
▸ 新员工秒接手自动测试
按照我们提供的脚本目录框架将手动保存的配置的仪表文件放在文件夹目录下,使用信而泰TesterLibrary 高层封装API load_case,只需输入load_case(Path=xcfg_path)即可自动加载文件目录下的xcfg文件
在这里插入图片描述在这里插入图片描述

秘籍二:一个脚本可通用于相似用例

让相似的用例复用一个自动化脚本。
核心思想:
“三分离原则”
测试逻辑(固定),脚本逻辑对应测试步骤,测试逻辑相同只是仪表配置不用的用例脚本可以实现复用
测试数据(可变),测试参数和数据统一存放在一个json文件中,修改数据即可进行数据的充分测试
设备控制(可替换),交换机路由器命令支持 ssh,telnet,console,tcp等远程通信连接方式自动下发,命令格式支持txt,excel两种类型
在这里插入图片描述

交换机测试命令集目录及命令内容实例如下图:
在这里插入图片描述
在这里插入图片描述

秘籍三:智能适配多环境
如何让一个脚本,适配多套测试环境和设备,
测试拓扑的适配
测试拓扑连接信息写入testbed.json文件中,修改对应的测试仪表,交换机设备的 ip 和实际端口即可适配不同的测试环境。
在这里插入图片描述

测试仪表速率和产品类型的适配
测试仪表产品类型分为BigTao和DarYu,不同端口速率的适配,在testbed.json文件中修改"edit_port_params"可以对测试仪的端口参数进行设置,如下图示为端口设置关闭FEC。

秘籍四:像读说明书一样读代码

让自动化脚本代码清晰可读,一行代码就是一个步骤,让自动化脚本易上手
在这里插入图片描述

为什么选择Renix高层封装API?

在这里插入图片描述

http://www.xdnf.cn/news/18848.html

相关文章:

  • WebConfig的登录与放行
  • 对比视频处理单元(VPU)、图形处理器(GPU)与中央处理器(CPU)
  • 前端-从零开始在本机部署一个前端项目
  • 流程控制语句(1)
  • Dify 从入门到精通(第 59/100 篇):Dify 的自动化测试(进阶篇)
  • 野火STM32Modbus主机读取寄存器/线圈失败(一)-解决接收中断不触发的问题
  • 嵌入式-定时器的时基单元,自制延迟函数-Day21
  • AI驱动的前端性能优化:从监控到自动化修复
  • C# 字符和字符串
  • 《信息检索与论文写作》实验报告三 中文期刊文献检索
  • 【算法速成课1 | 题解】洛谷P3366 【模板】最小生成树 MST(Prim Kruskal)
  • GitHub 宕机自救指南:保障开发工作连续性
  • Android中点击链接跳转到对应App页面的底层原理
  • 信号线串扰仿真
  • 【C++】类和对象 --- 类中的6个默认成员函数
  • 达梦数据库-控制文件 (二)
  • 如何在开发工具中使用钉钉MCP
  • 数据结构:在堆中插入元素(Inserting In a Heap)
  • 深度学习-----详解MNIST手写数字数据集的神经网络实现过程
  • Magicodes.IE.Pdf 生成导出PDF文件 bytes Stream FileStreamResult 下载
  • MYSQL---存储过程
  • 能源行业数据库远程运维安全合规实践:Web化平台的落地经验
  • AI 暗战: 回声室攻击 —— 解锁大模型安全防御的隐秘战场
  • [Sync_ai_vid] 唇形同步评判器 | 图像与视频处理器 | GPU测试
  • 【RabbitWQ】基于 Java 实现轻量级消息队列(二)
  • 使用 ROS2 构建客户端-服务器通信:一个简单的计算器示例
  • 储能变流器学习之MPPT
  • 汽车盲点检测系统的网络安全分析和设计
  • k8s-容器化部署论坛和商城服务
  • 开源 | 推荐一套企业级开源AI人工智能训练推理平台(数算岛):完整代码包含多租户、分布式训练、模型市场、多框架支持、边缘端适配、云边协同协议: