1.简介

  Badboy为方便自动化数据灵活性,以及脚本的重用,减少工作量;为此提供了脚本参数化的功能,这一篇文章宏哥以度娘搜索的关键字“北京-宏哥”进行参数化为例,宏哥带领你们实战一下如何使用Badboy的参数化功能。

2.脚本录制

  经过上一篇文章的学习想必大家对Badboy的脚本录制应该已经不陌生了吧,可以自己录制脚本了吧。不会的宏哥在这里再演示一遍,具体操作步骤如下:

1. 输入:https://www.baidu.com/到Badboy的URL的地址输入栏中(browser bar),如下图所示:

2. 点击开始录制按钮,开始录制,然后再点击前进图标访问到度娘,如下图所示:

3. 在度娘的搜索输入框中输入“北京-宏哥”,点击百度一下,如下图所示:

4. 页面展开搜索结果后,如下图所示:

5. 点击browser bar的后退, 回到https://www.baidu.com/,如下图所示:

6. 停止录制, 展开脚本树,点击Variable 标签(显示Tab步骤:点击View—>Summary View)

从上图,可以观察到宏哥输入“wd=鍖椾含-瀹忓摜”已经被记录下来,虽然是中文乱码,但是确实是被记录下了。实际工作中我们遇到的问题是:不需要再次录制或者是重新设计新脚本,测试搜索其他的内容。

Badboy的脚本参数化为我们提供了解决方案,下边宏哥就介绍一下如何参数化。

3.Badboy参数化

3.1增加参数

1. 切换到Variable的按钮中,在空白处右键 ,弹出如下窗口,如下图所示:

2. 点击“Add Varialbe”,弹出如下窗口,输入变量名“Searchcontent”,如下图所示:

3. 由于这个用例是测有效类,那么我们加入有效测试数据,如北京宏哥,宏哥,北京-宏哥.....等等,如下图所示:

4. 点击Ok,参数Searchcontent已经保存成功,并显示到Variable列表中

3.2将脚本中的值进行参数化

1. 右击脚本树中的wd,选择Properties,如下图所示:

2. 将Value绑定参数Searchcontent,格式为"${variable name}" 。

注意:当我们想固定一个参数值时,也可以使用Variable list的索引用法, 如宏哥希望脚本每次都查:宏哥,应Value=${Searchcontent[2]},list的索引从0开始。

3. 点击“确定”按钮,观察脚本树的变化,sw的值已经被参数化,如下图所示:

3.3设置运行方式

1. 双击Step “Variable search”, 或右击选择Properties, 设置运作为以Searchcontent为循环方式,点击“确定”,如下图所示:

2. 选择Variable Search,点击“”,运行脚本,如下图所示:

3.仔细观察脚本运行情况, 分别按照输入的三个参数值进行了搜索, 证明宏哥的参数化已经成功实现。

4.小结

  这里演示时候宏哥本来是打算用博客园来实战演示的,但是演示过程中发现由于搜索的时候需要输入验证码,所以在Badboy中的搜索结果什么也没有。后来宏哥发现登录后搜索不需要验证码,但是登录的时候遇到同样的问题,因此换了度娘来演示一下。其实淘宝、天猫和京东都可以演示的。

Jmeter(三十) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy3(详解教程)的更多相关文章

  1. 《手把手教你》系列技巧篇(三十八)-java+ selenium自动化测试-日历时间控件-下篇(详解教程)

    1.简介 理想很丰满现实很骨感,在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就 ...

  2. 《手把手教你》系列技巧篇(三十九)-java+ selenium自动化测试-JavaScript的调用执行-上篇(详解教程)

    1.简介 在做web自动化时,有些情况selenium的api无法完成,需要通过第三方手段比如js来完成实现,比如去改变某些元素对象的属性或者进行一些特殊的操作,本文将来讲解怎样来调用JavaScri ...

  3. Jmeter(二十) - 从入门到精通 - JMeter监听器 -下篇(详解教程)

    1.简介 监听器用来监听及显示JMeter取样器测试结果,能够以树.表及图形形式显示测试结果,也可以以文件方式保存测试结果,JMeter测试结果文件格式多样,比如XML格式.CSV格式.默认情况下,测 ...

  4. Jmeter(二) - 从入门到精通 - 创建测试计划(Test Plan)(详解教程)

    1.简介 上一篇中宏哥已经教你把JMeter的测试环境搭建起来了,那么这一篇我们就将JMeter启动起来,一睹其芳容,首先宏哥给大家介绍一下如何来创建一个测试计划(Test Plan). 2.创建一个 ...

  5. Jmeter(三十一) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy4(详解教程)

    1.简介 上一篇文章中宏哥给小伙伴或童鞋们介绍讲解了手动添加Variable list的值,而实际工作中Badboy为我们提供了Variable setter工具,让我们不再使用哪一种比较笨拙的方法了 ...

  6. Jmeter(三十三) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy6(详解教程)

    1.简介 今天分享的就是在上一篇文章的基础上来进行讲解和分享:Badboy使用数据源Excel进行脚本参数化.然后在使用读取的参数进行对比断言. 2.具体场景 Badboy录制一个搜索的脚本,并对搜索 ...

  7. Jmeter(七) - 从入门到精通 - 建立数据库测试计划实战<MySQL数据库>(详解教程)

    1.简介 在实际工作中,我们经常会听到数据库的性能和稳定性等等,这些有时候也需要测试工程师去评估和测试,上一篇文章宏哥主要介绍了jmeter连接和创建数据库测试计划的过程,宏哥在文中通过示例和代码非常 ...

  8. 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)

    1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...

  9. 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)

    1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某 ...

随机推荐

  1. ThreadLocal内存泄漏需要注意的

    前段时间在网上看到了一篇关于ThreadLocal内存泄漏的文章 于是个人也研究了下ThreadLocal 对象,其原理是: ThreadLocal 定义的变量值 会存储在当前线程的一个map集合中 ...

  2. pycharm配置django rest framework

    安装django rest framework pip install 添加rest_framework app  在settings.py INSTALLED_APPS = [ 'django.co ...

  3. Socket创建简单服务器和客户端程序

    使用Socket编程创建简单服务器和客户端 要知道的 Socket-AddressFamily, SocketType, ProtocolType https://blog.csdn.net/weix ...

  4. numpy的统计分析

    一.排序 间接排序(argsort,lexsort) 根据一个或多个数据集进行排序 1.Sort() --对数值直接进行排序 a.一维排序 b.二维排序 c.axis的认知 2.argsort() - ...

  5. bash中选择结构、循环结构与break、continue

    if两种选择结构 if 测试条件; then 程序块 else 程序块 fi if 测试条件1; then 程序块 elif 测试条件2; then 程序块 ... elif 程序条件n; then ...

  6. 数据采集与融合第四次作业:多线程以及scrapy框架的使用

    数据采集第四次作业:多线程以及scrapy框架的使用 任务一:单多线程的使用 单线程代码: from bs4 import BeautifulSoup from bs4 import UnicodeD ...

  7. PHP-Parse 简介以及在 Hyperf 中的应用

    介绍 PHP-Parse 是分析 PHP 代码生成 AST 的库,分析出可读性很高的对象数据结构,方便后续的更新和遍历. PHP-Parse 的主要作用是修改原有代码(比如插入自定义的代码片段),生成 ...

  8. tcp 客户端 synack的接收 以及 相互connect

    接收入口 tcp_v4_rcv    |--> tcp_v4_do_rcv               |-> tcp_rcv_state_process                  ...

  9. Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun错误解决方案

    window 读取文件可以用\,但是在字符串中\是被当作转义字符来使用,'C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_P ...

  10. centos6 virbox安装

    yum install kernel-devel yum update kernel* wget http://download.virtualbox.org/virtualbox/debian/or ...