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

如何用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.dtcms.com/a/353420.html

相关文章:

  • 【网络编程】NtyCo协程服务器的框架(轻量级的协程方案,人称 “小线程”)
  • 从浏览器无法访问到Docker容器的 FastAPI 服务地址【宿主机浏览器和容器不在同一个网络层面:端口映射】
  • 前端AI应用实践指南:从基础概念到高级实现
  • 云手机的未来发展怎么样?
  • 数据结构(C语言篇):(二)顺序表
  • 状态设计模式
  • 手机冻结技术发展时间轴
  • Flutter项目详解
  • 深度学习实战117-各种大模型(Qwen,MathGPT,Deepseek等)解高考数学题的应用,介绍架构原理
  • C++工程实战入门笔记6-函数(三)关于base16编码的原理和函数模块化实战
  • LINUX --- 网络编程(二)
  • OpenAi在中国拿下“GPT”商标初审!
  • October 2019 Twice SQL Injection
  • Qt图片上传系统的设计与实现:从客户端到服务器的完整方案
  • 对比视频处理单元(VPU)、图形处理器(GPU)与中央处理器(CPU)
  • 多模态模型如何处理和理解图片
  • PPT处理控件Aspose.Slides教程:在.NET中开发SVG到EMF的转换器
  • STM32学习日记
  • 替身演员的艺术:pytest-mock 从入门到飙戏
  • Java基础 8.27
  • 如何使用windows实现与iphone的隔空投送(AirDrop)
  • 【Docker基础】Docker-compose数据持久化与卷管理:深入解析docker volume命令集
  • 【重学MySQL】八十九、窗口函数的分类和使用
  • Mysql杂志(三)
  • 【46页PPT】公司数字化转型规划与实践(附下载方式)
  • 学习Python中Selenium模块的基本用法(7:元素操作-1)
  • 应变片与分布式光纤传感:核心差异与选型指南
  • 极海发布APM32F425/427系列高性能MCU:助力工业应用升级
  • laravel学习并连接mysql数据库
  • Linux 软件编程(十二)网络编程:TCP 并发服务器构建与 IO 多路复用