如果你是一位网络测试人员,您的工作中是否有出现过以下困扰呢?

· 重复机械式的测试有时让你觉得工作是如此的枯燥乏味!
· 只增不减的测试用例让你下班越来越晚!
· 请求老板招人,人却永远不够用!

但值得庆幸的是,自动化测试技术终于到来。它可以减少重复性劳动,提高测试效率,节约人力成本,是不是很棒!

不过自动化测试也有一些弊端,首先它要求测试人员熟悉编程语言和语法,还要花费大量时间编写测试例。测试用例变多了,我们不得不发出测试人员内心中的灵魂三连:写代码真的对测试工程师友好吗?能手工的可不可以不要用天书一样的代码解决?有没有什么办法能够让测试更简单一些呢?

——————————————————————————————————————

面对自动化测试这些痛苦,北京信而泰科技股份有限公司推出一个非常方便的功能——智能脚本(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)测试应用的更多相关文章

  1. ArcGIS使用Python脚本工具

    在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用.在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了.这里用按要素裁剪栅格的Python来 ...

  2. 2015 GOOGLE I/O大会看点总结:新的开发工具及云端测试工具

        http://ask.android-studio.org/?/article/48 尽管凌晨开始的主题演讲略显晦涩并继承了谷歌一贯的东一句西一句想起啥说啥的混乱风格,但期待用技术改变世界的技 ...

  3. 开始你的第一个npm脚本工具

    在实际开发中,一般刚开始一个项目或者刚接手一个项目,我们会运行 npm install 下载安装所有依赖, 在实际开发中,可能也会使用各种命令行-- 来提高我们开发的效率. 与它相处了这么久,你真的了 ...

  4. JShell脚本工具

    JShell脚本工具是JDK9的新特性 什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具.启动 ...

  5. 列车网络智能诊断工具链—MVB智能诊断仪

    由于MVB网络采用分布式网络结构,各组网设备分布在不同电气柜,甚至是在不同车辆上,各组网设备往往来自于不同供应商,这给MVB网络调试及诊断带来了很大的难度.目前MVB网络调试及故障排查,主要是通过仪器 ...

  6. Java基础---JavaJShell脚本工具

    JShell脚本工具是JDK9的新特性 什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具. 启 ...

  7. 使用2种python脚本工具将2个txt文档中的文字进行比较,并计算出Corr, WER正确率,准确率

    一.准备: linux服务器,src2mlf.py   rec2mlf.py   HResults文件,1份源文件和1份需要对比的文件.文件放置于本人云盘 二.使用方法: 1. 对比工具 HResul ...

  8. Jmeter(二十八) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy1(详解教程)

    1.简介 在使用jmeter自动录制脚本时会产生很多无用的请求,所以推荐使用badboy录制脚本之后保存为jmx文件,在jmeter中打开使用.因此宏哥在这里介绍一下Badboy这款工具,本来打算不做 ...

  9. ;~ 并发运行的AutoHotkey脚本真机实际测试模板参考20191010.ahk

    ;~ 并发运行的AutoHotkey脚本真机实际测试模板参考20191010.ahk;~ 2019年10月10日;~ 徐晓亮(aahk6188);~ 操作系统测试环境: Windows 7 专业版 3 ...

随机推荐

  1. 配置vscode的C++环境Unexpected GDB output from command "-environment-cd

    原因 中文字符 换成D盘目录下以后.

  2. Nginx代理常用参数

    目录 一:Nginx代理常用参数 1.添加发往后端服务器的请求头信息 二:参数案例 1.lb01配置文件 2.web01 web02 web服务器 3.测试 4.重启 5.DNS域名解析 6.网址测试 ...

  3. python12day

    昨日回顾 可迭代对象: 可以更新迭代的实实在在的值. 内部含有'__iter__'方法. str.tuple.dict.set.range 优点:操作方法多,灵活直观 缺点:占用内存. 迭代器: 可以 ...

  4. 微服务架构 | 5.4 Sentinel 流控、统计和熔断的源码分析

    目录 前言 1. Sentinel 的自动装配 1.2 依赖引入 1.3 SentinelWebAutoConfiguration 配置类 1.4 CommonFilter 过滤器 1.5 小结 2. ...

  5. ql/sql 循环语句、异常处理、事务处理!

    一.ql sql 循环语句? /*1.loop循环 语法: 声明循环变量 loop 判断循环条件 ,如果循环条件不成立,跳出循if 条件表达式 then exit; end if; 语句块; 改变循环 ...

  6. 如何在Visual Studio中添加opencvsharp的可视化工具

    这个文件放到这个目录下,就可以看mat对象查看了

  7. ApacheCN Asp.NET 译文集 20211126 更新

    ASP.NET Core2 基础知识 零.前言 一.搭建舞台 二.控制器 三.视图 四.模型 五.验证 六.路由 七.RestBuy 八.添加功能.测试和部署 ASP.NET Core3 和 Angu ...

  8. [USACO19JAN]Exercise Route P

    先让我们探索一下两条非树边以及树边能构成简单环的条件是什么,你会发现将第一条非树边的两个点在树上形成的链记为 \(W_1\),另一条即为 \(W_2\),那么当且仅当 \(W_1, W_2\) 有交时 ...

  9. AT2043 [AGC004C] AND Grid

    首先可以发现一个很简单的想法,因为最外层是一定不会有 \(\#\) 的,所以可以考虑让第一个网格图将每个连通块的最外层包起来,第二个网格图将就选择这个包内部的所有点即可. 但你发现这个想法是很难实现的 ...

  10. JS Map与Set

    笔记整理自:廖雪峰老师的JS教程 Map JavaScript的对象有个小问题,就是键必须是字符串.但实际上Number或者其他数据类型作为键也是非常合理的. 为了解决这个问题,最新的ES6规范引入了 ...