首页 > 解决方案 > 在 Robot Framework 中捕获服务器日志

问题描述

我想知道是否有人知道在机器人框架中为失败的测试用例捕获应用程序服务器日志的方法?

从历史上看,这可能是一个很大的问题(连接到主机并从日志文件本身中提取数据......)但我的团队最近一直在使用 Scalyr,我希望有人可能有一些推断数据的经验从此。

作为参考,我们正在使用一个内部工具来记录我们所有的测试运行,包括在测试失败时来自 Robot Framework 的完整失败消息。理想情况下,我希望看到测试用例失败时的 3 个最新日志条目,并与失败消息一起报告。被测应用服务器托管在 ec2 或 centos 实例上。

如果我可以提供任何其他可能有助于提示答案的信息,请告诉我!

标签: pythonserverrobotframeworkerror-logging

解决方案


  1. 安装 robotsframework-requests 和
  2. 从 RF 执行 api 调用。
  3. 当我看到 Scalyr文档时,我看到有 Scalyr API,您可以在其中请求日志,您需要做的就是使用下面的 api 来查询日志。
LOG QUERY
This method is used to retrieve events (log records). You can retrieve all events in a specified time range, or only events matching specific criteria.

URL
https://www.scalyr.com/api/query

Input
{
  "token":             "xxx",
  "queryType":         "log",
  "filter":            "...",
  "startTime":         "...",
  "endTime":           "...",
  "maxCount":          nnn,
  "pageMode":          "...",
  "columns":           "...",
  "continuationToken": "...",
  "priority":          "..."
}
token should be a "Read Logs" API token. 


推荐阅读