java - Selenium Serenity 屏幕截图和电影延迟并挂起执行
问题描述
我们有一个宁静的框架,通过屏幕截图和失败的电影在执行过程中记录,并且是其中的一部分并按顺序发生
IE
- 测试用例第 1 步 - 通过
- 测试用例第 2 步 - 失败
- Step2失败的电影和截图
- 测试用例第 3 步 - 通过
电影和截图上传到FTP服务器,可能会导致速度慢,如果网络慢,有时会挂起
我的问题是:
- 保存这些屏幕截图和电影的最佳位置在哪里?Netapp 或 box.com 会解决这个问题吗?我相信不是因为它们也依赖于网络速度
或者
- 我们可以使用线程,即执行继续,我们创建另一个线程来处理屏幕截图创建或电影并进行上传,而不影响当前执行。但是,我不确定宁静是否支持这一点
或者
- 将文件保存在本地项目目录中,然后执行后再上传?
执行结果很重要,需要备份
解决方案
Serenity BDD 不录电影,只录截图;如果您将它们配置为仅承担故障,这些将花费很少的时间,并且这些将在单独的后台线程中进行处理(因此保存它们不会减慢测试速度,尽管用于检索屏幕截图数据的 WebDriver 调用会减慢在为每个操作截取屏幕截图时关闭测试)。它目前不支持在任何地方上传文件。
我认为您提到的电影是在您自己的代码中完成的,因此 Serenity 无法控制这些。
屏幕截图会与其他测试结果一起自动记录。最简单的方法是在构建完成后上传/同步它们,或者简单地将它们存储在您的 CI 服务器上(大多数商店似乎都是这样做的)。
推荐阅读
- mockito - 模拟课程没有按预期工作
- c# - ExecutionContext 不会从异步方法沿调用堆栈向上流动
- go - 用于引用模板文件的操作系统可移植代码
- docker - 卸载工具箱后无法使用 docker for windows
- java - 将 C++ 中的结构转换为 Java 中的类
- c# - 使用 Unity Container 将 DbContext 与 DbContextOptions 一起注册
- javascript - JS 类静态成员初始化发生在加载 cdn 依赖项之前
- scala - @groupname 标记不适用于 intellij 中的 scala 类
- jquery - JQuery Bootgrid 标题文本颜色
- php - ->assertSee 和 ->See 有什么区别