os-autoinst-distri-rocky/tests/applications/evince/rotate.pm
Lukáš Růžička e0d9409c74 Create a test suite for Evince.
This PR fixes issue . It adds a test suite to test basic
functionality of Evince and brings the following features:

* test scripts for various Evince functions.
* needles to support the Evince test scripts
* new template variables `TESTPATH` and `POSTINSTALL_LOAD_ALL` (see
  below)
* new logic in `main.py` (see below)

The new variables and the new logic make it easier to create test
suites for post-installation tests. If TESTPATH is used, OpenQA
will take all tests mentioned in POSTINSTALL from that specified
TESTPATH. If both TESTPATH and POSTINSTALL_LOAD_ALL are used, then
OpenQA will run all tests it can find at the TESTPATH location.
If POSTINSTALL and POSTINSTALL_LOAD_ALL are set simultaneously,
then only POSTINSTALL will be taken into account and OpenQA will
only load tests mentioned there.
2021-07-28 08:58:23 +02:00

38 lines
819 B
Perl

use base "installedtest";
use strict;
use testapi;
use utils;
# This part of the suite tests that Evince can rotate the content.
sub rotate_content {
# Open the application menu
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
# Click with the *left* button (needle click area might need some correction)
assert_and_click("evince_menu_rotate", button => "left", timeout => 30);
}
sub run {
my $self = shift;
# Rotate the content once.
rotate_content();
# Check that the window content has been rotated.
assert_screen("evince_content_rotated_once", timeout => 30);
# Rotate the content again.
rotate_content();
# Check that the window content has been rotated.
assert_screen("evince_content_rotated_twice", timeout => 30);
}
sub test_flags {
return {always_rollback => 1};
}
1;