我正在使用 JMeter 来加载测试用 GWT 编写的 Web 应用程序。
我找到了SyncProxy让我编写 Java 代码来在应用程序服务器上执行远程方法,就像我是客户端(浏览器)一样。
我已将 Java 代码包装到一个从 JMeter 实现 JavaSamplerClient 的类中。这意味着我可以在 JMeter 对象内运行我自己的 Java 代码,并根据测试逻辑执行它。
现在问题来了。由于我没有使用 JMeter 的 HTTPSampler,因此我的用户不会按照我希望的方式行事,即彼此独立。我在使用 HTTPSampler + HTTP 身份验证管理器 + HTTP Cookie 管理器时从未遇到过这个问题。
我通过修改 SyncProxy 以将身份验证数据作为每个请求的额外 HTTP header 发送来解决了基本身份验证部分。
问题是:如何最好地实现我可以使用的工具,以便我的用户保持独立并停止时不时地窃取彼此的 session ?
最佳答案
我正在做一些非常类似的事情。
我的方法是使用一个单独的 java 采样器作为 session 创建和登录机制。
syncproxy 有一个多 session 选项。 session 实例存储在静态列表类中,其中 session 信息可通过 token 选择。 token 引用是从 jmeter 线程变量构造的。
当您使用主syncproxy java 采样器时,重新使用参数列表中的线程变量,并从列表中为正确的jmeter 线程选择正确的 session 。
注意,如果您正在使用多个 session 并且已使用 AutoSyncProxy 补丁,那么您将必须修改 AutoSyncProxy.newProxyInstance 方法以允许定义 session 。
关于java - 在 GWT 应用程序上运行 Java 请求采样器(使用 SyncProxy)的 JMeter 中分离用户 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5647025/