• python自动化测试-D2-学习笔记之一


    一、Jmeter 压力测试

    判断服务器压力测试的指标
         Tps: 服务端每秒钟处理事务数
         响应时间:每个请求的处理时间

    聚合报告:查看压测结果的
    在监听器里-添加聚合报告

    一般我们在做压力测试的时候,分单场景和混合场景,单场景也就是咱们压测单个接口的时候,多场景也就是有业务流程的情况下,比如说一个购物流程,那么这样的场景就是混合场景,就是有多个接口一起来做操作。

    1、单场景,一个请求就可以了
    2、混合场景,多个请求
    3、压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话,可以压一天或者一周,根据具体的情况来定

    测试案例:

    1、在线程组中先添加聚合报告,如下图:

    2、设置脚本:利用上节课的脚本(学生金币充值)进行压测

    3、设置线程组后点击启动:

    4、查看聚合报告

     二、Linux下运行jmeter压力测试

    我们在做测试的时候,有时候要运行很久,公司用的测试服务器一般都是linux,就可以运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上把脚本做好,然后在linux下运行即可,linux下运行jmeter是在jmeter的bin目录下的jmeter.sh这个shell脚本。
    sh jmeter.sh -n –t a.jmx -l res.jtl
    -n代表以没有图形化界面启动,-t代表后面是测试脚本,a.jmx也就是我们做好的jmeter脚本,-l代表测试结果 res.jtl就是测试结果文件,查看结果的话,在查看结果树视图中导入这个res.jtl就可以查看到测试结果了

    1、把jmeter安装包上传至linux服务器上
    2、把需要压测的脚本上传至服务器中
    3、运行脚本
    加执行权限
    ./jmeter.sh -n -t +脚本路径 -l +结果文件(***.jtl ***是自己命名结果文件名称)
    eg:sh jmeter.sh -n –t a.jmx -l res.jtl
    4、把结果文件下载到本地,在jmeter中导入结果文件

    三、Jmeter  文件下载

    1、找到要下载的文件的url

    http://imgsrc.baidu.com/imgad/pic/item/18d8bc3eb13533fa61c56433a2d3fd1f41345bb8.jpg

    2、设置脚本

    添加http请求,因为是获取数据,所以是get请求

    3、添加Bean Shell Sampler

     代码如下:

    import java.io.*;

    byte[] result = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回

    String file_name = "E:\12.17\tiger.jpg"; //代表存放文件的位置和文件名

    File file = new File(file_name);

    FileOutputStream out = new FileOutputStream(file);

    out.write(result);

    out.close();

    4、启动,察看结果树

     

    四、多台机器压测设置

    Jmeter添加负载机


    我们在压测的时候,可能并发比较大, 一台机子已经启动不了那么多并发了,这个时候我们就要使用多台机子一起来发压力,就要添加压力机,添加压力机怎么添加呢,首先要在做压力机的机子上启动jmeter的代理,然后做为控制机的机子上添加上压力机的ip即可。
    Jmeter的bin目录下有一个jmeter-server,启动它即可,windows机子作为压力机的话,运行jmeter-sever.bat,linux作为压力机的话,运行jmeter-server。
    然后在作为控制机的jmeter配置文件里添加压力机ip即可,jmeter的配置文件在bin目录下jmeter.properties,添加压力机的时候,在配置文件里面找到remote_hosts添加ip,然后重启jmeter就可以看到远程压力机了

    1、修改jmeter配置文件

    搜索remote_hosts

    2、调试好脚本后,远程启动

    五、补充:jmeter利用json path 抽取变量碰到数组情况

    例如:获取所有学生信息中,数据返回的json串是一个数组形式

     2、这时候在利用json path 抽取变量第一列数组里的name的时候,需要写成:

    $.stu_info[0].name

  • 相关阅读:
    Android 调用浏览器和嵌入网页
    Android Fragment间对象传递
    Android Volley获取json格式的数据
    git无法clone远程代码库及git代理设置
    Android Studio在线安装Android SDK注意事项
    【转】如何修改Chrome缓存目录的地址
    【转】MySQL Temporary Table相关问题的探究
    Android读写assets、raw、sdard和工程文件的方法
    Android简易数据存储之SharedPreferences
    (转) Deep Learning in a Nutshell: Core Concepts
  • 原文地址:https://www.cnblogs.com/blackbird0423/p/8064358.html
Copyright © 2020-2023  润新知