• JSR223 和 DDT2


    erp项目

    • 获取验证码
    • 注册
    • 登录
      • password这个参数,要求用加密密码
      • MD5(手机号 +low(原始密码) + low(唯一平台id) + low(PLATFORM的值)) ----来模拟你们公司项目中加密的方式
      • 方法:
        • 第1步: 让开发,把加密算法打成jar包(用加密代码的class文件打成jar包)
        • 第2步:jar包放到 jmeter的lib/ext文件夹下, 重启动jmeter
        • 第3步: 找开发人员,告诉你 jar包的引入方式
          • 我们的项目: import com.lemon.lemon_erp.utils.MD5Util;
        • 第4步: jmeter中使用元件,来写代码
          • 应该选择什么元件?
            • beanshell元件 -------- 功能测试、自动化测试中,用这类元件可以
            • 但是,性能测试中,不能使用beanshell元件 -----因为,性能测试,对性能要求比较高,beanshell这一类元件,性能不是最优的。
            • 选择用 jsr223 类元件------这一类(前置、后置处理)元件,性能要比beanshell要好,而且这类元件可以支持更多的程序语言(beanshell、java、python2、groovy、jython、js…)
              • ython=java+python2.7
              • groovy 是java的衍生版本,几乎就是java语言
            • 使用jsr223时候,写脚本时候,完全可以安装beanshell写,只是,在执行的时候,选择groovy
          • java基础:
            • 定义变量,必须先声明
              • 必须定义变量名字、数据类型
            • 代码必须用 封号 结束
            • 变量:
              • vars 为jmeter的变量的集合
                • vars.get(“变量名字”) -----从变量集合中拿到某一个【变量名字】的值
                  • 变量名字, 没有 ${}
              • String var_name=vars.get(“mobile”); ==== 获取变量mobile的值,并且赋值给var_name这个变量,这个变量的类型为 字符串
              • 代码中,要引用我们定义的变量,直接写变量名字就可以了
              • import com.lemon.lemon_erp.utils.MD5Util;
              • String phone=vars.get("phone");
              • //log.info("===phone==="+phone);
              • String password=vars.get("password");
              • //log.info("===password==="+password);
              • String platformId=vars.get("platform_id");
              • //log.info("===platformId==="+platformId.toLowerCase());
              • String plat = "lemonban";
              • Stringmd5pwd=MD5Util.md5Encrypt32Upper(phone+password.toLowerCase()+platformId.toLowerCase()+plat);
              • //log.info("===md5pwd==="+md5pwd);
              • vars.put("md5_password",md5pwd);
                在这里插入图片描述
                ===========================================
            • 看结果:
              • log 打印日志
              • 日志是有级别的,一般来说,我们用info 级别就可以log.info(“你要显示的内容”);
            • 一个变量传值转换为 jmeter通用的变量
              • vars.put(“你想接收值的jmeter变量名”, 代码中的变量名字);
        • 测试计划下,可以去引入jar包
          • 但是,性能测试不建议使用
          • 可能会出现引入jar包不生效的情况
          • 做性能测试时,是多线程,也可能出现部分线程没有引入jar文件,引入了也可能不能用
    • 重置密码(2步)
    • 上传文件
      • 请求体: 文件上传
        • 文件名称: 文件的路径
        • 参数名称: file
        • mime类型:
          • 文件格式应该要有所限制、文件大小也有所限制 -----功能测试人员干的活
    .pdf	application/pdf
    
    .doc	application/msword
    .docx	application/vnd.openxmlformats-officedocument.wordprocessingml.document
    .xls	application/vnd.ms-excelapplication/x-excel
    .xlsx	application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    .ppt	application/vnd.ms-powerpoint
    .pptx	application/vnd.openxmlformats-officedocument.presentationml.presentation .ppsapplication/vnd.ms-powerpoint
    .ppsx	application/vnd.openxmlformats-officedocument.presentationml.slideshow
    
    .rar	application/octet-stream
    .tar	application/x-tar
    .tgz	application/x-compressed
    .zip	application/x-zip-compressed .zapplication/x-compress
    
    .bmp	image/bmp
    .gif	image/gif
    .png	image/png
    .tif	.tiffimage/tiff
    .jpe	.jpeg.jpgimage/jpeg
    
    .txt	text/plain
    .xml	text/xml
    .htm	text/html
    .html	text/html
    .css	text/css
    .js		text/javascript
    
    .swf	application/x-shockwave-flash 
    .dll	application/x-msdownload
    
    .exe	application/octet-stream
    .msi	application/octet-stream
    .chm	application/octet-stream
    .cab	application/octet-stream
    .ocx	application/octet-stream
    .wav	audio/wav
    .wma	audio/x-ms-wma
    .wmv	video/x-ms-wmv
    .mp3	.mp2.mpe.mpeg.mpgaudio/mpeg 
    .rm		application/vnd.rn-realmedia
    
    .mid	.midi.rmiaudio/mid
    .mht	.mhtmlmessage/rfc822 
    .rtf	application/rtf
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
  • 相关阅读:
    SQL注入攻击原理与自动化检测技术的深度探究及其实战应用
    nodejs+vue菜谱美食食谱网站系统
    JVM对象创建与内存分配机制
    Zig、C、Rust的Pk1
    使用Python进行页面开发——模板层
    8.2SpringSecurity学习总结
    Java系列之:var关键字
    C语言入门(七)while和do-while循环
    查看python中安装库的文件位置的方法
    vscode工程屏蔽不使用的文件夹或文件的方法
  • 原文地址:https://blog.csdn.net/weixin_46356321/article/details/125494601