使用Jmeter授权问题进行Rest服务测试-需要将应用程序登录到浏览器中才能从任何客户端运行Rest调用

使用Jmeter授权问题进行Rest服务测试-需要将应用程序登录到浏览器中才能从任何客户端运行Rest调用,rest,testing,jmeter,Rest,Testing,Jmeter,我想通过Jmeter测试rest服务,我已经使用postman测试了rest调用,并且工作正常。问题是要从任何客户端(如postman)运行rest服务,我需要首先在浏览器中登录到我的应用程序,登录后rest调用将在RESTClientFirefox中工作。但是如果是Jmeter,那么如何运行呢。我增加了授权。使用HTTP授权管理器的用户名和密码仍然面临。甚至我也添加了bean shell脚本: import org.apache.commons.codec.binary.Base64; by

我想通过Jmeter测试rest服务,我已经使用postman测试了rest调用,并且工作正常。问题是要从任何客户端(如postman)运行rest服务,我需要首先在浏览器中登录到我的应用程序,登录后rest调用将在RESTClientFirefox中工作。但是如果是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));
仍然没有跑步休息。将错误作为错误凭据提供


有人请指导我。

在这种情况下,您可能会遇到cookie问题。因此,将cookie管理器添加到您的测试计划中。比较您在Firefox上拨打的rest电话和您在Firefox上拨打的rest电话是否相似。检查cookies和header,并尝试为您的rest调用模拟相同的cookies和header

您可以使用以下方法:

创建一个线程组。 只添加一次控制器。在此控制器下添加登录请求。 在仅一次控制器之后添加rest服务调用。
这样,如果存在rest调用所期望的任何Cookie,则将传递这些Cookie,并且您的脚本应该可以工作。

您使事情变得过于复杂。JMeter附带HTTP授权管理器,它根据您提供的用户名/密码组合自动添加相关授权头

有关详细信息,请参阅指南


您的Beanshell代码没有问题

你能出示你的计划吗?我希望这不是你真正的用户名和密码。。。