• Jmeter 爬图片


    恕在下才疏学浅,刚刚才学。 整理了一下笔记 。

    先去官网下载: https://jmeter.apache.org/download_jmeter.cgi

      

    然后,解压,win10在已经安装JDK的情况下,直接双击 bin/ApacheJMeter.jar 运行。

     给测试计划命个名,比如爬图片,顺便右击此名称,添加,线程(用户),线程组

      

    线程组再右击,添加,取样器,HTTP请求,填上协议,IP,方法,路径等信息。以爬取此页图片为例: https://dp.pconline.com.cn/list/all_t5.html

      

    在 HTTP请求上右击,添加, 后置处理器,XPath提取器。记得下图2处要打勾,XPath query 则填写对应的html标签和属性

      

    再次在 HTTP请求 上右击,添加, 后置处理器,XPath提取器。这个用来取 A 标签的 title, 也就是图片名称。同样设置好 变量名称 和 query.

    在 线程组 上右击,添加,取样器,调试取样器。  在 线程组 上右击,添加,监听器,察看结果树。

    至此,可以点击工具栏,绿色三角形按钮,预览一下效果。如果提示保存,可点是,保存一下此脚本。

    运行结束,红色STOP按钮会自动变回灰色。

    点击 察看结果树,调试取样器,响应数据,即可看到 src 变量和 title 变量 获取到的结果:

      

    下面,要抓取图片了。 

    右击,线程组,添加,逻辑控制器,循环控制器,在循环次数中,使用上图结果中的 src_matchNr 或者 title_matchNr 因为这两个变量正好是数量。

      

    再右击循环控制器,添加,配置元件,计数器。 开始1,递增1,最大值为 src_matchNr 或者 title_matchNr , 设置变量名称为 num 

      

    再右击 循环控制器,添加,取样器, HTTP请求,设置如下图

    ${__V(title_${num})} 语法:__V 为拼接函数,拼接 title_ 与计数器中的 num 变量的值。而这个整体再作为变量,用来取得图片名称

    同理,${__V(src_${num})}   则用来取得图片路径。

      

    在这个HTTP请求上右击,添加,后置处理器,BeanShell 后置处理程序,添加以下代码: 

    prev.setDataEncoding("UTF-8");
    byte[] result = prev.getResponseData();
    String fileName = "e:/aa/${__V(title_${num})}.jpg";
    File file = new File(fileName);
    FileOutputStream out = new FileOutputStream(file);
    out.write(result);
    out.close();

    其中,fileName 变量表示,将要保存的路径和文件名。

      

    最后,E:aa  文件夹准备好。点击工具栏 全部清除 按钮,然后点击 绿三角,执行。

    到文件夹下查看图片吧。

  • 相关阅读:
    用Tinkercad学arduino之 LCD电压电流表
    用Tinkercad学arduino之 L293D电机驱动器驱动直流电机
    用Tinkercad学arduino之 74HC595 寄存器控制1位7段数码管
    用Tinkercad学arduino之 74HC595寄存器控制8个led跑马灯
    用Tinkercad学arduino之 红外遥控器
    用Tinkercad学arduino之 人体红外检测报警 LCD显示
    用Tinkercad学arduino之 人体红外检测报警 蜂鸣器+LED
    用Tinkercad学arduino之 电位器控制伺服电机转向
    用Tinkercad学arduino之 光线控制彩灯
    用Tinkercad学arduino之 温度LED报警
  • 原文地址:https://www.cnblogs.com/frx9527/p/jmeter.html
Copyright © 2020-2023  润新知