使用 wsHttpBinding 和 TransportWithMessageCredential 针对 WCF 服务进行 Jmeter 负载测试

Jmeter load tests against WCF service with wsHttpBinding and TransportWithMessageCredential

我有一些带有 wsHttpBinding 和 TransportWithMessageCredential 安全性的 WCF 服务。 Windows 凭据必须在每个请求中提供,因此用于身份验证(由 AD 设计)、授权(由 AZman 使用 AD)和识别执行操作的用户(听觉目的)。

现在我需要使用 Jmeter 对这些服务执行一些负载测试,我正在努力如何为每个请求验证用户身份,我想知道是否有人曾经这样做过?

我真的需要测试这个安全问题,因为身份验证和授权过程是负载测试本身的一部分。我可以删除它们,但负载测试将不准确。

我想到的解决方案是:

  1. 确保这可以通过 JMeter 实现
  2. 在这些服务之上创建一个 WCF 路由服务,作为 basicHttpsBinding 公开,然后将请求路由到适当的目标服务,执行模拟(似乎是一个选择,但它也不是原始测试用例)
  3. 出于负载测试目的删除安全性,但随后也会删除部分测试(连同安全性)

开箱即用的 JMeter 不支持任何 SOAP 安全实现,因此您可能想使用 WS Security for SOAP 插件

您应该能够通过 SOAP Message UsernameToken

提供您的 Windows 凭据

插件会生成相关的wsse:Username token

更多信息:Running SOAP WS-Security Load Tests in JMeter