智能脚本工具(Smart scripts)测试应用
如果你是一位网络测试人员,您的工作中是否有出现过以下困扰呢?
· 重复机械式的测试有时让你觉得工作是如此的枯燥乏味!
· 只增不减的测试用例让你下班越来越晚!
· 请求老板招人,人却永远不够用!
但值得庆幸的是,自动化测试技术终于到来。它可以减少重复性劳动,提高测试效率,节约人力成本,是不是很棒!
不过自动化测试也有一些弊端,首先它要求测试人员熟悉编程语言和语法,还要花费大量时间编写测试例。测试用例变多了,我们不得不发出测试人员内心中的灵魂三连:写代码真的对测试工程师友好吗?能手工的可不可以不要用天书一样的代码解决?有没有什么办法能够让测试更简单一些呢?
——————————————————————————————————————
面对自动化测试这些痛苦,北京信而泰科技股份有限公司推出一个非常方便的功能——智能脚本(Smart scripts)
· 智能脚本简介
Smart scripts是无代码的自动化测试用例编写和执行的解决方案,它支持循环语句和条件语句,不需要用户熟悉编程语言语法就可以轻松上手。灵活使用Smart scripts能够让测试工程师更方便地在图形界面上完成自动化测试,提高测试效率。
· 智能脚本功能
智能脚本编辑器拥有强大的命令功能,包括8大类:硬件类、控制类、流量类、协议类、统计类、抓包类、工具类、其它基本命令。其中每一大类都包含丰富的操作命令。
1.硬件类(Hardware)
支持的命令主要有连接/断开/关闭/重启机箱、预约/释放端口、端口上线/下线/自协商
2.控制类(Control)
主要用于控制运行脚本的流程,包括Break 、Continue 、Else 、Else If 、Goto 、Group 、If 、Loop 、While
3.流量类(Stream)
主要是与流量相关的操作命令,包括导入流、发送流、停止流等
4.协议类
包括Access协议、Carrier Ethernet协议、Routing协议和Switch协议。其中Access支持的协议有DHCPv4、DHCPv6 等。Carrier Ethernet支持的协议有802.1ag 、802.3ah 。Routing支持的协议有BFD 、BGP等 。Switch支持的协议有OVSDB。而每一种具体的协议又包括多种操作命令,比如BGP协议里的操作命令包括建立/断开BGP连接、通告/撤销BGP路由等。其它协议里的各种操作命令这里不再一一列举
5.统计类(Result)
主要用于统计结果
6.抓包类(Capture)
是关于捕获报文的操作命令,包括所有端口或指定端口上开始抓包、在所有端口或指定端口上停止抓包、终止捕获下载、下载pcap数据到指定的路径
7.工具类(Tool)
支持的命令主要包括Sleep、验证统计值以确定命令成功或失败等
8.其它基本命令(Core)
支持的命令主要包括开始/停止学习ARP、保存结果、保存配置文件、收集日志信息等
通过对智能脚本里的不同命令进行组合可以实现客户复杂测试需求,下图是Renix软件正在按照某多个命令运行的一个示例图。

接下来举几个简单应用示例:
场景一:实现流量定时启停
使用智能脚本完成发流固定时间后停止流量,也可使用控制命令配置循环次数,订阅统计,检查统计是否有丢包错包,保存测试结果等。
场景二:路由震荡
使用智能脚本运行BGP/ISIS/OSPF协议,通告路由,一段时间后再撤销路由,也可使用控制命令配置循环次数等。
场景三:实现端口上下线
使用智能脚本连接机箱,预约端口,使用智能脚本配置端口循环上线和下线。
——————————————————————————————————————
最后我们以“周期性发送流量”为例,介绍如何灵活使用智能脚本(Smart scripts)功能。
一、明确目的
端口1每隔10秒向端口2发送一次流量,每次发流10秒,然后停止,重复10000次
二、准备工作
预约两个端口,Port_1发送流量给Port_1流量,新建一条普通的RAW流,修改名称为TestStream,其它可以保持默认

三、具体配置
1.在软件的右上方点击智能脚本,并且固定

2.点击 编辑智能脚本打开智能脚本编辑器,切换到Stream的分类,将Start Streams命令加入到右边的方框(或者直接搜索start)

3.双击Start Stream1,并且选择之前建立好的TestStream流量

4.切换到Tool,将sleep命令加入脚本序列中,双击sleep,填写等待时间60秒

5.停止流量操作:可以搜索stop,将stop加入脚本序列中,双击stop,选择要停止的TestStream流量

6.每隔10秒再发送流量,需要再添加一个sleep

7.全部选中这4条命令,添加到一个loop里做成循环模式,双击loop,填写循环次数


8.点击确定,就会自动生成一个智能脚本,点击运行,就会按照设置的内容运行,下图表示循环到了第7次

9.可以通过编辑智能脚本非常容易地进行修改配置,例如,保存最终的测试结果,如下图是将测试结果保存到目录C:\Users\zkk\Desktop\result\1.db,文件名是“1.db”

10.脚本运行完成后,使用ResultAnalyzer软件打开“.db”的测试结果文件


通过上面的方法,用户就可以使用智能脚本完成一个完整的测试,省去大量手动重复性的发流停流操作。不用写一行代码,就可以完成脚本开发,大家有没有觉得很nice呢?另外,通过将命令列表进行组合,还可以衍生出更丰富的测试用例。我们会在将来的文章中继续为大家介绍Smart scripts的其它功能。
智能脚本工具(Smart scripts)测试应用的更多相关文章
- ArcGIS使用Python脚本工具
在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用.在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了.这里用按要素裁剪栅格的Python来 ...
- 2015 GOOGLE I/O大会看点总结:新的开发工具及云端测试工具
http://ask.android-studio.org/?/article/48 尽管凌晨开始的主题演讲略显晦涩并继承了谷歌一贯的东一句西一句想起啥说啥的混乱风格,但期待用技术改变世界的技 ...
- 开始你的第一个npm脚本工具
在实际开发中,一般刚开始一个项目或者刚接手一个项目,我们会运行 npm install 下载安装所有依赖, 在实际开发中,可能也会使用各种命令行-- 来提高我们开发的效率. 与它相处了这么久,你真的了 ...
- JShell脚本工具
JShell脚本工具是JDK9的新特性 什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具.启动 ...
- 列车网络智能诊断工具链—MVB智能诊断仪
由于MVB网络采用分布式网络结构,各组网设备分布在不同电气柜,甚至是在不同车辆上,各组网设备往往来自于不同供应商,这给MVB网络调试及诊断带来了很大的难度.目前MVB网络调试及故障排查,主要是通过仪器 ...
- Java基础---JavaJShell脚本工具
JShell脚本工具是JDK9的新特性 什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具. 启 ...
- 使用2种python脚本工具将2个txt文档中的文字进行比较,并计算出Corr, WER正确率,准确率
一.准备: linux服务器,src2mlf.py rec2mlf.py HResults文件,1份源文件和1份需要对比的文件.文件放置于本人云盘 二.使用方法: 1. 对比工具 HResul ...
- Jmeter(二十八) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy1(详解教程)
1.简介 在使用jmeter自动录制脚本时会产生很多无用的请求,所以推荐使用badboy录制脚本之后保存为jmx文件,在jmeter中打开使用.因此宏哥在这里介绍一下Badboy这款工具,本来打算不做 ...
- ;~ 并发运行的AutoHotkey脚本真机实际测试模板参考20191010.ahk
;~ 并发运行的AutoHotkey脚本真机实际测试模板参考20191010.ahk;~ 2019年10月10日;~ 徐晓亮(aahk6188);~ 操作系统测试环境: Windows 7 专业版 3 ...
随机推荐
- 详解__int128
前言 如果遇到 long long 开不下的情况,可以使用 __int128 来博一把! note :__int128 仅 \(64\) 位 \(GCC G++\) 支持,不在 \(C++\) 标准中 ...
- 【记录一个问题】铁威马nas,噪音太大了,我老婆说在客厅放了一个电饭锅
1.硬盘转动的噪音特别大,而且还是有很大IO的长时间猛转: 2.IO的管理算法,以及做IO的进程,都有很大问题.并未做任何操作,动不动就疯了一样硬盘猛转.
- centos6下php53升级为php7
1.查看版本 [root@web-1 blog]# php -v No log handling enabled - turning on stderr logging Created directo ...
- threejs - src - WebGLProgram是如何组建Shader的?
threejs - src - WebGLProgram是如何组建Shader的? WebGLProgram的构建 WebGLProgram构建的时候需要的参数如下: // \param render ...
- Matplotlib直方图绘制技巧
情境引入 我们在做机器学习相关项目时,常常会分析数据集的样本分布,而这就需要用到直方图的绘制. 在Python中可以很容易地调用matplotlib.pyplot的hist函数来绘制直方图.不过,该函 ...
- Dapr Actor 的微服务架构
Dapr中的Actor模型,和Orleans的Virtual Actor一脉相传, 圣杰写过一篇文章Orleans 知多少 | .NET Core 分布式框架介绍过.简单来讲:Actor模型 = 状态 ...
- ApacheCN Python 译文集(二)20211110 更新
Python 应用计算思维 零.序言 第一部分:计算思维导论 一.计算机科学基础 二.计算思维要素 三.理解算法和算法思维 四.理解逻辑推理 五.探究性问题分析 六.设计解决方案和解决流程 七.识别解 ...
- RSA公钥加密-私钥解密/私钥加密-公钥解密
package com.tebon.ams.util;import org.apache.commons.codec.binary.Base64;import org.apache.log4j.Log ...
- opencv结构IplImage
转载请注明来源:https://www.cnblogs.com/hookjc/ typedef struct _IplImage{int nSize; /* Ip ...
- Windows安装RabbitMQ过程及相关问题
一.下载 1.首先需要下载erlang,下载地址:http://www.erlang.org/downloads 2.其次需要下载RabbitMQ,下载地址:https://www.rabbitmq. ...