有人有使用 NTLM 身份验证的成功 WCAT 负载测试场景吗?

发布于 2024-07-13 13:50:39 字数 1200 浏览 6 评论 0原文

该文档提供了一个简洁的示例,并且看起来无论如何都缺少一跳/对。 当我设置一个脚本来访问远程服务器并以类似的方式构建我的 NTLM 通信时,我得到以下输出:
...
所有客户端已连接,测试开始。
收到无效代码。
接受远程连接时出错。
消息:检测到运行错误,正在终止客户端...
消息:正在终止 wcclient 的所有实例...
连接到:
...

当我注释掉 3 个 NTLM 中心线时,我的场景运行得很好。 当它们未被注释时它会失败。 WCAT 客户端能够解析该场景,但我还没有真正深入研究解析机制,看看它是否解析正确。

(我已经修复了阻止多个远程客户端连接的错误,但可能还有更多。)

以下是该场景的相关部分:

    request
    {
        url         = "http://weatherforecast-d/";
        statuscode  = 401;
    }

    request
    {
        url         = "http://weatherforecast-d/";
               // problems begin here...
          authentication = "ntlm";
          username = "my username";
          password = "my password";
        statuscode  = 200;
    }

如果有人有 WCAT NTLM 脚本的正在运行的功能示例,我会非常乐意有义务的。 谢谢。

我已经清理了 wcat.wsf 中的日志记录并进行了大量比较。 一定有更好的方法来做到这一点,但我不知道。

  • “authentication”解析,而其他参数名称不会
  • “用户名”和“密码”本身不会导致致命错误
  • 如果我注释掉单个参数行“authentication”,则测试运行
  • 如果我取消注释同一行,则会出现致命
  • 错误脚本输出完全相同,直到故障
  • basic 或 ntlm 导致相同的故障,任何垃圾文本也是如此。

问题似乎隐藏在 wcclient 深处。 我想我得开始寻找另一种产品了。

The documentation provides a succinct example, and one that looks like it's missing a hop/pair anyway. When I set up a script to access a remote server and pattern my NTLM communication similarly, I get the following output:
...
All clients connected, Test beginning.
Invalid code received.
Error accepting remote connection.
message: Run error detected, terminating clients...
message: Terminating all instances of wcclient...
Connecting to:
...

My scenario works just fine when I comment out the 3 NTLM centric lines. It fails when they are uncommented. The WCAT client is able to parse the scenario, but I've not actually dug into the parsing mechanism yet to see whether it's parsing correctly.

(I've already fixed the bug that prevents connection from multiple remote clients, but there may be more.)

Here's the pertinent part of the scenario:

    request
    {
        url         = "http://weatherforecast-d/";
        statuscode  = 401;
    }

    request
    {
        url         = "http://weatherforecast-d/";
               // problems begin here...
          authentication = "ntlm";
          username = "my username";
          password = "my password";
        statuscode  = 200;
    }

If anyone has a running, functional example of a WCAT NTLM script, I'd be much obliged. Thank you.

I've cleaned up the logging in wcat.wsf and done numerous comparisons. There's got to be a better way to do this, but I don't know it.

  • "authentication" parses while other parm names do not
  • "username" and "password" don't cause fatal errors on their own
  • If I comment out the single parm line "authentication" the test runs
  • If I uncomment the same line it errors fatally
  • The script output is exactly the same up until the failure
  • basic or ntlm result in the same failure, as does any garbage text

The problem seems to be hidden deep in the wcclient. I guess I'll have to start looking for another product.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乙白 2024-07-20 13:50:39

错误在文档中:

authentication = "ntlm";

应该是:

authentication = NTLM;

该参数不是动态字符串,而是关键字。 这些引号让解析器失去了嗅觉。

我会将其标记为答案,因为它是,但我仍然有一个问题。 目前我找不到完全正确的方法来教 WCAT 识别来自服务器的 401 和 200 响应。 它可以识别一些 401 和一些 200,但我无法将正确数量的查询以任何正确的组合进行组合以使其识别所有内容。

The error is in the documentation:

authentication = "ntlm";

Should be:

authentication = NTLM;

The parameter is not a dynstring, but a KEYWORD. The quotes throw the parser off the scent.

I'll mark this as answer, since it is, but I still have an issue. At present I cannot find the exactly correct recipe for teaching WCAT to recognize the 401 and 200 responses from the server. It recognizes some of the 401s and some of the 200s, but I cannot combine the right number of queries in any right combination to cause it to recognize everything.

时光匆匆的小流年 2024-07-20 13:50:39

当我将端口放在交易请求之外时,我也遇到了同样的错误。 一旦端口成为请求的一部分,错误就会消失。

I also got the same error when I put port outside of the request to transaction. The error disappeared once port became a part of the request.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文