美文网首页
Jmeter二三事

Jmeter二三事

作者: 科学Jia | 来源:发表于2017-11-03 16:48 被阅读30次

    如果不是匆匆离别,怎么拼命再见!

    因为工作的需求,尝试用Jmeter发送Https的请求,Https涉及到数字签名证书的问题,所以,看起来好像很复杂,但是做起来就是这样简单。

    1. 打开Chrome浏览器,选择测试目标https的地址,F12,进入开发者模式,并找到"Security"=>"View certificate", 点击进入;


      Step1.png
    2. 进入到Certificate页面,并选择"Details",并点击Copy to File按钮...

      Step2.png
    3. 点击Next --> Next 按妞,选择默认方式,并选择你需要导出Certificate文件的路径,并为这个*.cer文件命名。

      Step3.png
    4. 用命令,并按照提示生成keyStore文件。注意:要用administrator的权限运行下面的命令:
      命令:keytool -import -alias "myM.store" -file "D:\SoftwareDownLoad\mg.cer" -keystore mg.store

    其中, D:\SoftwareDownLoad\mg.cer 是我在第3步导出的cer文件,我命名为mg.cer,并放在了D:\SoftwareDownLoad下。

    1. 打开Jmeter,点击"Options" => "SSL Manager",导入Step 4 生成的KeyStore(mg.store)文件,并且把http协议改成https
      Step5.png
    2. 执行Jmeter脚本,成功!

    注意Jmeter里的一点是,对于Http协议Header的设置,如果稍微有错误,就会造成Jmeter接受来自Server的消息出错。一般情况下,没有特殊说明,不要配置Accept的类型,只需要指定你发送请求的Content-Type是什么就可以了,不然,可能因为配置错了Accept的类型,比如,你设置Accpet的类型是application/json, 但是实际收到的是application/hal+json;charset=UTF-8类型,这种简单的错误会导致你在观察结果里发现有无法理解的“Server内部”错误消息。

    配置Http的Header.png

    这里另外有一篇参考文章,如何用Jmeter做HTTPS的请求,步骤详解

    还要说一个Jmeter关于timestamp的设置:{__time(,)} 例如,需要Post这样的Json消息出去,函数{__time(,)}默认时间是毫秒,如果对方希望接受到的是Unix timestamp这样的秒级别。
    {
    "mtId": "TC5000",
    "statusType": 0,
    "value": 1,
    "timestamp":{__time(,)} } 只需要这样做:**{__time(/1000,)}**,即从毫秒级别转为了秒级别。

    相关文章

      网友评论

          本文标题:Jmeter二三事

          本文链接:https://www.haomeiwen.com/subject/ruvtmxtx.html