jmeter压力测试(多用户登录、选择商品、选择支付方式、下单)

1.压力测试工具 jmeter

   版本:Apache JMeter 2.10

2.运行环境

   1)windows7

   2)java version 1.7.0_80

3.创建测试计划

    以秒杀活动为例,测试100个用户同时下单时服务器的负载情况

   1)确定请求地址:正常的下单流程:用户登录网站(http://xxxx/login)

                                    =》选择某个商品并点击购买(http://xxx/cart/quick-buy.html)

          =》选择某种支付方式(http://xxxx/checkout/change-payment)

                                    =》下单(http://xxx/checkout/submit)

   2)创建测试计划:

        I.创建线程

          

     II.设置线程组参数

         

         参数说明:

          线程数:100; 启动100个线程

          Ramp-Up Period (in seconds): 1; 1秒内启动100个线程,为0时代表同时启动100个线程

          循环次数: 勾选“永远”时,线程组会一直执行,为x时,代表会执行x次线程数为100的线程组

    III.添加线程组的配置元件

        

   配置元件作用:

        HTTP Cookie管理器:自动保存登录时网站设置的cookie

        HTTP 信息头管理器:可以设置请求头部信息。如可以通过设置user-agent来模拟各种浏览器

    IV.添加http请求

       

      1)用户登录

       确定登录的请求参数:

       

       设置登录的请求参数:

       

       添加数据源:

       

       设置数据源参数:

       

      数据源文件内容为:

      

     2)用户选择商品

      

      3)选择支付方式

      

    4)确认购买(提交订单信息)

    

      5)添加定时器

      

       编辑定时器参数

       

     number of Simulated Users to Group by :100  //线程数达到100个后,再同时访问某个http请求

    6)添加察看结果树和聚合报告

    

    

    聚合报告参数说明:

    Lable:Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值;

    #Samples:表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100;【我的是用户有100,只迭代一次,因此也是100】

    Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间;

    Median:中位数,也就是 50% 用户的响应时间;

    90% Line ~ 99% Line:90% ~99%用户的响应时间不大于这个值;

    Min:最小响应时间;

    Maximum:最大响应时间;

    Error%:本次测试中出现的错误率,即 错误的请求的数量/请求的总数;

   Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction ;

   Received KB/src:每秒从服务器端接收到的数据量;

   Sent KB/src:每秒从客户端发送的请求的数量。

  7)其它说明

     1.线程组下的HTTP Cookie管理器、HTTP信息头管理器、Synchronizing Timer 定时器、对该线程组下的每个http请求都起作用。

     2.线程组下的http请求会按照顺序依次执行

4.运行测试计划

    

 

原文地址:https://www.cnblogs.com/indifferent/p/13853697.html