浏览器发请求到JMeter的recorder (proxy),proxy再与实际的目标通信,结果返回浏览器,同时根据截获的traffic生成原始测试脚本。
如果浏览器直接访问的是https目标,我们知道通常浏览器会把服务器的证书显示出来,问用户是否信任该证书(服务器),信任则继续。 (有时服务器需要客户端也提供证书,这种情况更复杂,暂且不论)
现在在https的录制模式下,浏览器访问的是JMeter proxy, 它充当一个临时的服务器角色,要提供证书让浏览器信任自己才能建立https会话,当然,它自己也要以客户端的身份去访问真正的https服务器,接收对方的证书。 总之,我们看到JMeter里提示的Root CA certificate消息只是让用户信任JMeter proxy的身份,两种方法都可以.
1)直接在浏览器录制时选择信任发来的证书,
2)事先将JMeter Proxy的Root CA证书导入浏览器,完成信任,再开始录制动作。
录制时https时,如果你查看证书内容,会发现它只是JMeter的这个临时证书,并不是真正目标服务器的证书,因为目标服务器的证书处理由JMeter Proxy在背后自动帮你处理了。
证书总之,如果你录制的http, 直接忽略该消息框,如果录制https, 只要在浏览器接收(JMeter)发来的证书即可,或者不嫌麻烦就将root CA证书导入你的浏览器。
网友评论