【问题标题】:How to test web service with authentication using JMeter如何使用 JMeter 通过身份验证测试 Web 服务
【发布时间】:2014-08-14 22:16:17
【问题描述】:

我正在使用 Apache JMeter 2.11 来测试具有身份验证的 Web 服务。对于示例请求,我使用View Results Tree 作为侦听器和SOAP/XML-RPC Request,我的参数具有以下语法:

我尝试过的

1) 添加HTTP Header Manager 使用

  • 名称:授权:
  • :基本 [以 ASCII、UTF-8 编码的 Base64 代码,用户名中带或不带域],如 here 所述

结果:Response headers: HTTP/1.1 401 Unauthorized

2) 添加HTTP Authorization Manager 使用

  • 基本网址http://www.domain.com:####
  • 用户名:[用户名]
  • 密码:[密码]
  • :[域]
  • 领域:[NULL]
  • 机制:[BASIC_DIGEST/KERBEROS] 解释为here

结果:Response headers: HTTP/1.1 401 Unauthorized

我还尝试按照here的建议在请求中启用Keep Alive

我做错了什么?

【问题讨论】:

  • 任何反馈?如果可以,您应该接受并投票,谢谢

标签: web-services authentication soap jmeter load-testing


【解决方案1】:

首先你需要知道 auth 类型,它是基本的吗?消化 ? Kerberos 还是其他?

第二,不要使用SOAP/XML-RPC Request,使用Http Request,

查看 jmeter 菜单中的 Templates > Webservice,它为 Soap 测试创建了一个示例测试计划。

然后使用正确的身份验证管理器添加您的身份验证,使用 HttpClient 4 作为采样器实现并检查。

【讨论】:

  • 身份验证类型为 Kerberos。我通过 File > Templates 访问了 SOAP WebService 测试计划...但所有文档似乎都适用于旧版本的 Jmeter;例如,我在“Http Request Defaults”屏幕中找不到方法参数,也找不到发布 SOAP 正文的方法
  • 此模板向您展示如何配置计划,您将 xml(soap 格式)粘贴到 http 采样器的原始 post 正文中,任何 http 标头都进入 Header Manager ,对于可选的 Soap Action 也是如此。用 xml rpc 显示你的配置,我会给你用 http 采样器的配置。
  • 看这个例子blazemeter.com/blog/testing-soaprest-web-services-using-jmeter,在Let's try Post之后阅读
  • 最后是我将“采样器 > HTTP 请求”与“配置元素 > HTTP 请求默认值”混淆了,但为了完全避免身份验证,我设法在没有身份验证的情况下获得了另一个版本的 Web 服务。感谢您的所有反馈。
猜你喜欢
  • 1970-01-01
  • 2016-01-27
  • 2011-01-15
  • 2012-02-10
  • 1970-01-01
  • 1970-01-01
  • 2015-05-21
  • 2011-07-05
  • 1970-01-01
相关资源
最近更新 更多