我想通过Jmeter测试休息服务,我已经使用邮递员测试了Rest调用,并且工作正常。事情是从邮差等任何客户端运行休息服务,我需要先在浏览器中登录我的应用程序,登录后休息调用将在RESTClient(Firefox)中运行。但是在Jmeter的情况下如何运行呢。我已经添加了授权。 (用户名和密码)使用HTTP授权管理器仍然面临。即使我在下面添加了bean shell脚本:
import org.apache.commons.codec.binary.Base64;
byte[] encodedUsernamePassword = Base64.
encodeBase64("harshal.shewale1@viewics.com:Harshal@1".getBytes());
vars.put("base64HeaderValue",new String(encodedUsernamePassword));
还没有休息。将错误视为错误凭据。
有人请指导我。
答案 0 :(得分:0)
你让事情变得过于复杂。 JMeter附带HTTP授权管理器,它根据您提供的用户名/密码组合自动添加相关的“授权”标题
有关详细信息,请参阅How to Use HTTP Basic Authentication in JMeter指南。
您的Beanshell代码没有问题。
答案 1 :(得分:-1)
在这种情况下,您可能遇到了Cookie问题。因此,将cookie管理器添加到测试计划中。比较您从Firefox进行的其余通话以及您正在进行的休息通话是否相似。检查cookie和标题,并尝试模拟相同的休息时间。
您可以使用以下方法:
通过这种方式,如果有任何cookie,其余的调用期望将被传递,并且您的脚本应该可以工作。