Jmeter之数据参数化篇

来源:互联网 发布:商业宣传软件 编辑:程序博客网 时间:2024/06/07 18:20

一、背景

        公司的html5页面现在有领取红包活动,所以需要分两个背景来实现并发

       场景一:浏览活动页,查看是否有领取红包权限;

       场景二:领取1,2,3,4,5档红包;

二、数据

        场景一(浏览) :场景二(领取) = 3: 7   (3000:7000)

        

三、设置

        场景一设置为线程组一,场景二设置为线程组二,分别设置线程组的线程属性---》线程数为30,70,并勾选“delay Tread creation until needed”

        为每个线程组增加对应的:

       1. http请求默认值(设置https + host,content-encoding utf-8)

       2.http cookie 管理器,设置项跟上篇关联。

       3. http信息头管理器,(此处我增加了一项Content-Type: application/json;charset=UTF-8

       4. http 请求---- 作为登陆,用来第一步获取cookie,保持登陆状态(勾选Use KeepAlive,跟随重定向)【有参数】

       5. http请求 ---  浏览活动页面【有参数】

       6. 响应断言 --- 验证每一项的正确性 ,勾选相应文本,并选择“包括” ,增加验证项。

       7. http请求----领取红包 + 响应断言


四、设置参数化

        1. 用${1}变量替换参数

        2. 由于领取红包的数据是json格式发送,所以需要配置http信息头管理器

        3. 在领取红包的http请求 ,Body Data处编写json格式参数;

        4. json参数里面有一个字段是base64加密,需要替换,具体方法见六

      

五、导入csv文件为参数化文件

        此处尝试过用txt格式的文件作为参数文件,然而,无论配置绝对路径还是相对路径,都提示读取失败(file not exist or not readable)

        打开sample里面的例子,查看参数文件为csv格式文件,并且与代码位置一致。复制粘贴并修改为自己的参数文件。

   1. 增加“配置元件”--“CSVdata set Config”,设置filename ,varable names(上面用到了两个参数,cno,card)在file里面两个参数用逗号分隔


六、Base64加密

      使用“选项”--“函数助手对话框” ,选择“_base64Encode" ,并在下面输入需要加密的变量,以及存储加密后数据的变量 ,点击“生成“ 并将字符串复制粘贴到json中对应的加密字段



保存保存保存,把测试计划保存好,运行。

command-line : jmeter -n -t xxx.jmx -l xxx.jtl -e -o XXX\result                 (在result 里面打开index.html)查看结果

在jmeter 增加监听器,在监听器“Bytes Throughout Over Time” 打开jtl文件。


原创粉丝点击