性能测试工具之Jmeter
文章平均质量分 79
记录Jmeter学习心得
谜城醉梦
这个作者很懒,什么都没留下…
展开
-
Jmeter上传附件中文乱码与录制脚本中文乱码问题解决,Jmeter5.3、5.4、5.5源码编译-44
编写Jmeter脚本时,总是遇到上传附件中文乱码问题与录制脚本中文乱码问题,网上查找了各种办法比如:jmeter.properties文件中设置sampleresult.default.encoding=UTF-8;HTTP请求中设置内容编码(content encoding)为UTF-8;勾选“对POST使用multipart / form-data”和“与浏览器兼容的头”等然而,并没有什么用,该乱码还是乱码,四处搜寻查找,发现被此问题困扰的小伙伴很多,但似乎都没有得到有效解决。于是想到从源码原创 2020-06-17 21:35:18 · 5536 阅读 · 15 评论 -
Jmeter使用ForEach控制器遍历调用JSON提取器得到的数组-43
使用Jmeter时进程会遇到这样一种情况,上一个请求得到的数据为json格式,下一个请求要将上一个请求结果的某个参数作为入参全部完整遍历一遍,而且这个结果有多个值。如:有一个人员列表,默认为10条数据,列表中每条数据都有头像的图片显示。业务逻辑实现为,先获取人员列表信息,再通过列表人员中的头像id为参数,重复去调用一个下载头像的接口。实现如下:在获取人员列表请求中添加后置处理器-JSON提取器其中portraitIds表示得到的一组结果的变量名前缀$.data.pageBean.list[原创 2020-06-11 16:15:49 · 1413 阅读 · 1 评论 -
Jmeter负载测试时如何监控服务器CPU、内存等资源-42
使用Linux命令监控使用ssh工具,连接被测服务器,使用top、free -m命令查看实时资源占用。优点:可查看实时的真实数据反馈,对测试结果基本无影响。缺点:需要人工手动监控,不利于长时间测试。使用perfmon插件监控要使用此方法监控服务器资源,需要下载对应的插件,首先,需要下载并启用插件管理器(如未安装,参考 1.4-安装插件管理器),然后进入插件管理器,输入PerfMon搜索并应用安装PerfMon插件。插件安装成功后,在就监听器中将出现jp@gc - PerfMon Metrics原创 2020-05-11 22:50:01 · 2609 阅读 · 0 评论 -
使用Jmeter如何进行负载测试-41
这是一个相当开放的主题,因为针对不同的业务逻辑进行负载测试,需要进行的工作都是不一样的,所以与功能测试一样,性能测试也不应该脱离业务而单独进行,除非你真的有需要这么做。在进行负载测试之前,你需要先懂得如何编写你的测试脚本,无论是录制还是手动编写脚本,这是执行负载测试的前提,如果没有任何经验,请先参阅基础篇进行基础学习。在进行负载测试之前,需要了解一些基本的信息:1 待测试业务预期的平均用户数是多少(正常负载) ?2 待测试业务的高峰用户数是多少(节假日或特殊活动)?3 针对服务器状态及负载测试可能原创 2020-05-11 22:39:34 · 2736 阅读 · 0 评论 -
Jmeter使用注意事项之官方推荐-40
始终使用最新版本的JmeterJMeter的性能正在不断提高,因此强烈建议使用最新版本。确保始终阅读版本更新内容,以了解新的改进和组件。应该避免使用比最新一个版本早3个版本的版本。如果是进行分布式测试,还应该保证控制机与压力机使用相同版本的Jmeter,且JDK版本也应该保持一致,否则可能会遇到一些不可预估的错误。始终使用正确的线程数进行测试测试机硬件性能以及测试计划设计都会影响JMeter有效运行的线程数,该数字还取决于服务器的运行速度(速度更快的服务器会使JMeter更加努力地工作,因为它更快地原创 2020-05-11 22:23:16 · 600 阅读 · 0 评论 -
Jmeter常见问题之java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)-39
执行分布式测试时,压力机启动jmeter-server.bat时抛出错误java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)这是由于没有通过SSL的RMI的有效密钥库,且未禁用SSL导致的。解决方案:jmeter.properties找到server.rmi.ssl.disable=false,改为true然后重新启动jmeter-server.bat即可...原创 2020-05-11 19:33:16 · 6369 阅读 · 0 评论 -
Jmeter常见问题之OutOfMemoryError(调整windows与Linux下Jmeter使用内存)-38
长时间执行测试或执行高并发测试,则可能报错java.lang.OutOfMemoryError,导致此问题的原因可能是1 在测试计划中添加了占用内存较多的监听器 .如”察看结果树” ,则只需要删除对应的监听器即可2 Jmeter运行使用默认的内存,而默认内存512m在高并发下明显不够用,此时则需要调整Jmeter运行内存设置Jmeter运行内存时,建议不超过压力机本身运行内存的50%(1)windows下在jmeter.bat文件里面修改,找到set HEAP并修改修改完成后,运行Jmeter,原创 2020-05-11 19:24:38 · 985 阅读 · 1 评论 -
Jmeter常见问题之Address already in use: connect-37
当线程数持续上升到一个点或并发持续一段时间后,脚本运行可能会报错java.net.BindException: Address already in use: connect。这是由于Windows系统提供给TCP/IP的端口被全部占用,无法及时回收导致的。解决方案:1.cmd中,用regedit命令打开注册表2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters右击parameters,添加一个新的DWO原创 2020-05-11 19:20:49 · 508 阅读 · 0 评论 -
Jmeter常见问题之Socket closed-36
在进行负载测试时,有时候会遇到Socket closed错误 ,这通常是由于服务器收到大量并发,超出处理能力而中断连接的所导致。但在大量请求的负载测试下,有时服务器本身处于正常状态也会有及其少量的此类异常。如果觉得服务器运行正常,则可以更改配置:对于HttpClient 4,在user.properties中设置:httpclient4.retrycount = 1,这将使JMeter重试一次。对于HttpClient 3,在user.properties中设置:httpclient3.retry原创 2020-05-11 19:16:58 · 2665 阅读 · 2 评论 -
Jmeter分布式测试-35
如果你的JMeter客户端计算机无法在性能方面模拟足够多的用户来使服务器承受压力,或者在网络级别受到限制的情况下,可以选择分布式测试。JMeter客户端的一个实例可以控制任意数量的远程JMeter实例,并从它们中收集测试结果。分布式测试具有以下功能:将测试样本保存到本地计算机在一台机器上管理多个JMeter压力机无需将测试计划复制到每台服务器-客户端自动将其发送到所有服务器注意: JMeter不会在压力机之间分配负载,每个压力机都运行完整的测试计划。因此,如果设置1000个线程并拥有6个JMete原创 2020-05-11 18:55:57 · 235 阅读 · 0 评论 -
Jmeter录制脚本的两种方法介绍(HTTP代理录制与badboy录制)-34
在实际项目应用Jmeter,通常录制的脚本都是不能直接使用的,需要根据实际业务对对应的脚本进行参数化、关联等操作后才能正常使用,且录制脚本时通常各种请求比较多,杂乱,且会记录很多干扰项,所以是否需要使用录制方法进行脚本编写,需要根据实际应用场景分析决定。HTTP代理服务器录制HTTP代理录制方式通常用于录制网页端和APP端的测试脚本,本章将通过介绍录制网页端脚本进行讲解,录制APP端的方法与录制网页端大致相同,只是将浏览器中设置代理,更换到手机中设置代理,将不再赘述。要实现代理录制,需要启动Jmete原创 2020-05-11 16:33:52 · 2934 阅读 · 0 评论 -
Jmeter使用正则表达式提取响应内容-33
提取单个字符串假设要匹配网页的以下部分:name =“ file” value =“ readme.txt”>,并且要提取readme.txt。合适的正则表达式为:name =“ file” value =“(.+?)”>上面的特殊字符有:():括号包含要返回的匹配字符串部分,即要提取的字符串应该在这里包含. : 点匹配任何字符+ : +符号表示匹配一或多次? :?符号表示非贪婪的匹配,即匹配到第一个停止,否则将执行匹配直到找到所有可能的与正则表达式匹配的值注意:虽然原创 2020-05-11 15:47:50 · 621 阅读 · 0 评论 -
Jmeter函数与变量使用详解(下)-32
函数可以做什么函数有两种:用户定义的静态值(或变量)和内置函数。注意,当前变量不能嵌套;即$ {Var $ {N}}不起作用。而函数可用于执行嵌套操作:$ {__ V($ {N})}。还可以使用$ {__ BeanShell(vars.get(“ Var $ {N}”))}。使用内置函数,用户可以在运行时根据先前的响应数据(函数所处的线程,时间和许多其他来源)计算新值。在整个测试过程中,将为每个请求重新生成这些值。而静态变量在测试迭代过程中将会导致数据重复,这对于部分测试是不利的。在哪里可以使用函数原创 2020-05-11 15:37:09 · 798 阅读 · 0 评论 -
Jmeter函数与变量使用详解(上)-31
JMeter函数是特殊的值,可以填充测试树中任何Sampler或其他元素的字段,通常用于生成随机变量填充请求参数。函数调用如下所示:$ {__ functionName(var1,var2,var3)}其中“ functionName”与函数名称匹配,括号括住发送给函数的参数,例如$ { time(YMD)} 实际参数因函数而异。不需要参数的函数可以省略括号,例如$ {__ threadNum}。如果函数参数包含逗号,确保使用“ \ ”将其转义,否则JMeter会将其视为参数定界符。变量引用如下:$原创 2020-05-11 15:29:40 · 544 阅读 · 0 评论 -
Jmeter生成测试报告-30
Jmeter可通过多种方式生成测试报告图表,命令行模式与GUI模式均可以生成测试报告。需要注意的是,生成Jmeter自带的测试报告,只能使用CSV格式的日志文件进行生成,若果是xml格式的日志文件,生成测试报告时将会报错从现有的示例CSV日志文件生成使用以下命令:jmeter -g <日志文件> -o <输出文件夹的路径>负载测试后生成使用以下命令:jmeter -n -t <测试JMX文件> -l <测试日志文件> -e -o <输出文件原创 2020-05-11 15:11:45 · 504 阅读 · 0 评论 -
Jmeter通过命令行模式(CLI)运行测试示例与参数详解-29
CLI模式运行示例:1、仅执行并生成结果文件,执行前删除已有结果文件或测试报告文件夹(如果有)jmeter –n –t test.jmx –f –l testlog.jtl2、执行、生成结果文件、生成html报告并保存报告到指定文件夹jmeter –n –t test.jmx –l testlog.jtl –e –o report3、执行测试并指定代理服务器jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 80004、指定线程数原创 2020-05-10 23:00:06 · 956 阅读 · 0 评论 -
Jmeter非测试元件之HTTP代理服务器详解-28
HTTP代理服务器允许JMeter在使用常规浏览器浏览Web应用程序时拦截并记录操作。JMeter将创建测试样本对象并将其直接存储到的测试计划中(这样就可以在制作它们的同时以交互方式查看样本)。要使用代理服务器,需要添加 HTTP代理服务器元素。右键单击“测试计划”元素以获取“添加”菜单:(“ 添加” →“ 非测试元素” →“ HTTP代理服务器” )。要使用HTTP代理服务器,需要设置浏览器对所有HTTP和HTTPS请求使用代理。录制脚本时,最好使用无痕浏览模式,这可以确保浏览器没有存储的co原创 2020-05-10 21:24:39 · 1378 阅读 · 0 评论 -
Jmeter常用后置处理器之正则表达式提取器、JSON提取器、JSON JMESPath Extractor-27
后置处理器在取样器执行之后执行,通常用于提取处理样本返回数据,应用于同一范围内的所有取样器,如果要将后置处理器应用于指定的取样器,需要将其添加为取样器的子代。后置处理器在断言之前运行,所以无权访问任何断言结果。正则表达式提取器允许用户使用正则表达式从服务器响应中提取值。作为后处理器,此元素将在其范围内的每个Sample请求之后执行,应用正则表达式,提取请求的值,生成模板字符串,并将结果存储到给定的变量名称中。属性描述名称:显示的此取样器的描述性名称,可自定义Apply to: 仅主样本 :仅适原创 2020-05-10 20:30:05 · 3888 阅读 · 0 评论 -
Jmeter常用定时器详解-26
定时器在发现它们的范围内,在取样器之前先处理定时器,范围内每个取样器执行前都将执行一次定时器。如果同一范围内有多个定时器,则将在每个取样器之前处理所有定时器。 定时器仅与取样器一起处理。与取样器不在同一范围内的定时器将不会被处理。要将定时器应用于单个取样器,需要将定时器添加为取样器的子元素。在执行取样器之前将应用计时器。要在取样器之后应用计时器,需要将其添加到下一个取样器。固定定时器如果希望每个线程在两次请求之间暂停相同的时间,可以使用此计时器。属性描述名称:显示的此取样器的描述性名称,可自原创 2020-05-10 15:53:12 · 307 阅读 · 0 评论 -
Jmeter断言之断言持续时间(Duration Assertion)与JSON 断言-25
断言持续时间(Duration Assertion)断言持续时间测试指定的样本响应时长,任何响应时长超过指定的持续时间的样本,都被判定为失败。属性描述名称 :显示的此取样器的描述性名称,可自定义持续时间(毫秒) :响应时长运行的最大毫秒数,超过此值判定为失败JSON 断言Json断言可以执行JSON文档的验证。首先,它将解析JSON,如果数据不是JSON则失败。其次,它将使用Jayway JsonPath 1.2.0中的语法搜索指定的路径。如果找不到该路径,它将失败。第三,如果在文档中找原创 2020-05-10 15:41:34 · 522 阅读 · 0 评论 -
Jmeter断言之响应断言(Response Assertion)-24
响应断言提供对样品的响应文本、响应代码、响应消息、响应头、请求头、URL样本、文档、请求数据等内容进行包括、匹配、相等、字符串、否和或者判断,可以将多个断言附加到任何控制器,以提高灵活性。注意,字符串模式不应包含封闭的定界符,即使用Price:\ d +而不是/ Price:\ d + /。属性描述名称 :显示的此取样器的描述性名称,可自定义Apply to :Main sample only --仅适用于主样本Sub-samples only --仅适用于子样本Main sample an原创 2020-05-10 15:36:37 · 871 阅读 · 0 评论 -
Jmeter配置元件之随机变量与计数器-23
随机变量随机变量配置元素用于生成随机数字字符串并将其存储在变量中,以备后续取样器使用。这比将用户定义的变量与__Random()函数一起使用要简单。属性描述名称 :显示的此取样器的描述性名称,可自定义变量名称:存储随机字符串变量的名称,后续使用${变量名称}调用输入格式:使用的变量格式。如:“ USER_000 ”将生成USER_nnn形式的输出,未指定则生成纯数字字符串最小值: 生成随机数的最小值最大值:生成随机数的最大值随机种子:如果在“每线程”设置为true的情况下使用相同的种子值(原创 2020-05-10 15:28:35 · 453 阅读 · 0 评论 -
Jmeter配置元件之JDBC Connection Configuration-22
JDBC Connection Configuration用于配置JDBC连接池根据提供的JDBC连接设置创建数据库连接(由JDBC Request Sampler使用)。可以选择在线程之间合并连接。否则,每个线程将获得自己的连接。JDBC Sampler使用连接配置名称来选择适当的连接,如果存在多个连接池配置,“JDBC Connection Configuration”的连接池名称不能使用重名,否则在调用时将无法准确使用需要的配置。属性描述名称 :显示的此取样器的描述性名称,可自定义Varia原创 2020-05-10 15:20:32 · 745 阅读 · 0 评论 -
Jmeter配置元件之HTTP信息头管理器与用户定义的变量-21
HTTP信息头管理器HTTP信息头管理器用于添加或覆盖HTTP请求头信息,JMeter支持多个HTTP信息头管理器。不同作用域的头信息条目被合并后共同影响HTTP Request控制器发出的请求。如:测试计划级别中有一个信息头管理器,线程组中有一个信息头管理器,这线程组中的取样器执行请求时的请求头将由两个信息头管理器中的数据合并组成。属性描述名称 :显示的此取样器的描述性名称,可自定义信息头参数 :存储的信息头信息用户定义的变量用于定义少量需要使用的变量值,类似于在测试计划中定义的变量,不原创 2020-05-10 15:10:24 · 1711 阅读 · 2 评论 -
Jmeter配置元件之HTTP Cookie管理器 与 HTTP请求默认值-20
HTTP Cookie管理器Cookie管理器具有两个功能:首先,它像Web浏览器一样存储和发送cookie。如果有HTTP请求,并且响应包含cookie,则cookie管理器会自动存储该cookie,并将其用于将来对该特定网站的所有请求。每个JMeter线程都有其自己的“ cookie存储区”。因此,如果测试使用cookie来存储会话信息的网站,则每个JMeter线程都会拥有自己的会话。注意,此类cookie不会显示在Cookie 管理器中,但是可以使用“ 查看结果树” 查看它们。JMeter会检原创 2020-05-09 23:15:49 · 570 阅读 · 0 评论 -
Jmeter配置元件之HTTP授权管理器与 HTTP缓存管理器-19
HTTP授权管理器HTTP授权管理器使可以为使用服务器身份验证限制的网页指定一个或多个用户登录名。当使用浏览器访问受限页面时,可以看到这种身份验证,并且浏览器将显示一个登录对话框。当遇到此类页面时,JMeter可通过HTTP授权管理器发送登录信息。属性描述名称:显示的此取样器的描述性名称,可自定义每次迭代中清除认证 :如果选中此选项,即使在上一个线程组循环中已经进行了身份验证,也将在每次迭代中进行身份验证。如果每个主线程组迭代都代表一个虚拟用户的行为,这通常很有用。基础URL:与一个或多个HTT原创 2020-05-09 23:06:48 · 3829 阅读 · 0 评论 -
Jmeter配置元件之CSV数据文件设置-18
CSV数据文件设置用于读取文件中的行,并将行中的数据根据拆分符拆分为可引用的变量,通常用于处理大量变量。就CPU和内存而言,如果在运行时生成大量变量,将会消耗大量资源,而在测试前创建好这些数据,执行测试时读取将会节省更多资源。Jmeter支持带引号的数据,如果将“是否允许带引号” 设置为 true,则值可以用双引号引起来,在双引号中,分隔符将被当作变量值引用。Jmeter支持CSV文件,如果文件定义了列名称,可以设定忽略首行,这个设置必须在设置了变量名称后生效。默认情况下,文件仅打开一次,并且每个线程原创 2020-05-09 22:59:42 · 1596 阅读 · 0 评论 -
Jmeter监听器之聚合报告(Aggregate Report)与 汇总报告(Summary Report)-17
聚合报告聚合报告在分析测试结果时通常是很有效的,且由于该报告仅统计测试结果,执行测试时将占用更少的内存与CPU资源。在测试资源允许的情况下,可保留此监听器执行测试,但依然更推荐使用CLI模式保存测试结果后再使用聚合报告进行查看分析以降低对性能的影响。属性描述名称 :显示的此取样器的描述性名称,可自定义文件名:要保存或/读取的测试结果文件名,包含路径Label :执行样品的标签,如HTTP请求的名称,事务控制器名称样本 :执行的,具有相同标签的样本数量。需要注意,多个样本同名的将被统计在一起,原创 2020-05-09 21:15:39 · 11187 阅读 · 0 评论 -
Jmeter监听器之察看结果树(View Results Tree)-16
查看结果树在调试脚本时是非常有用的,但是在负载测试期间不要使用查看结果树,因为它会消耗大量资源(内存和CPU)。如果响应数据较大,使用查看结果树可能会导致Jmeter失去响应。查看结果树显示所有样品的响应信息,除了查看响应信息外,还可以查看一些请求参数、响应时间信息等。需要注意的是,Jmeter请求面板中仅显示由Jmeter添加的头信息,没有显示HTTP实现可能添加的其他头信息(如HOST)。查看结果树提供多种查看结果的方式,可以根据实际数据返回格式进行选择其中,Json Path Tester 与原创 2020-05-09 20:59:45 · 2693 阅读 · 0 评论 -
Jmeter逻辑控制器之include控制器、临界部分控制器与录制控制器-15
Include控制器Include控制器获取外部测试片段文件执行,这需要事先将测试片段保存为jmx文件,如果外部测试片段在线程组中,使用Include控制器将忽略外部测试片段的线程组属性。如果测试片段使用Cookie管理器或用户定义的变量,则应将其放置在Include控制器的顶级测试计划中,而不是包含的文件的测试片段中,否则不能保证它们能正常工作。使用多个Include 控制器并包含相同的JMX文件时,确保以不同的方式命名Include 控制器,否则会遇到一个已知的bug。属性描述名称:显示的此原创 2020-05-09 20:33:41 · 637 阅读 · 0 评论 -
Jmeter逻辑控制器之ForEach控制器与模块控制器-14
ForEach控制器ForEach控制器遍历一组变量的值。当取样器(或控制器)添加到ForEach控制器时,每个样本(或控制器)将执行一次或多次,执行次数根据变量值的数量决定。每次循环,变量都使用一个新值。输入应包含多个变量,每个变量都带有下划线和数字,且每个变量必须具有一个值。例如,当输入变量的名称为inputVar时,定义以下变量:inputVar_1 =ABinputVar_2 =CDinputVar_3 =EFinputVar_4 =GH注意:“ _ ”分隔符现在不是必须的。ForE原创 2020-05-09 17:54:56 · 296 阅读 · 0 评论 -
Jmeter逻辑控制器之While控制器与Switch控制器-13
While控制器While控制器将运行其取样器,直到设置的条件为“ false ”。可能的条件值:空白/LAST-循环中的最后一个样本失败时退出循环否则-当条件表达式等于字符串“ false ” 时退出(或不进入)循环条件可以是最终计算为字符串“ false ”的任何变量或函数。可以根据需要使用__jexl3,__groovy函数,属性或变量。例如:$ {VAR} –在其他测试元素将VAR设置为false$ {__ jexl3($ {C} == 10)}$ {__ jexl3(“ $ {V原创 2020-05-09 17:11:06 · 283 阅读 · 0 评论 -
Jmeter逻辑控制器之if控制器-12
If控制器允许用户控制其下的测试请求是否运行(条件为true时执行,否则不执行)。默认情况下,条件在初始输入时仅判断一次,但是可以选择对控制器中包含的每个可运行请求进行判断。使用时,建议勾选“Interpret Condition as Variable Expression?”,即将条件解释为变量表达式,在条件字段中,有两个选择1:使用包含true或false的变量如果要测试上一个样本是否成功,可以使用${JMeterThread.last_sample_ok}2:使用函数(建议使用$ {__ j原创 2020-05-09 16:23:20 · 676 阅读 · 0 评论 -
Jmeter逻辑控制器之Runtime控制器与事务控制器-11
Runtime控制器Runtime控制器将控制其子代的运行时间,控制器将运行其子代,直到超过配置的运行时间为止。需要注意的是,如果Runtime控制器的控制运行时长超过线程组运行时长,则控制将不会生效。属性描述名称 :显示的此取样器的描述性名称,可自定义Runtime(s) :运行的时长,单位秒 ,0表示不运行事务控制器使用事务控制器将生成一个额外的样本,该样本记录执行控制器下所有测试元素所需的总时间。注意:选中“ Include duration of timer and pre-pos原创 2020-05-09 16:06:33 · 458 阅读 · 0 评论 -
Jmeter逻辑控制器之随机控制器与随机顺序控制器-10
随机控制器随机逻辑控制器的行为与交替控制器相似,不同之处在于它不是按顺序执行其中的请求,而是每次执行时,在控制的请求中随机一个。随机控制器中,每个线程每次循环时,可能调用其中的一个请求,调用一个请求之后跳出当前随机控制器直到下一次循环时进入,每次调用的结果都是随机的官方建议:多个控制器之间的交互会产生复杂的行为,对于随机控制器尤其如此。建议在使用时进行调试以确认结果是否符合预期。属性描述名称 :显示的此取样器的描述性名称,可自定义忽略子控制模块: 如果选中,则随机控制器将把其子控制器视为单个请原创 2020-05-09 15:06:20 · 368 阅读 · 0 评论 -
Jmeter逻辑控制器之仅一次控制器和交替控制器-9
仅一次控制器“仅一次控制器”将始终在任何父循环控制器或线程组的第一次迭代时执行。因此,如果将“仅一次控制器”放置在指定要循环5次的循环控制器或者线程组下,则“仅一次控制器”将仅在循环控制器的第一次迭代中执行一次。此控制器通常用于控制需要登录的请求,测试过程中,我们往往都只需要登录一次,获取到对应的登录信息后即可执行后续相关的请求,而不是每执行一个请求都登录一次,如将login请求放入仅一次控制器,则在线程组循环运行期间,不论循环次数设置为多少次,login请求都将仅在第一次执行时运行交替控制器在交原创 2020-05-09 14:49:24 · 574 阅读 · 0 评论 -
Jmeter逻辑控制器之简单控制器与循环控制器-8
简单控制器简单控制器不做任何逻辑处理,仅仅对测试用例进行分类命名,类似Windows中的文件夹,可以使用简单控制器对测试请求进行分类,便于管理。需在线程组级别或控制器级别中右键–》添加–》逻辑控制器–》简单控制器循环控制器在Jmeter中,除了线程组中可设置循环次数外,循环控制器也可以控制循环次数,如果将一个HTTP请求添加到循环计数为2的循环控制器,并将线程组循环计数配置为3,JMeter将总共发送2 * 3 = 6个 HTTP请求。表示在线程组的每一次循环中,被循环控制器控制的请求都将循环两次原创 2020-05-09 14:37:49 · 360 阅读 · 0 评论 -
Jmeter取样器之JSR223取样器详解-7
JSR223取样器允许执行JSR223脚本代码用于创建/更新所需的某些变量。相比于BeanShell 取样器,JSR223取样器具有可大大提高性能的功能(编译),同时支持更多的脚本语言,其中包括BeanShell脚本,所以在编写脚本时不建议使用BeanShell 取样器,也不再对BeanShell 取样器进行讲述,如果需要,使用JSR223取样器编写脚本是更好的选择。属性描述名称:显示的此取样器的描述性名称,可自定义语言:要使用的JSR223脚本语言的类型参数:要传递到脚本文件或脚本的参数列表原创 2020-05-08 23:37:17 · 10041 阅读 · 3 评论 -
Jmeter取样器之JDBC Request详解-6
该取样器可以将JDBC请求(SQL)发送到数据库执行。在使用此功能之前,必须设置一个 JDBC连接配置配置元件,以提供连接目标数据库属性描述名称:显示的此取样器的描述性名称,可自定义Variable Name of Pool declared in JDBC Connection Configuration:连接池绑定的JMeter变量的名称。这必须与JDBC连接配置中设置的“ 变量名 ”字段保持一致。Query Type:根据SQL类型进行设置,可选择查询、更新(修改、删除)、回滚、自动提交等原创 2020-05-08 21:19:39 · 745 阅读 · 0 评论 -
Jmeter取样器之http Request(HTTP请求)详解-5
http Request可以将HTTP / HTTPS请求发送到Web服务器。它可以控制JMeter是否解析图像和其他嵌入式的HTML资源文件,并发送HTTP请求以检索它们。检索以下类型的嵌入式资源:图片、小程序、样式表(CSS)和从这些文件引用的资源、外部脚本、框架,iframe、背景图像(body, table, TD, TR)、背景声音如果要将多个请求发送到同一Web服务器,考虑使用HTTP请求默认值 配置元件,这样就不必为每个HTTP请求输入相同的信息,或使用脚本录制进行编写,当需要有很多的请原创 2020-05-08 21:04:51 · 2162 阅读 · 0 评论