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. mysql分组函数与查询

    Ⅰ.分组函数的分类: max():最大值 min():最小值 sum():和 avg():平均值 count():计算非空的个数 这些都是通用的,sqlserver.oracle.mysql都是一样的 ...

  2. Luogu P4271 [USACO18FEB]New Barns P

    题意 给一个一开始没有点的图,有 \(q\) 次操作,每次为加点连边或者查询一个点到连通块内所有点的距离最大值. \(\texttt{Data Range}:1\leq q\leq 10^5\) 题解 ...

  3. Java学习的第四十一天

    1.例4.4内置函数 public class cjava { public static void main(String[] args) { int i=10,j=20,k=30,m; m=max ...

  4. python爬虫使用scrapy框架

    scrapy框架提升篇 关注公众号"轻松学编程"了解更多 1.创建启动爬虫脚本 在项目目录下创建start.py文件: 添加代码: #以后只要运行start.py就可以启动爬虫 i ...

  5. Python3网络学习案例三:编写web server

    1. 写在前面 这里总结的并不够详细,有时间了再进行补充. 2. 设计思路 HTTP协议是建立在TCP上的1. 建立服务器端TCP套接字(绑定ip,port),等待监听连接:listen(2. 打开浏 ...

  6. IDEA创建maven项目没有src/main/java目录问题解决

    IDEA创建maven项目没有src/main/java目录问题解决          今天新建一个maven项目的时候,没有src文件目录,查了网上很多,依然没有解决,后来发现是VM Options ...

  7. 关于Java中泛型、反射和注解的扫盲篇

    泛型 泛型概念   泛型是在JDK1.5之后引入的,旨在让我们写出更加通用化,更加灵活的代码.通用化的手段在于让数据类型变得参数化,定义泛型时,对应的数据类型是不确定的,泛型方法被调用时,会指定具体类 ...

  8. vue API 知识点(2)---选项总结

    一.选项 / 数据 1.data 当一个组件被定义,data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例,如果 data 仍然是一个纯碎的对象,则所有的实例将被共享引用同一个 ...

  9. JavaScript之构造函数

    在学习构造函数之前我们需要知道我们学习构造函数需要学习什么: 1.什么是构造函数  2.构造函数用来做什么 3.构造函数的执行过程  4.构造函数的返回值 1.所以首先我们需要知道什么是构造函数: 在 ...

  10. CI框架导入 excel

    整合PHP  Excel和PHPexcelReader到 librarys下面     两个excel整合成一个excel   <?php class Excel extends Control ...