1

我正在尝试使用Postman编写自动化测试。我是邮递员自动化世界的新手,如果这个问题看起来很愚蠢,我很抱歉。

在我发送请求时需要测试的 api 中,无论事务是否成功,我都会立即收到带有transactionID的响应。随着我的请求,我向服务器发送了一个CallbackURL,我希望在该服务器上回调实际的事务结果。服务器将向我提供的带有transactionID和实际响应或错误的CallbackURL发出PUT请求。

所以问题是,我的邮递员测试中可以有这样的场景吗?我想我应该运行一个 Web 服务器并公开一个期望 PUT 请求的端点,我应该在我的测试中获取这个 PUT 请求的主体来检查它,并成功响应它。

换句话说,在我的脚本中,我需要执行以下操作:

  1. 通过回调 URL 向服务器发出请求
  2. 检查服务器的即时响应并保留返回的 transactionID
  3. 使用我作为回调 URL 传递的端点运行网络服务器
  4. 期望使用 transactionID 和实际响应向该端点发出请求
  5. 检查响应是否符合我的实际预期
  6. 成功响应请求

我在考虑Postman Mock server,但似乎它不是为这种用途而设计的。我也认为我可以在邮递员沙箱中运行一些JS Webserver(可能是nodeJS ) ......

实际上,我对邮递员测试很陌生,我对这种问题感到非常困惑。甚至可以用邮递员做到这一点,还是我需要别的东西?

4

1 回答 1

1

POSTMAN 提供的一些功能可以帮助您解决问题

  1. 当您向服务器请求传递回调 URL 时,它会为您提供 transactionID 作为响应。将该 transactionID 保存在环境变量或全局变量中。同样,您可以为 callbackURL 执行此操作。例如。pm.environment.set("transactionID", transactionID);
  2. 然后,您可以执行第二个请求,其中传递了您已经拥有的回调 URL 和 transactionID。

简而言之,POSTMAN 有一些功能,例如

  • 设置全局和环境变量,这有助于将从响应中获取的一些值传递给另一个请求。
  • 在第一个请求成功时调用其他请求,例如。postman.setnextRequest({{requestname}});

如果您可以详细地提及您的问题陈述,那么将很容易以更好的方式回答。

希望对你有帮助

于 2019-07-17T10:28:32.543 回答