6

我正在尝试使用 TCP Sampler 在 IMAP4 之上创建自动测试。
我没有使用邮件阅读器采样器,因为我需要允许注入纯 IMAP4 命令。我的 IMAP4 服务器(与任何 IMAP4 服务器一样)期望接收任何以 CRLF (0D0A) 结尾的 IMAP4 命令,因此我已经在文本中结束了我的命令,以用新行(回车)发送区域。

我嗅探了流量并注意到 JMeter 在命令之后仅添加了 LF (0A)(没有回车)

我在这里缺少什么吗?
我如何强制 JMeter TCP Sampler 在每个 TCP 命令的末尾添加 CRLF?

4

2 回答 2

2

使用转义 XML 解决了这个问题!!! http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

在基于 XML 的 JMX 文件中,我明确地附加了 0xD 字符:

1 login 972557557566@is433.email.com a123456A
于 2013-08-05T13:11:43.417 回答
-1

虽然我无法让 EOL 修复工作,也无法使用 XML 方法,但我确实找到了以下提供另一种解决方案的帖子:http: //community.blazemeter.com/knowledgebase/articles/268778-how-to-send-control -characters-using-the-jmeter-tc。一般的想法是执行以下操作:

  1. 创建名为“new_line”和“carriage_return”的用户定义变量。
  2. 将这些用户定义的变量分别设置为 %0A 和 %0D。
  3. 在您的 tcp 采样器之前,创建一个 BeanShell 预处理器。
  4. 在 BeanShell PreProcessor 中,像这样覆盖变量值:

    vars.put("new_line_char",URLDecoder.decode(vars.get("new_line_char"), "ASCII")); vars.put("carriage_return_char",URLDecoder.decode(vars.get("carriage_return_char"), "ASCII"));

  5. 在您的 TCP 采样器中,在行尾包含新变量

    一些数据发送到某个地方${carriage_return_char}${new_line_char}

于 2014-08-18T18:47:18.573 回答