• 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. 相关阅读:
                                        sql server中sql语句中单引号怎么转义?【转】
                                        如何配置Eclipse+Tomcat 开发环境【转】
                                        JBoss和Tomcat版本、及Servlet、JSP规范版本对应一览 【转】
                                        P1955 [NOI2015]程序自动分析 && 离散化学习 && lower_bound学习
                                        P1604 B进制星球
                                        [OI
                                        [OI
                                        Aiyi's Code Style for OI
                                        POJ1186 方程的解数
                                        [Daily Life]百首好歌
                                      2. 原文地址:https://www.cnblogs.com/qingxd/p/5609482.html
                                      Copyright © 2020-2023  润新知