如何测试在SoapUI中使用JWT的REST服务?

时间:2015-11-05 01:07:06

标签: rest soapui jwt

我正在实施一些REST服务。我所有的测试都是使用SoapUI进行的。 最近我决定采用JSON Web Token(JWT)进行身份验证,但我在SoapUI上找不到任何支持(本机安装或插件,没有)。

我找到了一些像http://jwtbuilder.jamiekurtz.com/这样的在线生成器,但是填写所有字段,一次又一次地复制/粘贴SoapUI,因为每个测试用例都没有效率。

我想知道是否有办法测试SoapUI中的JWT内容,或者我是否需要其他工具。有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

我发现了一种半自动方式,可以在TestCases中保留有效的JWT令牌而不会丢失太多时间,使用包含令牌的外部文件。

  1. 让外部工具在文件中生成有效的JWT令牌。
  2. 在SoapUI中打开您的项目,并添加一个带有值的jwt变量 ${=new File('/path/to/token_file.txt').text}

  3. 在您的请求中,将您的变量引用为带有值的JWT标头 ${#Project#jwt}

  4. 当令牌过期时,只需重新启动生成器脚本,SoapUI将自动加载新令牌。

答案 1 :(得分:0)

SoapUI将调用您的身份验证服务器并获取令牌,然后它将自动将该令牌放入授权标头(Bearer <token>)中。

Add new authorization>OAuth 2>Resource owner password credential grant

然后将您的用户名和密码添加到客户端和资源部分。最后,将您的令牌端点作为访问令牌URL,并保存授权配置文件以用于其他测试案例。