zoukankan      html  css  js  c++  java
  • 性能测试之JMeter-实践1

    一个简单的性能测试实践

    1. 打开Jmeter GUI (bin->jmeter.bat)

    2. 添加一个线程组 Thread Group

    3. 在线程组上面添加一个http请求 Thread Group -> Add -> Sampler -> HTTP Request (打开login页面)

     

    4. 添加查看结果树 Thread Group -> Add -> Listener -> View Results Tree, 然后运行 (验证请求是否成功)

     5. 想要验证http response的内容是否正确,在请求上面添加响应验证 HTTP Request -> Add -> Assertions -> Response Assertion (验证login页面的title)

    6. 如果Http请求带Body Data (login页面输入user name进行第一步验证)

    a. 先用chrome或者fiddler得到请求的Request Payload, Payload内容是需要添加到http请求的Body Data

    b. 在线程组上面添加一个http请求 Thread Group -> Add -> Sampler -> HTTP Request

    7. 如果http请求需要用到上一个http请求的返回值---需要将值先从上一个请求获取到,然后作为参数传给下一个http请求 (login页面输入password进行第二步验证)

    a. 先用chrome或者fiddler确认这个http payload需要的参数,可以看到MechanismId和SessionId都是从上一个请求中获取的

    第一个请求的response数据

    第二个请求的request数据

    b. 在上一个http请求上添加正则表达式提取器来提取参数 HTTP Request -> Add -> Post Processors -> Regular Expression Extractor

    (可以添加一个Debug Sampler去查看正则表达式的返回结果)

    MechanismId和上面一样提取

    c. 在线程组上面添加一个http请求 Thread Group -> Add -> Sampler -> HTTP Request

    ${变量名}使用变量

    8. 执行上面所有的脚本,检查是否登录成功

    9. 增加线程数量测试并发(3个相同的用户同时登录)

    10. 增加线程数量测试并发(3个不同的用户同时登录)

    a. 新建用不同用户名密码数据的txt文件

    b. 在线程组上添加一个CSV Data Set Config进行参数化配置: Thread Group -> Add -> Config Element -> CSV Data Set Config

    c. 用参数替换http请求中的写固定的user name

    密码也是一样的

    d. 查看结果:3个线程会使用3个不同的用户

    11. 如果想分析每个请求的性能情况(服务器的响应时间...)

    a. 聚合报告:Thread Group -> Add -> Listener -> Aggregate Report

  • 相关阅读:
    SQL分页语句
    读、写 节点 XML方法总结
    新手入门:XHTML DHTML SHTML的区别
    ROS映射非21端口的FTP服务器设置
    图解:asp.net三种重定向方法
    在ASP.NET中显示进度条
    C#读取文本文件
    Net3.5都快来了,.Net2.0你们都知道多少呢?
    div+css布局漫谈
    自定义的向客户端输出Javascript脚本alert函数
  • 原文地址:https://www.cnblogs.com/lj8023wh/p/10494421.html
Copyright © 2011-2022 走看看