• Jmeter核心-慧测课堂笔记


    自动化测试平台-Httprunner-接口、UI、协议。

    平台语言-JAVA-UI-Selenium(java版的)、Appium(java版的)、接口-Httpclient、Jmeter。(Jmeter性能测试工具,可以做接口自动化,java写的。)

    平台语言-Python-locust(接口、性能)。

    linux下载tgz格式的,windows下载gpg格式的。

    source是源码。

    Jmeter:

    整体结构:Java(可扩展)、脚本开发(录制、手写-Http协议:"get、post"、自定义)、场景设计、测试结果。

    Get-请求url、参数、请求头

    Post-请求url、参数、请求头、数据。数据有3种:表单(name=value)、不规范的自定义数据(json、xml、随便的数据)(使用消息体数据)、附件(使用文件上传)

    排查问题是就看上面标红的是否有问题。看这个请求特有的头信息。

    请求头:html/xml:text        json:application/json

    进程是管理单元、线程是操作单元。操作都是通过线程完成的。

    用户其实指的就是线程(lr  jmeter ab)或协程(locust)。

    用户-真实用户(实际中)、线程(压测时)。1万个用户达到的同一时刻的并发可能只有50个。

    cookie和session都是服务器产生的,存在客户端叫cookie,存在服务器端叫session.

    服务器返回set-cookie.

    cookie和session都是保存服务器和客户端状态的,因为http协议是一个无状态的协议。cookie和session是共存的,核心内容在session里面,id号存在cookie里面。

    Jmeter:

    HTTP请求默认值

    HTTP Cookie管理器

    HTTP信息头管理器

    创建HTML数据(CSV数据文件设置)    将请求中的数据,替换成${变量名}

    登录业务控制器(仅一次控制器):

      首页(GET)

      登录(Post)

        响应断言

        断言持续时间

      登录后页面

      高斯随机定时器 (首页、登录、登录后页面执行后都会停留思考时间,如果放在首页下面,则只有首页会停留)

    创建HTML(简单控制器):

      点击创建HTML

        获取token(边界提取器)

      创建HTML(POST)

                   newtoken 前置处理器(Bean Shell PreProcessor)  import com.huicewang.*;

                               String token = vars.get("token);

                               String newtoken = Tools.decode(token);

                               vars.put("newtoken",newtoken);

        HTTP信息头管理器   (${newtoken})

      Debug Sampler

    察看结果树

    fiddler抓到的请求:

    业务相关请求。

    样式表、图片、js相关请求。(一般没用)

    请求头中的keep-alive代表客户端支持长连接,但是实际是不是长连接要看服务器的返回头中。

    Token:令牌。从下往上找。

    关联:保存服务器返回的数据,再做一些特殊的处理,后续的请求会用。

    jmeter支持Xpath  函数助手

     URL编码、解码

    将开发导出的Jar包拷到jemeter-lib-ext文件夹下,重启jmeter

    csv文件,Subline工具打开,另存为时Save with Encoding选择 UTF-8

    按照时间运行,跑多长时间,不知道会跑多少次。  循环次数选择永远,勾选调度器,持续时间xxx

    跑多少次,但是不知道会跑多久。  线程数10   循环次数1000   10个用户登录  跑10000万次创建html

    Jmeter官网插件库。

    性能测试中最关心的,响应时间、吞吐量(每秒钟事务数TPS)。

    好的性能要够快、够多,要响应时间、吞吐量、用户同时考虑。

    用jmeter测试websoket协议。

    分布式压测:

    Controller机器上,配置Jmeter.properties文件,remote_hosts配置压力机:将ip填写上,用逗号隔开,(压力机的端口默认是1099,如果压力机的机器上将把Jmeter.properties文件的port打开了,则在控制机上也需要将对应的端口号打开,并且:后是该压力机对应端口号。)

    在控制机上运行-远程启动/远程启动全部,则启动了压力机。(前提:压力机上的jmeter都已经启动,启动方法,在压力机上,命令窗口输入jmeter-server.bat即启动了压力机。)

    先配置好jmeter环境变量。

    命令窗口,到脚本目录下,jemeter -n -t Alfresco.jmx -l log /1.log -r -e -o reports/

    非图形化,分布式压测。

    如果(if)控制器。

    同一级别下:

    配置元件会先执行,其次取样器(参数化、关联、断言、前置处理器、后置处理器),最后监控。

    取样器的执行基于线程组,基于时间、基于次数。

    线程属性:

    线程数:用户数

    Ramp-Up Period(in seconds): 设置多少秒内完成所有的线程创建

    循环次数:即线程执行的次数

  • 相关阅读:
    学期总结
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    作业02
    c语言 学习笔记之二 选择题2
  • 原文地址:https://www.cnblogs.com/lp475177107/p/10160302.html
Copyright © 2020-2023  润新知