0

我正在尝试使用良性 url 和网络钓鱼 url 测试网关。我正在使用 SSHLibrary 连接到机器,卷曲 URL,然后检查“应该包含”是否输出包含页面标题或连接已重置。

在测试良性 URL 时,它可以工作。curl 命令的输出如下所示 - 良性 url 的 curl 输出:

我使用 ${variable} = 执行命令 curl url 然后应该包含 ${variable} 提交

它有效。

当我测试网络钓鱼 URL 时,该变量不包含任何输出,因为网关重置了连接。

当我使用网络钓鱼 URL 运行 curl 命令时,我得到 -

curl:(56)接收失败:连接已重置

当我使用应该包含${variable} 连接被重置时,它不起作用。我也试过${variable.stdout},但每次变量仍然是空的。

如何处理连接已重置响应并验证它确实已重置?

4

1 回答 1

0

问题是 curl 命令的流返回。

虽然 stdout 没有信息,但 stderr 有关于“连接已重置”的信息。

即使我将 return_stderr=True 添加到“执行命令”,它也不起作用。

“执行命令”关键字有多个返回选项,默认启用标准输出。

当同时使用标准输出和标准错误时,我的变量变成了一个列表,“应该包含”关键字只检查了列表 [0] 的第一条记录。如果我们想使用一个变量或使用多个变量,解决方案是禁用默认标准输出并启用标准错误。

${变量} = 执行命令 curl -v example.com return_stdout=False return_stderr=True

${stdout} ${stderr} ${rc} = 执行命令 curl -v example.com return_stderr=True return_rc=True

于 2021-02-28T09:18:09.920 回答