zoukankan      html  css  js  c++  java
  • JMeter(1)-介绍+环境+安装+使用

    一、开发接口测试案例的整体方案:
    • 分析出测试需求,并拿到开发提供的接口说明文档;
    • 从接口说明文档中整理出接口测试案例(包括详细的入参和出参数据以及明确的格式和检查点)。
    • 和开发一起对评审接口测试案例
    • 结合开发库,准备接口测试案例中的入参数据和出参数据,并整理成csv格式的文件。
    • 结合接口测试案例文档和csv格式的数据文档,做接口测试案例的自动化案例开发。

    二、接口自动化适用场景:

    目前设计的自动化接口测试案例有两个运行场景:

    1. 测试前置、开发自测:一个新的自动化接口测试案例开发完成后,直接发给接口对应的开发,安排在开发本地环境执行,一旦开发确认完成接口开发,就开始执行接口测试案例,基本上可以实时拿到测试结果,方便开发快速做出判断。【开发本地运行的方式就是打开JMeter工具,导入JMX文件,开始执行可。】
    2. 回归测试:开发本地测试通过后,或整个需求手工测试通过后,把自动化的接口测试案例做分类整理,挑选出需要纳入到回归测试中的案例,在持续集成环境重新准备测试数据,并把案例纳入到持续集成的job中来,这些用于回归的接口测试案例需要配置到持续集成平台自动运行。
    3. JMeter用途
      负载测试:模拟多用户并发
      压力测试:测试max负载能力

    三、安装JMeter

    1. Jdk1.6或以上:
      [http://www.oracle.com/technetwork/java/javase/downloads/index.html]
    2. Jmeter,下载址址:[http://jmeter.apache.org/download_jmeter.cgi]
    3. 插件的下载安装地址:http://www.jmeter-plugins.org/
    4. 打开解压目录下的bin文件,运行ApacheJMeter,即可看到运行界面

    四、使用

    1、添加线程组,设置

          Test->Add -> Threads (Users) -> Thread Group

    a. Number of Threads: 100 (连接目标网站的用户数量)
    b. Loop Count: 10 (执行测试的次数)
    c. Ramp-Up Period: 100(告诉 JMeter 延迟多少秒才开始下一个user,设置为0的话意味着同时并发请求)
    2. 添加HTTP request Default
        填写主机名或者IP地址,端口号
    protocal:发送测试请求时使用的协议
    server name or ip:被测试服务器的ip地址或者名字
    > path: 默认的起始位置。比如将path设置为/jmeter,那么所有的http请求的url中都将增加/jmeter路径。
    > port number: 服务器提供服务的端口号
              3、添加 HTTP Request
                    Add ->Sampler->HTTP Request.
                    
              4、添加信息头
                     
              5、监听器Listener
                    为了记录测试信息并且可以使用Jmeter提供的可视化界面查看测试结果
              6、Run->测试报表参数
              >Aggregate Report聚合报告
               - Latency:系统响应单个任务所需要的时间,即平均响应时间。
               - Label :各个模拟测试的名称
               - Samples :各个测试的样本总数
               - Average :每个请求的平均响应时间
               - Median :中值,即50%请求的平均响应时间
               - 90%Line :90%请求的响应时间
               - Min :最小响应时间
               - Max :最大的响应时间Error% :错误响应的概率。即无法响应的概率。
               - ThroughPut :吞吐量 -- 默认情况下表示每秒完成的请求数(Request per Second)。
               - KB/Sec :每秒从服务器端接收到的数据量。
              > View Results Tree
                                    查看每个请求的详细内容,可选中error只记录报错的信息
                                    7、加载已存在的元素
                                    TestPlan->Merge,选中已存在的XX.jmx,导入即可。节省时间
                                    8、关于保存
                                    保存element:只保存一个
                                    保存test plan:会保存所有的组件
                                    9、合并多个测试计划
                                    已建测试计划的条件下,marge另一个计划会变成多测试计划

                                        五、Timer定时器

                                        设置1个user,重复100次,constantTimer里线程延迟5000ms,运行,观察表格结果

                                        sample1 的开始时间:18:38:55.276

                                        sampleTime:175ms

                                        延迟时间:5000ms,

                                        以上相加=18:39:45,所以sample2的开始时间是18:39:46

                                        六、Assertion断言

                                        1、 Response Assertion:响应断言

                                           (1)ApplyTo适应范围:一般选“main sample only”

                                           只当请求触发多个服务器的时候,有main sample和sub sample之分

                                           (2)响应文本:

                                                    

                                           (3) 响应header:

                                                     

                                            (4)响应代码:

                                                     

                                                      当http相应代码.!当要验证404、501等http相应代码,需勾选“ignore status”


                                        2、Duration Assertion:相应持续时间断言(断言响应时间不大于XX)

                                            

                                        3、Size Assertion:比较响应的字节大小

                                        4、XML Assertion:

                                        七、Controller

                                        1、 Recording Controller
                                        录制测试步骤???
                                        2、Simple Controller
                                        user请求的容器
                                        3、Loop Controller
                                        控制循环次数
                                        4、random Controller
                                        随机发送请求,假设线程组(user1,LoopCount1),循环控制器(LoopCount50)-->结果发送请求数=100
                                        7、Module Controller
                                        多个功能存储在一个模块里面,模块选择器选择特定模块进行运行


                                        八、处理器

                                        1、 前置处理器:在sample请求之前执行
                                        2、后置处理器:在请求之后执行
                                        设置线程10,重复10次,后置处理器->Result Status Action Handler->取样器错误之后“立即停止”->运行
                                        请求( “www.google/abc”  ),结果表格查看- > 只发送了10个请求

                                        ~~之后再补充吧















                                        多点坚持~期待优雅~
                                      1. 相关阅读:
                                        VC 常见问题百问
                                        python windows 环境变量
                                        Check server headers and verify HTTP Status Codes
                                        Where are the AES 256bit cipher suites? Please someone help
                                        outlook 如何预订会议和会议室
                                        安装Axis2的eclipse插件后,未出现界面
                                        windows 环境变量
                                        python 时间日期处理汇集
                                        openldap学习笔记(使用openldap2.3.32)
                                        set p4 environment in windows
                                      2. 原文地址:https://www.cnblogs.com/qingxd/p/5609482.html
                                      Copyright © 2011-2022 走看看