python - 使用 Robotframework 的 rammbock 库将 TCP 套接字从本地主机发送到本地主机时出现问题

标签 python robotframework

我正在使用 Robotframework,我需要将 JSON 消息发送到监听端口 80 的程序。由于我将此 JSON 从我的计算机发送到也安装在我计算机上的程序,我假设(用我的一点网络知识)发送和接收 IP 将是 127.0.0.1。

在这段特定的代码中,我将一个整数发送到一个模板,该模板使用此参数创建一个 JSON 结构并将其发送到本地主机端口 80,套接字需要是 TCP。

这是我的代码:

*** Test Cases ***
      Set Simulator CDC
      [Tags]    cdc
      [Template]    Set Simulator CDC Template
      #${cdc}
      3120

*** Keywords ***
      Set Simulator CDC Template
      [Arguments]    ${cdc}    ${status}=0    ${connection}=${SIMULATOR_CONNECTION}
      ${cdc}=    Convert to Integer    ${cdc}
      ${json_cdc}=    Create Dictionary    command=cdc    cdc=${cdc}
      ${json_cdc}=    json.Dumps    ${json_cdc}
      Log    ${json_cdc}
      New Protocol    simpleRequest
      Chars    *    ${json_cdc}
      End Protocol
      Start TCP server    127.0.0.1    12454    protocol=simpleRequest
      Start TCP client    protocol=simpleRequest
      Connect    127.0.0.1    80
      New Message    ${json_cdc}    simpleRequest
      u32    status
      Client Sends message
      ${msg}=    Server Receives Message
      Should be equal    ${msg.status.hex}    ${status}

我不确定您是否可以创建变量类型“Chars”为 JSON 的协议(protocol),但是当将 JSON 转换为字符串时,结果是相同的。日志文件只给出关键字“服务器接收消息”的错误,但我安装了 Wireshark,但我没有看到任何数据包指向 127.0.0.1,应该接收 JSON 的程序也不会收到任何东西。

提前致谢;

曼努埃尔·冈萨雷斯·加西亚

最佳答案

看来您是在端口 12454 而不是 80 上启动服务器,您应该更改这一行:

Start TCP server    127.0.0.1    12454    protocol=simpleRequest

Start TCP server    127.0.0.1    80    protocol=simpleRequest

您的代码似乎还缺少缩进,这似乎是 rammbock 所要求的

关于python - 使用 Robotframework 的 rammbock 库将 TCP 套接字从本地主机发送到本地主机时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950740/

相关文章:

python - Docker传递命令行参数

python - 如何将字数列表转换为数据框以进行情感分析

python - 根据多个条件选择单元格

selenium - 如何在 Robot Framework 中执行 JavaScript

python - 有没有办法并行运行机器人框架测试套件?

java - 如何在 Robot Framework 中调用基于 Java 和 Python 的库?

javascript - 如何在 Django 应用程序中加载更多内容?

python - 从 "_ElementUnicodeResult object of lxml.etree module"创建列表对象

python - 如何在机器人框架中动态导入变量文件

robotframework - 如何使用测试套件在不骑行的情况下运行机器人测试用例