书签 分享 收藏 举报 版权申诉 / 42
上传文档赚钱

类型JMeter培训教程(PPT41页).ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3475249
  • 上传时间:2022-09-04
  • 格式:PPT
  • 页数:42
  • 大小:1.53MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《JMeter培训教程(PPT41页).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    JMeter 培训 教程 PPT41
    资源描述:

    1、JMeter进行接口测试利用JMeter进行接口测试vJMeter介绍vJMeter主要元件v参数化设置v数据关联vJmeter元件的作用域与顺序JMeter介绍vJMeter,一个100的纯Java桌面应用,它是Apache组织的开放源代码项目,它是功能和性能测试的工具。JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、Java对象、数据库和查询、ftp服务器或者其他资源)。原先Jmemer是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和用于HTTP和SQL数据库(使用JDBC)的模块一起运送。它可以用来测试静止资料库或者活动

    2、资料库中的服务器的运行情况,可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况。它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行.JMeter 的特性:a)能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。b)完全的可移植性和100 纯Java。c)完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。d)完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。e)精心的GUI设计允许快速操作和更精确的计时。f)缓存和

    3、离线分析/回放测试结果。g)高可扩展性:h)可链接的取样器允许无限制的测试能力。i)各种负载统计表和可链接的计时器可供选择。j)数据分析和可视化插件提供了很好的可扩展性以及 以及个性化。k)具有提供动态输入到测试的功能(包括Javascrpt)。l)支持脚本变成的取样器(在1.9.2及以上版本支持BeanShell)。JMeter介绍Jmeter主要元件v测试计划(Test Plan)是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。v线程组(Thread Group)代表一定数量的并发用户,它可以用来模拟并发用户发送请求。v取样器(sampler)定义实际的请求内

    4、容,被线程组包含,我们主要用HTTP请求。v监听器(Listener)v逻辑控制器(Logic Controller)v断言(Assertions)v配置元件(Config Element)v前置处理器(Pre Processors)和后置处理器(Post Processors)v定时器(Timer)JMeter主要元件介绍测试计划v测试计划(Test Plan)是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。v名称:你可以为你的测试计划取一个有意义的名字。v注释:对测试计划的注释。v用户定义的变量:用户可以自己定义变量,在用到此变量的时候直接用$变量名引用即可。

    5、例:变量名url,值http:/,在需要http:/时直接用$url即可。vAdd directory or jar to classpath:向类路径即%JMETER-HOME%lib中添加目录及jar包。JMeter主要元件件介绍线程线程用户用户v虽然有三个添加线程组的选项,名字不一样,创建之后,其界面是完全一样的。vsetup thread group :一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。vteardown thread group:一种特殊类型的ThreadGr

    6、oup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。v如果您用过junit,想必你不会对 setup,teardown这陌生。熟悉loadrunner的应该知道,loadrunner的脚本除了action里是真正的脚本核心内容,还有初始化“环境”的初始化脚本和测试完毕后对应的清除信息的脚本块。那么这 里 setup thread group 和 teardown thread group 就是分别指这两部分。其实从本质上来看,他们并没有什 么不同JMeter主要元件件介绍线程线程用户用户vthread group(线

    7、程组):这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的JMeter主要元件介绍线程组v名称:为线程组起名字。v线程属性线程数:设置发送请求的用户数目,即并发数。v线程属性Ramp-Up Period(in second):线程间的时间间隔,单位是秒。即所有线程在多少时间内启动。v线程属性循环次数:请求的重复次数,如果选择后面的forever(默认),那么 请求将一直继续,如果不选择forever,而在输入框中输入数字,那么请求将重复指定的次数,如果输入1,那么请求将

    8、执行一次,如果是0,会出现问题。v调度器配置启动时间:测试计划什么时候启动,启动延迟会覆盖它。v调度器配置结束时间:测试计划什么时候结束,持续时间会覆盖它。v调度器配置持续时间:测试计划持续多长时间,会覆盖结束时间。v调度器配置启动延迟:测试计划延迟多长时间启动,会覆盖启动时间。JMeter主要元件介绍取样器(HTTP请求)v名称:HTTP请求的名字。vWeb服务器服务器名称或IP、端口号,脚本录制时自动添加,也可以使用“用户自定义变量”。vHTTP请求:用默认值即可。v同请求一起发送参数:请求中的参数、值可以在此设置,需要用到参数化及动态数据关联,我们在后面专门介绍。v同请求一起发送文件:我

    9、可以制定同请求一起发送哪个文件。v其他任务包括:从HTML文件中获取所有内含的资源、用作监视器、Embedded URLs must match。JMeter主要元件介绍监听器v监听器(Listener)负责收集测试结果,同时也被告知了结果显示的方式。我们常用的包括:聚合报告、查看结果树、用表格查看结果,都支持将结果数据写入文件。JMeter主要元件介绍监听器(查看结果树)JMeter主要组件介绍监听器(聚合报告)JMeter主要元件介绍逻辑控制器v逻辑控制器(Logic Controller)可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。JMet

    10、er主要元件介绍逻辑控制器v循环控制器可以设置请求的循环次数或永远循环(如果选中永远的话)。v事务控制器可以将多个请求放在同一个事务中。如果选中Gegerate parent sample,则聚合报告中只显示事务控制器的数据,而不会显示其中的各个请求的数据,反之则全部显示。JMeter主要元件介绍逻辑控制器v条件判断成功,执行其中的内容。可以有多个条件JMeter主要元件介绍断言v断言(Assertions)可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。JMeter主要元件介绍断言(响应断言)v断言

    11、(Assertions)可以用来判断请求响应的结果是否如用户所期望的。这个限制对于有效的测试是非常有用的。JMeter主要元件介绍断言(响应断言)v包括:返回结果包括你指定的内容。v匹配:一般是完全匹配指定的返回内容。vEquals:完全匹配。vSubring:返回结果是指定结果的字串。v包括,匹配:可以使用正则表达式。vEquals,Substring:使用纯文本,区分大小写。JMeter主要元件介绍断言(断言结果)JMeter主要元件介绍配置元件v配置元件(Config Element)维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。JMeter主要元件介绍配置元件(h

    12、ttp请求默认值)v用来对所有http请求设定默认值。JMeter主要元件介绍配置元件(http请求默认值)v用来定义已知的变量。比如ip,port,用户名密码等。JMeter主要元件介绍配置元件(CSVDataSetConfig)vFilename:文件位置及名称。vFile Encoding:默认为ANSI,可写为UTF-8。vVarible Names:定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用。$user,$password。vDelimiter:csv文件分隔符默认逗号。vRecycle on EOF?:True=当读取文件到结尾时,再

    13、重头读取文件。False=当读取文件到结尾时,停止读取文件。vStop thread on EOF?:当上面为False时起效;True=当读取文件到结尾时,停止进程vSharing Mode:设置共享,可以设置线程组共享,也可以是所有线程等。JMeter主要组件介绍前置处理器和后置处理器v前置处理器(Pre Processors)和后置处理器(Post Processors)负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。我们主要在动态关联中用到后置处我们主要在动态关联中用到后置处理器的正则表达式提取器。理器的正则表达式提取器。JMet

    14、er主要组件介绍定时器v定时器(Timer)负责定义请求之间的延迟间隔。参数化设置v在HTTP请求中常常会提交一些参数,我们为了不想在每一次请求中都使用相同的参数值,就要想办法让每一次请求的参数的值都是不一样的,我们就需要进行参数化设置,这里我们介绍两种参数化设置的方法。一种是利用函数助手中的_Random函数进行参数化设置;一种是利用配置元件中的CSV Data Set Config进行参数化设置。参数化设置函数助手vJMeter中有一个函数助手的功能,里面内置了多个函数,我们可以利用其中的_Random函数来进行请求中的参数化设置。参数化设置函数助手v选择一个功能_Random。v设定最小

    15、值为1。v设定最大值为100。v函数名称设为func1。v点击生成将生成一个引用字符串$_Random(1,100,func1,在需要的请求参数中拷贝该字符串即可。v其中函数名称用来在引用中作区别,即我们可以设定不同的名称在不同的地方引用同一个函数的功能。参数化设置函数助手v例如:我们生成一个$_Random(1,9999,Random),在执行添加类目用例时,生成一个随机数用在类目名称里。动态数据关联v在HTTP请求的参数中经常会遇到一些参数的值是从服务器相应的动态数据,这些数据需要进行关联才能使得每一次请求都能成功得被服务器接受,在JMeter中采用正则表达式提取器来获取这些动态的数据。v

    16、正则表达式允许用户从服务器响应中获取数据,作为一个后置处理器,正则表达式提取器会在每一个请求执行后再执行,正则表达式提取请求的参数值,产生模板字符串,并将结果保存到给出的变量中。动态数据关联正则表达式提取器v在HTTP请求的参数中经常会遇到一些参数的值是从服务器相应的动态数据,这些数据需要进行关联才能使得每一次请求都能成功得被服务器接受,在JMeter中采用正则表达式提取器来获取这些动态的数据。比如,我们要测试获取菜品列表接口,则要先使用获取菜品类目接口,获取一个类目id,然后用在获取菜品接口上。动态数据关联正则表达式提取器v要检查的响应字段:一般我们选择主体,即服务器返回给我们的页面主体信息

    17、,也可以选择信息头等。v引用名称:即参数名称,这个自己定义,在后面时用。v正则表达式:()括起来的部分就是要提取的。.代表任意字符,+代表出现任意次,后面加?动态数据关联正则表达式提取器v模板:$1$代表只匹配一组数据,如果需要正则表达式提取两个数据,比如需要两个用()起来的。可以用$1$,$2$.v匹配数字:1代表值匹配第一次出现的(正整数都可以使用),-1代表获取所有匹配到的,0代表随机。如果设置匹配所有的,可以使用$str_1,$str_2来分别调用第一次匹配到的和第二次匹配到的(参数以数组的形式存储)。v缺省值:如果都匹配不到,就用这个默认的。v使用时就可以使用$category_id

    18、-wm-sj来表示获取到的动态数据关联正则表达式提取器Jmeter元件的作用域与顺序v配置元件配置元件:元件会影响其作用范围内的所有元件。v前置处理程序前置处理程序:元件在其作用范围内的每一个sampler元件之前执行。v定时器定时器:元件对其作用范围内的每一个sampler 有效。v后置处理程序:后置处理程序:元件在其作用范围内的每一个sampler元件之后执行。v断言:断言:元件对其作用范围内的每一个sampler 元件执行后的结果执行校验。v监听器:监听器:件收集其作用范围的每一个sampler元件的信息并呈现。Jmeter元件的作用域与顺序v作用域的原则是:v取样器(sampler)元

    19、件不和其它元件相互作用,因此不存在作用域的问题。v逻辑控制器(Logic Controller)元件只对其子节点中的取样器 和 逻辑控制器作用。v除取样器 和逻辑控制器 元件外,其他6类元件,如果是某个sampler的子节点,则该元件公对其父子节点起作用。v除取样器和逻辑控制器元件外的其他6类元件,如果其父节点不是sampler,则其作用域是http:/10.8.8.58:8005/该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)。Jmeter元件的作用域与顺序v元件的执行顺序元件的执行顺序:同一作用域名范围内,测试计划中的元件按照如下顺序执行。v配置元件v前置处理v定时器v取

    20、样器v后置处理v断言v监听Jmeter元件的作用域与顺序v前置处理器、后置处理器和断言等元件对 取样器作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。v如果在同一作用域范围内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序一次执行。JMeter中进行分布式测试v作为一个纯 JAVA 的GUI应用,JMeter对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误。不过,JMeter也可以像 LoadRunner 一样通过使用多台机器运行所谓的代理来分担负载产生器自身的压

    21、力,并借此来获取更大的并发用户数,我们只需手动配置一下即可。v1、在所有期望运行JMeter作为 负载产生器的机器上安装JMeter,并确定其中一台机器作为 控制器,其他的机器作为 代理。然后运行所有 代理 机器上的JMeter-server.bat文件假定我们使用两台机器172.20.80.47和172.20.80.68作为 代理;v2、在Controller 机器的JMeter安装目录下找到 bin 目录,再找到 jmeter.properties 这个文件,使用记事本或者其他文字编辑工具打开它;v3、在打开的文件中查找“remote_hosts=”这个字符串,你可以找到这样一行“remote_hosts=127.0.0.1”。其中的 127.0.0.1 表示运行JMeter代理的机器,这里需要修改为“remote_hosts=172.20.80.47,172.20.80.68”;v4、保存文件,并重新启动控制器机器上的JMeter,并进入启动-远程启动菜单项。就会看到我们刚才添加的两个代理的地址,选中即可运行,如果想同时启动所有代理,选择远程全部启动即可。v要进行分布式测试代理机器上需要添加环境变量,即添加用户变量JMETER_HOMEd:jmeter,系统变量中的path中添加d:jmeterbin(假设jmeter放在d盘根目录下)。谢谢!谢谢!演讲完毕,谢谢观看!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:JMeter培训教程(PPT41页).ppt
    链接地址:https://www.163wenku.com/p-3475249.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库