智能脚本工具(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 ...
随机推荐
- C# 类的继承问题 正方形周长面积计算问题
1. 设计编写一个控制台应用程序,练习类的继承. (1) 编写一个抽象类 People,具有"姓名","年龄"字段,"姓名"属性,Work ...
- vue学习8-for循环
<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <meta ht ...
- node.js request请求url错误:证书已过期 Error: certificate has expired
场景: node:8.9.3版本 报错代码: Error: certificate has expired at TLSSocket.<anonymous> (_tls_wrap.js:1 ...
- Webpack之 webpack-dev-server 中的 contentBase配置及作用
contentBase:主要是指定静态资源的根目录的.
- hive 常用日期格式转换
固定日期转换成时间戳select unix_timestamp('2016-08-16','yyyy-MM-dd') --1471276800select unix_timestamp('201608 ...
- IO多路复用原理&场景
目录 IO多路复用的历史 阻塞 IO 非阻塞 IO IO 多路复用 select poll epoll IO多路复用高效的原因 IO多路复用解决的什么问题 epoll比selector性能一定更好吗 ...
- Matplotlib 3.0 秘籍·翻译完成
原文:Matplotlib 3.0 Cookbook 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交 ...
- windows10使用wireshark抓取本机请求包
1.管理员运行cmd 右键左下角windows图标,管理员运行Windows PowerShell 2.输入ipconfg查看本机ip和网关ip 3.执行命令 route add 本机ip mask ...
- java中构造函数和一般函数的区别
构造方法 特点: 1.方法名称和类名相同 2.不用定义返回值类型 3.不可以写return语句 作用: 给对象初始化 构造方法的细节: 当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法. ...
- mysql处理警告 Warning: Using a password on the command line interface can be insecure.
vim /etc/mysql/my.cnf [mysqldump] user=user_name password=password 格式: [只用密码的命令] user=用户名 password=密 ...