首页 > 解决方案 > Selenium Serenity 屏幕截图和电影延迟并挂起执行

问题描述

我们有一个宁静的框架,通过屏幕截图和失败的电影在执行过程中记录,并且是其中的一部分并按顺序发生

IE

  1. 测试用例第 1 步 - 通过
  2. 测试用例第 2 步 - 失败
  3. Step2失败的电影和截图
  4. 测试用例第 3 步 - 通过

电影和截图上传到FTP服务器,可能会导致速度慢,如果网络慢,有时会挂起

我的问题是:

  1. 保存这些屏幕截图和电影的最佳位置在哪里?Netapp 或 box.com 会解决这个问题吗?我相信不是因为它们也依赖于网络速度

或者

  1. 我们可以使用线程,即执行继续,我们创建另一个线程来处理屏幕截图创建或电影并进行上传,而不影响当前执行。但是,我不确定宁静是否支持这一点

或者

  1. 将文件保存在本地项目目录中,然后执行后再上传?

执行结果很重要,需要备份

标签: javaseleniumfile-uploadscreenshotserenity-bdd

解决方案


Serenity BDD 不录电影,只录截图;如果您将它们配置为仅承担故障,这些将花费很少的时间,并且这些将在单独的后台线程中进行处理(因此保存它们不会减慢测试速度,尽管用于检索屏幕截图数据的 WebDriver 调用会减慢在为每个操作截取屏幕截图时关闭测试)。它目前不支持在任何地方上传文件。

我认为您提到的电影是在您自己的代码中完成的,因此 Serenity 无法控制这些。

屏幕截图会与其他测试结果一起自动记录。最简单的方法是在构建完成后上传/同步它们,或者简单地将它们存储在您的 CI 服务器上(大多数商店似乎都是这样做的)。


推荐阅读