精华内容
下载资源
问答
  • JMeter的参数化

    2019-03-25 23:34:46
    1、JMeter参数化的使用场景:为了更真实模拟现实场景并发,同一个请求并发传入不同值,这种情况就需要使用参数化。 2、JMeter参数化的3种方式 (1)配置元件-CSV Data Set Config 配...

    目录

    1、JMeter参数化的使用场景

    2、JMeter参数化的3种方式


           1、JMeter参数化的使用场景:为了更真实的模拟现实场景的并发,同一个请求的并发传入不同的值,这种情况就需要使用参数化。

           2、JMeter参数化的3种方式

                 (1)配置元件-CSV Data Set Config

                          配置元件的三个作用:可以帮助进行参数化;也可帮助用来存储服务器的响应信息,如HTTP信息头管理;还可做初始化设置,如JDBC Connection Configuration,测试SQL语句时,可用其配置与数据库的连接。

                          CSV Data Set Config,可从指定的文件中(一般是文本文件),一行一行的读取文本内容,根据分隔符拆解每一行内容,并把内容与变量名对应上,然后这些变量就可被取样器引用了。

                          CSV Data Set Config,需注意的选项:

                Filename:引用文件的地址,可以是相对路径也可以是绝对路径。相对路径的根节点是Jmeter的启动目录,即是%JMETER_HOME%\bin,如果user.dat文件的存储目录为D:\jmeter\script,所以“..\”往回上一级目录为D:\jmeter。如果测试执行的是分发到多台远程负载机,所以有些负载机的Jmeter安装文件可能在不同的目录下,这时最好用相对路径,能保证每个负载机执行脚本时脚本的参数化文件能被读取到。另外一种方法,可利用Jmeter变量来参数化参数文件的路径,如${paraUrl},paraUrl可在【用户自定义变量】元件中设置,下面会详细介绍。

                File encoding:读取参数文件的编码格式,建议用UTF-8的格式保存参数文件,以免出现乱码。

                Variable Names(comma-delimited):定义的参数名称,用逗号隔开,如loginAcct,pwd;将会与参数文件中的每列数据对应,如图,参数文件有两列,即用户名和密码;

                  Delimiter(use '\t' for tab):用来分隔参数文件列的分隔符,默认为逗号;也可用tab来分隔,在此应该填“\t”。 

                  Unique:扩展的选项,因为Jmeter是开源的,可以根据需要来扩展选项。原理是根据参数文件的行数与运行的线程数来自动分配参数取值(两者相除取整),保证每个线程取值都不会重复。若使用此选项,Allow quoted data、Recycle on EOF、Stop thread on EOF、Sharing mode将全部失效,默认是每个线程分的一部分参数,可循环取值。默认选择非,不对参数化产生任何影响。

             实例:登录时,参数化账号和密码

     

                  (2)函数助手

                          a、使用场景:想每次发布不同内容的帖子,就需要参数化帖子的内容,如希望内容是随机生成的,就可使用函数来生成,Jmeter提供了丰富的函数来生成不同的数据。

                          b、函数助手,如_RandomString函数,需注意的选项

                           Random String Length:生成的字符串长度

                           Chars to use for random string generation:指定用哪些字符作为种子进行随机生成,支持中文、字母、数字。

                           Name of variable in which to store the result (optional):可选项,如果填写,运行脚本后,可在Debug Sample中看到这个变量的值。

                            用来给其他请求做参数化:入参的参数值引用${__RandomString(50,dadf测试汉字deff12223243Ddi,)};由于是随机生成的字符串,所以每次请求的参数化的入参值可能是不一样。

               (3)User Defined Variables

                       a、访问地址参数化:服务器地址有可能变化,把访问地址参数化后,只需把参数对应的值同步下就可以。

                                                         在用户自定义变量的组件中,定义服务器地址URL、端口号PORT变量

                             然后在HTTP请求取样器中引用,服务器地址和端口号

                       b、HTTP请求默认值

                             使用的场景:一般服务器的地址和端口号是不变的,用“HTTP请求默认值 ” 元件把重复的内容分离出来,只需要定义一次即可。

         

                                    只需填写:Server Name or IP、Port Number、Protocol[http]、Content encoding                

     

    展开全文
  • Jmeter的参数化

    2015-12-04 11:05:55
    Jmeter的参数化 相信大家在录制请求或是手动添加请求的时候,一定遇到了用户名、密码或是其他参数,想要实现多个不一样的值去进行测试。这个时候如果手动的去添加,那就真的太麻烦了,关键是也没那么大的耐心去...

    Jmeter的参数化
    相信大家在录制请求或是手动添加请求的时候,一定遇到了用户名、密码或是其他参数,想要实现多个不一样的值去进行测试。这个时候如果手动的去添加,那就真的太麻烦了,关键是也没那么大的耐心去手动的添加100、1000甚至10000以上的信息录入啊。
    这时候,参数化就可以帮助大家偷懒啦~~~~这里我就介绍一种方法,简单!易懂!实用!
    一、详细步骤:
    (1)创建线程组—>添加HTTP Cookie 管理器–Http 信息头管理器.
    (2)添加一个http请求,修改名为登陆。
    (3)添加“查看结果树”。
    (4)参数化:添加一个配置元件“CSV Data Set Config”。
    这里写图片描述
    (5)我们需要“参数化”的数据,用记事本写了五个用户名和密码,保存为.dat格式的文件,编码问题在使用CSV Data Set Config参数化时要求的比较严格,记事本另存为修改编码UTF-8. 注意用户名和密码是一一对应的,中间用户逗号(,)隔开。
    这里写图片描述
    二、CSV Data Set Config的配置。
    (1) 把设置好参数化数据放在相应的目录下,方便读取。
    这里写图片描述

    这里写图片描述
    三、参数化的设置:
    这里写图片描述

    四、执行:
    根据你的参数数据,有多少个参数,就设置多少个线程,这样就可以读出你所有想要的数据。
    这里写图片描述
    这里写图片描述

    展开全文
  • 聊一聊Jmeter的参数化

    2021-05-03 00:02:25
    背景 前面一篇聊了一下 JMeter 的简单使用,这篇聊一下 JMeter 的参数化。在开始之前先来一个单元测试的例子,感受一下参数化。上面是一个用 xUnit 写的单元测试,这个单元测试...

    背景

    前面一篇聊了一下 JMeter 的简单使用,这篇聊一下 JMeter 的参数化。

    在开始之前先来一个单元测试的例子,感受一下参数化。

    上面是一个用 xUnit 写的单元测试,这个单元测试就是一个参数化的例子:

    模拟了不同的输入,调用同一个方法,得到了不同的输出。

    对某一个场景,要验证不同的输入得到不同的输出是非常有用的。

    在 JMeter 里面就可以通过参数化来实现这个效果。

    JMeter 的参数化有很多种方法,本文主要是介绍基于 CSV Data Set Config 的参数化。

    在这篇文章里面,会通过一个简单的场景来了解 JMeter 参数化的使用,以及自定义 jar 包的使用。

    场景

    这里用一个大家最熟悉的登录场景做为例子。

    登录最重要的就是用户名和密码这两个内容,这里会有两种结果,登录成功和登录失败。

    在这个场景下,假设我们的接口定义是这样的

    POST http://localhost:8532/run?sign=sssss&appkey=aaaaa
    Content-Type: application/json
    
    {
       "userName":"catcherwong",
       "password":"xxxxx"
    }
    
    • sign 的值是签名,用来验证参数是否被修改,这里是不校验的,所以随便生成一个随机数就可以了。

    • appKey 是定义的另一个参数,这里也不做校验的,也是随机定义即可。

    这个接口,会有两种返回

    登录失败的, code 会是 1, msg就是错误信息。

    {"code":1,"msg":"用户名或密码错误"}
    

    登录成功的, code 会是 0。

    {"code":0,"msg":"ok","data":{"token":"626b97f78d794f4da927bc09ae6be245"}}
    

    针对这个场景,简单起见,只考虑 code 的值来判断登录是否成功。

    准备数据

    场景有了,接口也有了,再下一步就是准备要用的数据了。

    这里是用 CSV 文件来做为数据源,所以我们把接口要用到的参数放进去。

    准备了20条数据,第一列是用户名,第二列是密码,第三列是appkey,第四列是结果,表明用前面三列数据去调用登录接口,应该成功还是失败。

    然后在线程组里面添加一个 CSV 的配置原件。

    在里面最主要的配置是 文件路径变量名

    文件路径没什么好说的,就是 csv 文件所在的具体路径。

    可以看到上面的 csv 文件,我们是没有定义头部的,放的直接是数据,所以每一列数据代表什么需要有一个标识。

    这里的变量名可以认为就是给准备的每一列数据起个别名,便于后面的使用,示例这里是有4个的,每一个都是用英文逗号隔开。

    配置HTTP请求

    其中 name, pwd 和 appKey 这三个变量是前面已经定义好了的,所以这里可以直接用 ${xx} 的方式去使用。

    sign 这个参数是没有定义的,所以要加一个 BeanShell PreProcessor 来处理一下。

    到这里,请求已经配置好了,下面就是要判断登录是不是成功的了。

    断言

    断言这里是要判断返回的 JSON 结构里面的 code 值是不是和 csv 文件里面定义的一样。

    所以这里选择的还是 JSON Assertion

    要把期望值调整成变量名,这样它才会根据不同的入参判断不同的结果,上图的例子是  ${login_res}

    添加结果树,调整线程组的循环次数为20,再运行这个线程组,就可以看到对应的结果了。

    可以看到的是,20条数据都跑了一次,所有的用例都是可以过的。

    但是这里有一个问题,密码是明文传输的!!!

    这个是大忌,绝对不允许的,正常都会加密或哈希之后再传输。所以这里要做一个优化。

    也就引入了,自定义 jar 包的使用。

    自定义jar包调整

    首先我们需要写一些 JAVA 代码来编译成一个 jar 包。

    这里老黄是直接写好了,直接用就可以了。

    调整一下 BeanShell PreProcessor ,如下图所示:

    首先是先引入自定义 jar 包,其次是从 vars 里面拿到明文密码,然后是调用 jar 包里面的 getPwd 的方法对密码进行处理,最后再把处理好之后的密码放到一个新变量 ePwd 里面。

    由于之前的 sign 参数是写死的123,这里也改成调用 jar 包里面的 getSign 方法来生成。

    由于密码参数换了一个变量,所以要调整一下 HTTP 请求。

    最后再次运行,可以看到 密码不再是明文了,sign值也不再是固定的了。

    自定义的 jar 包,记得要在测试计划里面添加一下!

    写在最后

    参数化是一个很有用的功能,可以让我们的参数动起来。

    展开全文
  • 文章目录前言一、jmeter的参数化二、关联三、断言总结 前言 本篇主要介绍接口测试工具jmeter的参数化、关联、断言 学会了这些就能完全胜任工作中的接口测试任务。 提示:以下是本篇文章正文内容,下面案例可供参考...


    前言

    本篇主要介绍接口测试工具jmeter的参数化、关联、断言
    学会了这些就能完全胜任工作中的接口测试任务。


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、jmeter的参数化

    1.配置元件:用户定义的变量
    针对接口请求里面都有的相同的变量,进行参数化引用,便于修改,引用方式${变量名};
    用户定义的变量填写变量名和值;
    在这里插入图片描述

    接口请求里面引用变量,引用方式${变量名};
    在这里插入图片描述

    2.配置元件:CSV Data Set Config
    如果要批量操作可以用CSV
    先准备一个.TXT格式文档,或者excel记住保存为.CSV格式的,或者.dat格式的文件;
    多个参数用逗号隔开;
    在这里插入图片描述
    添加CSV数据文件设置
    文件名:设置文件路径;
    文件编码:如有中文用utf-8;
    变量名:设置被变量的名称,多个用逗号隔开;
    忽略首行:如果你的数据是从第二行开始的,就需要忽略首行;
    在这里插入图片描述

    在线程组里面修改线程数,有多少组数据就修改为多少,设置多了会再次循环;
    3.函数助手—random string函数进行参数化
    将我们的手机号后8位进行随机生成;
    在这里插入图片描述
    字符串长度:设置为8;
    选择范围:0123456789;
    变量名:可填可不填
    点击生成:得到随机字符串;
    复制这个字符串
    在这里插入图片描述

    粘贴到我们手机号后面即可;
    在这里插入图片描述

    二、关联

    关联概念:两个请求,上一个请求的响应结果,作为下一个请求的参数传入;
    关联运用场景:下一个请求的参数值是变化的;
    1.正则表达式(登录和充值的关联为token)
    从登录的响应结果写一个正则表达式获取到token;
    在这里插入图片描述

    添加一个正则表达式提取器
    要检查的响应字段:我们是从响应体里面获的token所以选择主体;
    引用名称:设置获取的字段的变量名;
    正则表达式:将我们的正则表达式填上;
    模板:11表示引用组1,22表示引用组2,00表示引用所有,我们这里只获取了一组,用11即可;
    匹配数字:-1代表全部,0表示随机,1表示第一个,2表示第二个
    缺省值:如正则表达式没提取到则使用这个默认值,可不写;
    在这里插入图片描述

    添加一个调制后置处理程序,看下我们的正则表达式提取器是否提取到了token
    在这里插入图片描述

    给我们的充值添加一个信息头管理器,将获取到的token填在里面Bearer ${token}(因为使用时前面有个bearer,我们需要处理一下,直接在token前面加上就好了);
    在这里插入图片描述

    这个时候设置完毕,点击run,查看充值成功;
    在这里插入图片描述

    3.Json提取器
    添加一个json提取器,因为登录的响应结果是json格式的,用json提取器会比正则表达式提取器更方便;
    在这里插入图片描述

    填写json提取器参数
    要检查的响应字段:我们是从响应体里面获的token所以选择主体;
    引用名称:设置获取的字段的变量名;
    json表达式:将我们的json表达式填上;
    匹配数字:-1代表全部,0表示随机,1表示第一个,2表示第二个
    缺省值:如正则表达式没提取到则使用这个默认值,可不写;
    在这里插入图片描述

    给我们的充值添加一个信息头管理器,将获取到的token填在里面Bearer ${token},(因为使用时前面有个bearer,我们需要处理一下,直接在token前面加上就好了);
    在这里插入图片描述
    这个时候设置完毕,点击run,查看充值成功;
    在这里插入图片描述

    三、断言

    设置一个响应断言,跟你的响应结果匹配,如果匹配上了则通过,如果没匹配上则表示不通过,帮助我们判断接口是否正常;
    添加一个响应断言,填写测试模式,以及自定义失败消息;
    在这里插入图片描述
    如果匹配"code":0,“msg”:"OK"通过就不会报错点,如下图:
    在这里插入图片描述

    修改一下匹配内容,如果匹配"code":0,“msg”:"success"不通过就不会报错点,如下图:
    在这里插入图片描述

    总结

    本篇主要介绍接口测试工具jmeter的参数化、关联、断言
    学会了这些就能完全胜任工作中的接口测试任务,希望能帮到你。
    end

    展开全文
  • 针对day1的学习,本文着重介绍jmeter的参数化方法: 1、.Jmeter参数化之从文件中读取数据  添加一个CSV Data Set Config 配置元件 data.txt文件内容如下: 2.jmeter参数化之用户变量  在测试计划...
  • (3)jmeter的参数化

    2018-09-06 00:01:06
    今天来讲下jmeter的参数化 首先老规矩,讲下参数化运用的场景 1 要测试的接口,比如登陆,单点登陆,这个就跟网关, token之类有关系了。搞开发的朋友应该知道网关的作用,这个时候你就需要不同的用户名去登陆,这...
  • jmeter的参数化使用

    2019-09-28 17:35:19
    最近领导让进行一些接口自动化测试,对jmeter的一些参数化使用整理了下: 主要步骤如下: 1.数据进行参数化并加载 其他数据默认即可 2.在URL路径之中添加参数(最简单) 将URL中的参数提取出来,完成参数加载,...
  • 本节是基础篇第二节,主要介绍jmeter的参数化,检查点,关联,正则表达式,其中参数化、检查点在实际压测中使用最多。 一、检查点 & 参数化 1、检查点 即是添加断言,这个在上篇文章中已提到,具体如下图...
  • JMeter的参数化如何去实现 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。 这个时候就需要对用户名和密码进行参数化,使...
  • Jmeter组件:参数化的概念(了解) A:是什么? 参数化就是动态获取并设置数据 B:为什么? 比如执行批量操作时,批量插入或批量删除,之前都是手写,每执行完都需要修改一次,效率太低 参数化就是可以以...
  • 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同...2、我们需要“参数化数据,用记事本写了五个用户名和密码,保存为.dat格式文件,编码问题在使用CSV Data Set Config参数化时..
  • 1、jmeter的参数化

    2019-08-21 20:05:58
    把默认语言设置为中文: 1、在bin目录下,找到jmeter.properties这个文件打开 ...添加用户参数的方法:选择接口右击-添加-前置处理器-用户参数 (1)用户参数:入参是整数 (2)入参是字符...
  • Jmeter的参数化方法

    万次阅读 2017-02-15 16:30:56
    对被测系统用户名和密码进行参数化,来模拟多个用户同时登录系统。 一、利用函数助手获取参数值 选项->函数助手对话框 __Random, __CSVRead, 生成函数字符串:${__Random(,,)}第一个参数为随机数下限,第二个...
  • 两个地方可以参数化 1badboy 2jmeter   jmeter里面也有两种参数化方式 1 添加前置条件--用户参数   添加断言 2第二种参数化(添加文本,多个参数写在txt文本导入进来)   3 随机参数化  ...
  • 1,如何添加参数化1)新建测试计划后,添加线程组,如图1,在线程组下添加http请求,如图2 图1 ...
  • 可以将生成Function syntax,复制粘贴到JMeter人一个文本框中。如Http Request name,parm Value。 ======================================================================================= 用户...
  • 1.建立一个文本文件,多个参数可以使用逗号,隔开 2.添加一个CSV Data Set Config,填写好参数 3.使用引用数据${变量名},比如${username},如果是一个变量对应多个值,则需循环读取,接口亦可循环引用   ...
  • JMeter学习 参数化

    2018-02-27 15:28:00
    JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现。 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。...
  • Jmeter多种参数化讲解

    2020-09-27 11:17:56
    参数化的作用 Jmeter多种参数化
  • Jmeter参数化

    2019-09-25 16:50:08
    Jmeter参数化 ... 一:badboy录制脚本时进行参数化的步骤  1.脚本录制成功后->在左下角,点击variables    2.在右下角空白处点击右键,点击add variable...,弹出Variable Properties  ...
  • jmeter参数化

    2020-03-19 18:31:06
    参数化方式1(手动添加,在Badboy录制之后不参数化直接导入到jmeter,然后在jmeter参数化操作): 输入变量名和用户: 在请求中替换参数: 添加察看结果树: 运行。 2、导入Badboy录制脚本(Bad...
  • Jmeter参数化

    2020-11-17 16:08:15
    先说明一下什么是Jmeter的参数化:这里打个比方,假如要验证用户的账号密码可不可以注册成功,有5种情况,如果不用参数化就要写5个HTTP的请求,要是用了参数化只要一和HTTP请求就可以了,虽然也是运行了5次,但是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,495
精华内容 998
关键字:

jmeter的参数化