java - 在 GWT 应用程序上运行 Java 请求采样器(使用 SyncProxy)的 JMeter 中分离用户 session

标签 java gwt jmeter

我正在使用 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/

相关文章:

java - GWT 找不到我的类的源代码

JMeter - 将结果保存为 CSV 和 XML

java - 将非特定类传递给另一个类

java - ScrollPane 中的 GridPane

javascript - Libgdx HTML 项目未编译(没有可用的源代码...)

javascript - 对于同源策略限制(尝试查询 google maps api),最直接的 GWT 解决方法是什么?

javascript - Jmeter:Javascript 变量不返回任何值

http-headers - jmeter 头管理器删除头

java - 打印多维数组时出现问题

java - JDBCRealm 中的 "User Expired Password"