os-tester

A Python pip package to automate testing of whole operating systems with an image recognition based approach and libvirt (qemu). Inspired by openQA.

GPL-3.0 License

Stars
1
Committers
3

Bot releases are hidden (Show)

os-tester - 0.3.0 Latest Release

Published by COM8 2 months ago

With this release we are adding multipath support. This allows you to provide multiple paths and multiple ref-images in a single stage.

Example

The following image shows an example where after installing we either boot again into the installer ISO or the OS directly and then can do different actions based on that.

image

In YAML something like this would look like:

stages:
  - stage: Installation Complete
    timeout_s: 600
    paths:
      - path:
          check:
            file: 0_1.png
            mse_leq: 0.1
            ssim_geq: 0.99
          actions:
            - keyboard_key:
                value: up
                duration_s: 0.25
            - keyboard_key:
                value: ret
                duration_s: 0.25
          nextStage: OS Boot
      - path:
          check:
            file: 0_2.png
            mse_leq: 0.1
            ssim_geq: 0.99
          actions:
            - keyboard_key:
                value: up
                duration_s: 0.25
            - keyboard_key:
                value: up
                duration_s: 0.25
            - keyboard_key:
                value: ret
                duration_s: 0.25
          nextStage: .iso Boot

  - stage: .iso Boot
    timeout_s: 600
    paths:
      - path:
          check:
            file: 1.png
            mse_leq: 0.1
            ssim_geq: 0.99
          actions:
            - keyboard_key:
                value: up
                duration_s: 0.25
          nextStage: None

  - stage: OS Boot
    timeout_s: 600
    paths:
      - path:
          check:
            file: 2.png
            mse_leq: 0.1
            ssim_geq: 0.99
          actions:
            - keyboard_key:
                value: tab
                duration_s: 0.25
            - keyboard_key:
                value: tab
                duration_s: 0.25
            - keyboard_key:
                value: ret
                duration_s: 0.25
          nextStage: None

What's Changed

New Contributors

Full Changelog: https://github.com/COM8/os-tester/compare/0.2.0...0.3.0