Jmeter(二十八)加密接口测试笔记

一、加密接口测试场景

  1、例如登录操作,输入账号密码,返回token,token是需要加密的

  2、Jmeter本身没有加解密函数工具

二、加密接口和普通接口有什么区别

  1、发送出去的数据需要进行额外处理,接口测试工具通常不具备这个功能

三、如何测试加密接口

  1、测试数据准备

  (以登录接口举例说明)

  (1)可以让开发生成加密后的数据(加密后的数据预生成)

    a.开发实现加密解密功能的时候,自己本身会生成一些数据测试(开发自测)

    b.预生成的数据不适应数据参数动态变化的接口场景(很大局限性)

  (2)BeanShell实现数据的加解密(需要测试人员懂java代码)

      BeanShell——类java代码片段; -  调试非常困难,出问题基本找不到

      弊端:没有完善的编程环境(IDE),网上复制代码用不了

         90%的测试人员没有办法完成(独立完成)

  (3)Jmeter可以集成第三方服务

    a.网上找一个在线加密界面工具,AES在线加密解密:http://www.jsons.cn/aesencrypt/

    b.Jmeter调用该网站的接口,获取加密后内容

    本质上就是实现一个加解密服务平台(为jmeter提供加解密功能集成)

    【数据生成平台、加解密平台、测试平台、测试工具】

    【借助AI】也可以和ChatGPT这样描述:

    用flask开发一个AES加解密接口,接收前端传过来的json格式参数,参数里面有密钥和加密内容,接口根据密钥和加密内容返回base64编码后的密文。加密模式ECB填充方式pkcs5padding。

    ai生成一个接口之后,将服务起起来,然后jmeter通过与加解密平台做对接实现功能增强。

    弊端:性能测试需要频繁接口调用,会对加解密平台产生很大压力,额外的接口调用导致性能测试结果受影响。

  (4)借助Python或者其他编程语言拓展Jmeter工具

    1、用编程开发出加解密功能,并且打包成为可执行命令形式;或者找开发直接打包

    2、Jmeter执行外部增强功能

    添加OS进程取样器:添加命令:python aes_python.py 2312414 username

   如果Jmeter接口测试/性能测试 -- 要对数据进行复杂处理,建议通过编程语言额外拓展。

 

posted @ 2023-08-22 22:16  哔仙女  阅读(810)  评论(0编辑  收藏  举报