【问题标题】:Jmeter - why linux gives different answer than windows?Jmeter - 为什么linux给出与windows不同的答案?
【发布时间】:2013-05-16 14:08:58
【问题描述】:

我在 Windows 7 上编写了一个测试计划。我在两台机器上远程启动了测试,都是 Windows Vista。当我尝试在 Linux 上做同样的事情时出现了一个问题——我使用了相同的测试计划。

我可以登录一组用户并模拟他们的行为,但是当我尝试注销他们时,什么也没有发生。

在 Windows 上,它们是注销但 linux 给了我空的响应数据。听众显示绿色状态,所以我对发生的事情感到很困惑。我应该更改属性中的某些内容还是我的脚本有问题?

编辑:

脚本:

  1. 使用授权数据登录用户。每个用户都有不同的 JSESSIONID。
  2. 使用 Access Log Sampler 模拟用户行为。
  3. 注销用户。

在 Windows 上,登录和注销一切正常。监听器展示:每个样本的样本结果、请求数据和响应数据。

在 linux 上,每个样本的响应数据都是空白的。

样本结果示例 windowslinux

两者的请求数据相同。

linux 的响应数据为空白。

EDIT2:

  • 测试计划
    • setUP 线程组
      • 清理缓存服务器
      • 使用 JSESSIONID 清理文件
    • 线程组
      • HTTP 请求默认值
      • 登录(仅控制器一次)
      • 访问日志采样器
      • 使用 beanshell 脚本将 JSESSIONID(cookie 变量)保存到文件中
      • Cookie 管理器
    • 拆卸线程组
      • HTTP 请求默认值
      • 从文件中读取 JSESSIONID
      • 注销所有用户
      • Cookie 管理器
    • 结果树
    • 总结报告

必须在访问日志中的所有样本完成后执行注销。这就是为什么我将 JSESSIONID 保存到文件以在线程组之间共享相同的会话。

好的,我以某种方式消除了响应错误。显然linux服务器上的java版本有问题。

当前的问题是,当我在 Linux 上启动远程脚本时,它不遵循重定向。 win XP 或 Vista 上的相同脚本遵循重定向,用户退出。 经验。

GET connection.rpc?logout=D5D076123FD6CCBF137FE1673F531006 

在 Windows 上,我得到两个重定向,并且用户正在注销。

Thread Name: Logout 1-1
Sample Start: 2013-05-18 13:50:52 CEST
Load time: 15
Latency: 13
Size in bytes: 777
Headers size in bytes: 573
Body size in bytes: 204
Sample Count: 1
Error Count: 0
Response code: 200
Response message: OK

Response headers:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-wkpl-server-name: OnlineRC2
Content-Type: text/html;charset=UTF-8
Content-Language: en-US
Content-Length: 204
Date: Sat, 18 May 2013 11:50:43 GMT


HTTPSampleResult fields:
ContentType: text/html;charset=UTF-8
DataEncoding: UTF-8

Thread Name:
Sample Start: 2013-05-18 13:50:52 CEST
Load time: 13
Latency: 13
Size in bytes: 374
Headers size in bytes: 374
Body size in bytes: 0
Sample Count: 1
Error Count: 0
Response code: 302
Response message: Moved Temporarily

Response headers:
HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=6D3F7A3774ABB1411A5F8E1744004A71; Path=/WKPLOnline
CacheControl: no-cache
Pragma: no-cache, no-store
Expires: -1
Location: connection.rpc?logout=BE8C04D8538641675A8BFD2490CDDD4D
Content-Length: 0
Date: Sat, 18 May 2013 11:50:43 GMT

Thread Name: Logout 1-1
HTTPSampleResult fields:
ContentType: 
DataEncoding: null

Sample Start: 2013-05-18 13:50:52 CEST
Load time: 2
Latency: 2
Size in bytes: 403
Headers size in bytes: 199
Body size in bytes: 204
Sample Count: 1
Error Count: 0
Response code: 200
Response message: OK

Response headers:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-wkpl-server-name: OnlineRC2
Content-Type: text/html;charset=UTF-8
Content-Language: en-US
Content-Length: 204
Date: Sat, 18 May 2013 11:50:43 GMT


HTTPSampleResult fields:
ContentType: text/html;charset=UTF-8
DataEncoding: UTF-8

在 Linux 上,我没有收到重定向,并且用户没有注销。

Thread Name: Logout 1-1
Sample Start: 2013-05-18 13:51:48 CEST
Load time: 18
Latency: 18
Size in bytes: 264
Headers size in bytes: 243
Body size in bytes: 21
Sample Count: 1
Error Count: 0
Response code: 200
Response message: OK

Response headers:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=D17A4ABCDE7FB90C1DF702BDCB3827D7; Path=/WKPLOnline
CacheControl: no-cache
Pragma: no-cache, no-store
Expires: -1
Content-Length: 21
Date: Sat, 18 May 2013 11:51:53 GMT


HTTPSampleResult fields:
ContentType: 
DataEncoding: null

这很奇怪,因为在授权期间有一些重定向并且 linux 正确执行它们。

【问题讨论】:

  • 您能提供更多信息吗?这还不够。
  • 我添加更多信息
  • 显示您的测试计划结构以及是否可以在视图树结果中显示响应选项卡

标签: redirect jmeter


【解决方案1】:

您应该检查 jmeter 是否正确访问了您在 linux 上的 jsessionid 文件:

  • 检查路径是否正常(否)

  • 检查读取权限

如果您使用分布式测试,问题可能是代理找不到文件或某些文件被另一个代理覆盖

【讨论】:

  • 我认为路径和读取访问是可以的,因为我要求我得到正确的值。每次我发送: GET connection.rpc?logout=D5D076123FD6CCBF137FE1673F531006 并且对于“logout =”之后的所有其他请求,都会更改文件中的正确文本。
【解决方案2】:

问题解决了,yupi :) 原来,目标服务器已经为某些机器设置了锁。在这样的机器上是 Linux。这就是为什么我不能在单独的线程中记录用户。

因此,如果有人遇到类似的问题(来自一台机器的请求被正确处理,而另一台机器的请求没有得到正确处理),他应该检查他的机器是否有正确的权限,在我的情况下,我需要在测试服务器的 adm.list 中进行正确的输入.

【讨论】:

    猜你喜欢
    • 2014-03-26
    • 2014-02-24
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    • 2016-04-13
    • 2016-01-08
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多