【问题标题】:lack of CR - TCP Sampler缺少 CR - TCP 采样器
【发布时间】:2013-08-05 08:08:49
【问题描述】:

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

我嗅探了流量,发现 JMeter 在命令后只添加了 LF (0A)(没有回车)

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

【问题讨论】:

    标签: imap jmeter jmeter-plugins


    【解决方案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 预处理器中,像这样覆盖变量值:

      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}

    【讨论】:

      【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多