java - Selenium Serenity 屏幕截图和电影延迟并挂起执行

标签 java selenium file-upload screenshot serenity-bdd

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

  1. 测试用例第 1 步 - 通过
  2. 测试用例第 2 步 - 失败
  3. 第 2 步失败的视频和屏幕截图
  4. 测试用例第 3 步 - 通过

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

我的问题是:

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

或者

  • 我们可以使用线程,即继续执行,然后创建另一个线程来处理屏幕截图创建或电影并进行上传,而不影响当前执行。但是,我不确定 Serentity 是否支持此
  • 或者

  • 将文件保存在本地项目目录中,执行后再上传?
  • 执行结果非常重要,需要备份

    最佳答案

    Serenity BDD不录制电影,仅截图;如果您将它们配置为仅在失败时进行,那么这些花费的时间非常少,并且它们是在单独的后台线程中获取和处理的(因此保存它们不会减慢测试速度,尽管 WebDriver 调用检索屏幕截图数据会减慢当对每个操作进行屏幕截图时,请停止测试)。但它目前不支持将文件上传到任何地方。

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

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

    关于java - Selenium Serenity 屏幕截图和电影延迟并挂起执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59802957/

    相关文章:

    java - Spring Security如何检索用户名

    c++ - 在 C/C++ 中使用 winsocks 发送原始请求(http post 文件数据)

    java - 枚举不是枚举映射的有效类型

    javascript - 如何使用监听器打印参数而不是值。另外,当我的字符串返回 null 作为每个输出的前缀时,会出现什么问题?

    .net - 持续集成中的性能测试?

    java - 如何让 Selenium WebDriver (Java) 单击此按钮?

    javascript - 将上传文件的路径从 HTML5 拖放到输入字段

    ruby-on-rails - 如何将回形针与服务器上已有的文件一起使用?

    java - jmh-core 版本 > 1.9 时使用 OptionsBuilder 编译错误

    html - 如何使用 Selenium Webdriver 选择嵌套的 css 元素?