python - 在 Robot Framework 中捕获服务器日志
问题描述
我想知道是否有人知道在机器人框架中为失败的测试用例捕获应用程序服务器日志的方法?
从历史上看,这可能是一个很大的问题(连接到主机并从日志文件本身中提取数据......)但我的团队最近一直在使用 Scalyr,我希望有人可能有一些推断数据的经验从此。
作为参考,我们正在使用一个内部工具来记录我们所有的测试运行,包括在测试失败时来自 Robot Framework 的完整失败消息。理想情况下,我希望看到测试用例失败时的 3 个最新日志条目,并与失败消息一起报告。被测应用服务器托管在 ec2 或 centos 实例上。
如果我可以提供任何其他可能有助于提示答案的信息,请告诉我!
解决方案
- 安装 robotsframework-requests 和
- 从 RF 执行 api 调用。
- 当我看到 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.
推荐阅读
- c# - 我应该如何使用 Fluent API 配置这些模型之间的关系?
- java - 根据下图使用 Retrofit 上传图片
- android - Activity.getReferrer() 只获取应用 Uri,而不是 Web 引荐来源网址
- java - Spring Boot 同时更新 2 个类
- symfony - Symfony ChoiceType 启用或禁用 TextType
- android-studio - 即使我在模拟器上运行我的应用程序,Flutter Inspector 也会说“没有正在运行的应用程序”
- javascript - 如何在 for 循环(JS)中获得灵活的变量变量
- php - 每 2 周显示星期五的日期
- java - Ratpack 异步如何实现,它是如何工作的?
- regex - 正则表达式:如何为 HTML 模式值编写负正则表达式?