Uploaded image for project: 'Qt Quality Assurance Infrastructure'
  1. Qt Quality Assurance Infrastructure
  2. QTQAINFRA-6954

Brainstorm / research possible solutions for screen recording in CI

    XMLWordPrintable

Details

    • Epic
    • Resolution: Unresolved
    • P2: Important
    • None
    • dev
    • None
    • CI screen recording
    • All

    Description

      Business rationale

      UI test failures / flakiness can be related to CI infrastructure issues, which interfere with autotests of UI components. Such issues can't be easily reproduced locally, especially when related to virtual infrastructure.
      Research can be highly time consuming, especially in case of flakiness where tests need to be re-run multiple times to observe a specific interference on the screen.

      Examples

      • System popups (license, update, DBus messages), claiming focus and causing code paths like qWaitForWindowActive(...) to fail.
      • OS bugs, causing glitches or window manager crashes
      • VM-specific issues, like touch emulation, hot keys

      Technical considerations

      Hackathon project

      A hackathon project has implemented screenshot / screen recording in Testlib. While it demonstrates the use case, it comes with several disadvantages:

      • Feature is test case specific. Every test case requiring screenshots / screen recording needs to be patched by injecting a macro. => it can't be enabled / disabled on an integration level.
      • Perspective: The test records itself. That will cover failures, but not crashes. Recording of other items on the desktop is not possible e.g. on macOS.
      • Performance: It slows down testing by >30%
      • Dependency: Depends on ffmpeg

      Architecture discussion / research

      • Should it be done on VM-Level?
      • Does openNebula provide a solution?
      • Shall we record a VNC stream?
      • Timeline needs to be syncable with COIN logs

      Storage

      • Where to store video artifacts?
      • Which format, how long?

      User interface

      • Should it be a checkbox in the COIN scheduler?
      • Should it be available as an option in the Gerrit Pre-check button?
      • Implement a browsing tool for COIN logs / video?

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            axelspoerl Axel Spoerl
            axelspoerl Axel Spoerl
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes