【问题标题】:Stress Testing with NTLM Authentication使用 NTLM 身份验证进行压力测试
【发布时间】:2009-10-15 06:56:43
【问题描述】:

寻找可以进行 Windows 身份验证的开源 Web 测试工具。

我使用过很少量的 openSTA 和 Pylot,但发现两者都不做 windows。 openSTA 说你可以在这里做 NTLM:http://www.opensta.org/docs/sclref/build-auth-blob.htm

我无法让它工作 - 可能是由于网络上的某些配置或我自己的错误。

【问题讨论】:

    标签: authentication testing ntlm


    【解决方案1】:

    由于身份验证问题而限制您的测试工具将是一种耻辱。在压力测试期间关闭 NTLM/Windows Auth 更实用。我们通过添加一个配置参数来做到这一点,该参数仅在压力/负载测试环境中配置时才允许通过 URL 传递用户名。这会导致我们加载和缓存当前用户的地方发生行为变化。它几乎适用于任何测试工具。

    如果您正在测试 ASP.NET 应用程序,只需创建自己的用户主体并将其分配给 HttpContext.Current.User。这样做的好地方是在您仅在压力测试环境中配置的 HttpModule 或 Membership Provider 的 AuthenticateRequest 事件中。

    这种技术没有太大的缺点。这是在 Windows 身份验证相对于整个应用程序的性能相对便宜且相对较小的假设下运行的。没有它,我们对我们的压力测试结果充满信心。这里需要注意的是,IE 将使用 NTLM 进行挑战/响应,因此虽然它不是一个完美的测试,但它是一个非常好的测试。完美是善的敌人。

    【讨论】:

    • 对于没有简单的 NTLM 身份验证方法仍然不满意,但会接受,因为这似乎是免费完成此操作的最实用方法。
    【解决方案2】:

    也许我遗漏了一些关于 Windows 身份验证的信息,但我认为 Selenium 应该能够做到这一点。你试过吗?

    【讨论】:

    • 看起来像是在监控,但不是压力测试,因为它必须启动一个实际的浏览器。
    • webdriver 能够在没有实际浏览器的情况下运行,这要归功于 HtmlUnit code.google.com/p/webdriver/wiki/HtmlUnit。不确定它能否完成 Windows 身份验证。
    【解决方案3】:

    您可以尝试 Grinder 项目:NTLM 支持有点棘手,但这里有一些细节:

    http://grinder.sourceforge.net/faq.html#spnego(嵌入式链接现已失效 - 请参阅 CruiZen 的评论)

    http://bb10.com/java-grinder-user/2007-08/

    【讨论】:

    • Grinder 常见问题页面上的上述链接指向一个不再存在的 Windows 空间博客。
    • 请参阅 The Grinder 用户论坛中的 this link,该论坛描述了如何使用 The Grinder 中的 NTLM。它使用 JCIFS Java 库(在 The Grinder 中可用,因为它使用 Jython/Clojure 脚本并且可以访问 Java 库)/msg00023.html
    • @CruiZen - 感谢您提供信息 - 已相应更新答案。
    猜你喜欢
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多