Create a test suite for Evince.
This PR fixes issue #188. 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.
@ -74,7 +74,8 @@ it also means that `B` conflicts `A` even if not shown in the table).
|
||||
| `USER_PASSWORD` | string | not set | should be used with `USER_LOGIN` | when set, user password is set to this value. If not set, default value `weakpassword` is used for console installs, no login is done for graphical installs |
|
||||
| `TEST_UPDATES` | boolean | `false`/not set | set to indicate that this test checks updates.img loading, so we should check for the expected effect of the updates image used for this testing |
|
||||
| `PREINSTALL` | string | not set | nothing | If set, specified module will be loaded before reboot and install; module supposed to be starting as rescue mode |
|
||||
| `POSTINSTALL` | string | not set | nothing | If set, `tests/(value)_postinstall.pm` will be loaded after install, boot, login, and other postinstall tests
|
||||
| `POSTINSTALL` | string | not set | `POSTINSTALL_PATH` | If set, `tests/(value)_postinstall.pm` will be loaded after install, boot, login, and other postinstall tests
|
||||
| `POSTINSTALL_PATH` | boolean | not set | `POSTINSTALL` | If set, `all tests on `TESTPATH` location will be loaded as postinstall tests after install, boot, login, and other postinstall tests |
|
||||
| `UEFI` | boolean | `false`/not set | nothing | whether to use UEFI, this variable isn't usually set in test suites but in machine definition |
|
||||
| `ANACONDA_TEXT` | boolean | `false`/not set | all | when specified, anaconda will run in text mode |
|
||||
| `HELPCHECK` | boolean | `false`/not set | all | when specified, Anaconda Help will be called on each available pane. |
|
||||
@ -85,6 +86,7 @@ it also means that `B` conflicts `A` even if not shown in the table).
|
||||
| `BUGZILLA_LOGIN` | string | not set | used with `_SECRET_BUGZILLA_PASSWORD` | This is used to store a login string which does not get exposed in log files. |
|
||||
| `_SECRET_BUGZILLA_PASSWORD` | string | not set | used with `BUGZILLA_LOGIN` | This is used to store a password string which does not get exposed in log files. |
|
||||
| `_SECRET_BUGZILLA_APIKEY` | string | not set | used with other secrets | This is used to store an API key which does not get exposed in log files. |
|
||||
| `TESTPATH` | string | not set | can be used to set path for postinstall tests, if they are placed in subdirectories
|
||||
|
||||
Run variables
|
||||
-------------
|
||||
|
22
main.pm
@ -323,13 +323,33 @@ sub load_postinstall_tests() {
|
||||
autotest::loadtest "tests/_console_avc_crash.pm";
|
||||
}
|
||||
|
||||
# generic post-install test load
|
||||
# generic post-install test will load if POSTINSTALL or POSTINSTALL_PATH
|
||||
# are set. If POSTINSTALL is set, then only tests provided in that list will
|
||||
# be run, with POSTINSTALL_PATH all tests on that path will be run without any
|
||||
# possibility to limit them.
|
||||
# These variables are mutually exclusive.
|
||||
# If POSTINSTALL is set, it means that we want to run selected tests,
|
||||
# specified in the POSTINSTALL variable.
|
||||
if (get_var("POSTINSTALL")) {
|
||||
my @pis = split(/ /, get_var("POSTINSTALL"));
|
||||
# For each test in POSTINSTALL, load the test
|
||||
foreach my $pi (@pis) {
|
||||
autotest::loadtest "tests/${pi}.pm";
|
||||
}
|
||||
}
|
||||
# If POSTINSTALL_PATH is set, we will load all available test files from that location
|
||||
# as postinstall tests.
|
||||
elsif (get_var("POSTINSTALL_PATH")) {
|
||||
my $casedir = get_var("CASEDIR");
|
||||
my $path = get_var("POSTINSTALL_PATH");
|
||||
# Read the list of files on that path,
|
||||
my @pis = glob "${casedir}/${path}/*.pm";
|
||||
# and load each of them.
|
||||
foreach my $pi (@pis) {
|
||||
$pi = basename($pi);
|
||||
autotest::loadtest "$path/$pi";
|
||||
}
|
||||
}
|
||||
|
||||
# load the ADVISORY / KOJITASK post-install test - this records which
|
||||
# update or task packages were actually installed during the test. Don't
|
||||
|
15
needles/gnome/apps/evince/evince_about_credits.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 546,
|
||||
"ypos": 224,
|
||||
"width": 53,
|
||||
"height": 21,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_about_credits"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_about_credits.png
Normal file
After Width: | Height: | Size: 63 KiB |
15
needles/gnome/apps/evince/evince_about_shown.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_about_shown"
|
||||
],
|
||||
"area": [
|
||||
{
|
||||
"xpos": 445,
|
||||
"ypos": 286,
|
||||
"width": 133,
|
||||
"height": 146,
|
||||
"type": "match"
|
||||
}
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_about_shown.png
Normal file
After Width: | Height: | Size: 63 KiB |
15
needles/gnome/apps/evince/evince_add_annotation.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 150,
|
||||
"ypos": 43,
|
||||
"width": 25,
|
||||
"height": 26,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_add_annotation"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_add_annotation.png
Normal file
After Width: | Height: | Size: 105 KiB |
15
needles/gnome/apps/evince/evince_add_annotation_text.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 18,
|
||||
"ypos": 90,
|
||||
"width": 67,
|
||||
"height": 19,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_add_annotation_text"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_add_annotation_text.png
Normal file
After Width: | Height: | Size: 97 KiB |
15
needles/gnome/apps/evince/evince_annotation_added.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"ypos": 607,
|
||||
"type": "match",
|
||||
"height": 22,
|
||||
"width": 40,
|
||||
"xpos": 372
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_annotation_added"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_annotation_added.png
Normal file
After Width: | Height: | Size: 82 KiB |
15
needles/gnome/apps/evince/evince_annotation_placed.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"ypos": 600,
|
||||
"type": "match",
|
||||
"height": 32,
|
||||
"width": 30,
|
||||
"xpos": 373
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_annotation_placed"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_annotation_placed.png
Normal file
After Width: | Height: | Size: 88 KiB |
15
needles/gnome/apps/evince/evince_annotation_removed.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"ypos": 584,
|
||||
"type": "match",
|
||||
"height": 45,
|
||||
"xpos": 345,
|
||||
"width": 161
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_annotation_removed"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_annotation_removed.png
Normal file
After Width: | Height: | Size: 87 KiB |
15
needles/gnome/apps/evince/evince_change_zoom.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"ypos": 43,
|
||||
"xpos": 860,
|
||||
"height": 27,
|
||||
"width": 23,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_change_zoom"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_change_zoom.png
Normal file
After Width: | Height: | Size: 95 KiB |
15
needles/gnome/apps/evince/evince_close_annotation.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 626,
|
||||
"ypos": 578,
|
||||
"width": 24,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_close_annotation"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_close_annotation.png
Normal file
After Width: | Height: | Size: 88 KiB |
15
needles/gnome/apps/evince/evince_content_rotated_once.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 819,
|
||||
"ypos": 259,
|
||||
"width": 27,
|
||||
"height": 70,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_content_rotated_once"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_content_rotated_once.png
Normal file
After Width: | Height: | Size: 134 KiB |
15
needles/gnome/apps/evince/evince_credits_shown.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 423,
|
||||
"ypos": 411,
|
||||
"width": 73,
|
||||
"height": 56,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_credits_shown"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_credits_shown.png
Normal file
After Width: | Height: | Size: 61 KiB |
15
needles/gnome/apps/evince/evince_document_zoom_200.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 630,
|
||||
"ypos": 550,
|
||||
"width": 349,
|
||||
"height": 56,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_document_zoom_200"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_document_zoom_200.png
Normal file
After Width: | Height: | Size: 44 KiB |
22
needles/gnome/apps/evince/evince_dual_mode.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_dual_mode"
|
||||
],
|
||||
"area": [
|
||||
{
|
||||
"xpos": 322,
|
||||
"ypos": 383,
|
||||
"width": 88,
|
||||
"height": 16,
|
||||
"type": "match"
|
||||
},
|
||||
{
|
||||
"xpos": 703,
|
||||
"ypos": 428,
|
||||
"width": 99,
|
||||
"height": 16,
|
||||
"type": "match"
|
||||
}
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_dual_mode.png
Normal file
After Width: | Height: | Size: 99 KiB |
15
needles/gnome/apps/evince/evince_file_opened.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 411,
|
||||
"ypos": 317,
|
||||
"width": 338,
|
||||
"height": 34,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_file_opened"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_file_opened.png
Normal file
After Width: | Height: | Size: 96 KiB |
15
needles/gnome/apps/evince/evince_file_select_pdf.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 187,
|
||||
"ypos": 155,
|
||||
"width": 76,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_file_select_pdf"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_file_select_pdf.png
Normal file
After Width: | Height: | Size: 36 KiB |
15
needles/gnome/apps/evince/evince_help_shown.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 68,
|
||||
"ypos": 109,
|
||||
"width": 371,
|
||||
"height": 42,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_help_shown"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_help_shown.png
Normal file
After Width: | Height: | Size: 55 KiB |
15
needles/gnome/apps/evince/evince_menu_about.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 783,
|
||||
"ypos": 596,
|
||||
"width": 163,
|
||||
"height": 23,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_menu_about"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_menu_about.png
Normal file
After Width: | Height: | Size: 64 KiB |
15
needles/gnome/apps/evince/evince_menu_dual.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 785,
|
||||
"ypos": 335,
|
||||
"width": 40,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_menu_dual"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_menu_dual.png
Normal file
After Width: | Height: | Size: 109 KiB |
15
needles/gnome/apps/evince/evince_menu_help.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 783,
|
||||
"ypos": 571,
|
||||
"width": 40,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_menu_help"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_menu_help.png
Normal file
After Width: | Height: | Size: 64 KiB |
15
needles/gnome/apps/evince/evince_menu_properties.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 784,
|
||||
"ypos": 486,
|
||||
"width": 73,
|
||||
"height": 22,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_menu_properties"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_menu_properties.png
Normal file
After Width: | Height: | Size: 117 KiB |
15
needles/gnome/apps/evince/evince_menu_rotate.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 784,
|
||||
"ypos": 421,
|
||||
"width": 61,
|
||||
"height": 18,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_menu_rotate"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_menu_rotate.png
Normal file
After Width: | Height: | Size: 117 KiB |
15
needles/gnome/apps/evince/evince_menu_saveas.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 784,
|
||||
"ypos": 243,
|
||||
"width": 68,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_menu_saveas"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_menu_saveas.png
Normal file
After Width: | Height: | Size: 117 KiB |
15
needles/gnome/apps/evince/evince_menu_shortcuts.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 784,
|
||||
"ypos": 544,
|
||||
"width": 132,
|
||||
"height": 21,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_menu_shortcuts"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_menu_shortcuts.png
Normal file
After Width: | Height: | Size: 117 KiB |
15
needles/gnome/apps/evince/evince_night_mode.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_night_mode"
|
||||
],
|
||||
"area": [
|
||||
{
|
||||
"xpos": 430,
|
||||
"ypos": 315,
|
||||
"width": 332,
|
||||
"height": 35,
|
||||
"type": "match"
|
||||
}
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_night_mode.png
Normal file
After Width: | Height: | Size: 97 KiB |
15
needles/gnome/apps/evince/evince_open_file_dialog.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 397,
|
||||
"ypos": 91,
|
||||
"width": 55,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_open_file_dialog"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_open_file_dialog.png
Normal file
After Width: | Height: | Size: 152 KiB |
15
needles/gnome/apps/evince/evince_properties_shown.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_properties_shown"
|
||||
],
|
||||
"area": [
|
||||
{
|
||||
"xpos": 396,
|
||||
"ypos": 349,
|
||||
"width": 110,
|
||||
"height": 44,
|
||||
"type": "match"
|
||||
}
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_properties_shown.png
Normal file
After Width: | Height: | Size: 101 KiB |
15
needles/gnome/apps/evince/evince_remove_annotation.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_remove_annotation"
|
||||
],
|
||||
"area": [
|
||||
{
|
||||
"xpos": 414,
|
||||
"ypos": 543,
|
||||
"width": 131,
|
||||
"height": 18,
|
||||
"type": "match"
|
||||
}
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_remove_annotation.png
Normal file
After Width: | Height: | Size: 101 KiB |
15
needles/gnome/apps/evince/evince_search_button.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 897,
|
||||
"ypos": 42,
|
||||
"width": 31,
|
||||
"height": 28,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_search_button"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_search_button.png
Normal file
After Width: | Height: | Size: 99 KiB |
15
needles/gnome/apps/evince/evince_search_found.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 638,
|
||||
"ypos": 540,
|
||||
"width": 38,
|
||||
"height": 14,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_search_found"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_search_found.png
Normal file
After Width: | Height: | Size: 72 KiB |
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"ypos": 585,
|
||||
"type": "match",
|
||||
"height": 30,
|
||||
"width": 43,
|
||||
"xpos": 352
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_select_annotation_place"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_select_annotation_place.png
Normal file
After Width: | Height: | Size: 87 KiB |
15
needles/gnome/apps/evince/evince_select_zoom_200.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 822,
|
||||
"ypos": 358,
|
||||
"width": 44,
|
||||
"height": 21,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_select_zoom_200"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_select_zoom_200.png
Normal file
After Width: | Height: | Size: 110 KiB |
15
needles/gnome/apps/evince/evince_select_zoom_fitwidth.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 821,
|
||||
"ypos": 118,
|
||||
"width": 65,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_select_zoom_fitwidth"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_select_zoom_fitwidth.png
Normal file
After Width: | Height: | Size: 108 KiB |
15
needles/gnome/apps/evince/evince_shortcuts_second.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 495,
|
||||
"ypos": 702,
|
||||
"width": 36,
|
||||
"height": 33,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_shortcuts_second"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_shortcuts_second.png
Normal file
After Width: | Height: | Size: 59 KiB |
15
needles/gnome/apps/evince/evince_shortcuts_second_shown.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_shortcuts_second_shown"
|
||||
],
|
||||
"area": [
|
||||
{
|
||||
"xpos": 510,
|
||||
"ypos": 111,
|
||||
"width": 206,
|
||||
"height": 25,
|
||||
"type": "match"
|
||||
}
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_shortcuts_second_shown.png
Normal file
After Width: | Height: | Size: 71 KiB |
15
needles/gnome/apps/evince/evince_shortcuts_shown.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_shortcuts_shown"
|
||||
],
|
||||
"area": [
|
||||
{
|
||||
"xpos": 450,
|
||||
"ypos": 114,
|
||||
"width": 183,
|
||||
"height": 21,
|
||||
"type": "match"
|
||||
}
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_shortcuts_shown.png
Normal file
After Width: | Height: | Size: 60 KiB |
15
needles/gnome/apps/evince/evince_shortcuts_third.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 541,
|
||||
"ypos": 700,
|
||||
"width": 36,
|
||||
"height": 36,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_shortcuts_third"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_shortcuts_third.png
Normal file
After Width: | Height: | Size: 71 KiB |
15
needles/gnome/apps/evince/evince_shortcuts_third_shown.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 570,
|
||||
"ypos": 114,
|
||||
"width": 141,
|
||||
"height": 22,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_shortcuts_third_shown"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_shortcuts_third_shown.png
Normal file
After Width: | Height: | Size: 50 KiB |
15
needles/gnome/apps/evince/evince_toggle_night_mode.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 781,
|
||||
"ypos": 450,
|
||||
"width": 88,
|
||||
"height": 25,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_toggle_night_mode"
|
||||
]
|
||||
}
|
BIN
needles/gnome/apps/evince/evince_toggle_night_mode.png
Normal file
After Width: | Height: | Size: 115 KiB |
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 675,
|
||||
"ypos": 703,
|
||||
"width": 186,
|
||||
"height": 31,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"evince_content_rotated_twice"
|
||||
]
|
||||
}
|
After Width: | Height: | Size: 128 KiB |
15
needles/gnome/gnome_burger_menu.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 941,
|
||||
"ypos": 46,
|
||||
"width": 26,
|
||||
"height": 21,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"gnome_burger_menu"
|
||||
]
|
||||
}
|
BIN
needles/gnome/gnome_burger_menu.png
Normal file
After Width: | Height: | Size: 96 KiB |
15
needles/gnome/gnome_button_open.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 959,
|
||||
"ypos": 48,
|
||||
"width": 42,
|
||||
"height": 19,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"gnome_button_open"
|
||||
]
|
||||
}
|
BIN
needles/gnome/gnome_button_open.png
Normal file
After Width: | Height: | Size: 48 KiB |
15
needles/gnome/gnome_button_save_blue.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"gnome_button_save_blue"
|
||||
],
|
||||
"area": [
|
||||
{
|
||||
"xpos": 959,
|
||||
"ypos": 46,
|
||||
"width": 40,
|
||||
"height": 20,
|
||||
"type": "match"
|
||||
}
|
||||
]
|
||||
}
|
BIN
needles/gnome/gnome_button_save_blue.png
Normal file
After Width: | Height: | Size: 40 KiB |
@ -951,6 +951,21 @@
|
||||
"START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%"
|
||||
}
|
||||
},
|
||||
"evince": {
|
||||
"profiles": {
|
||||
"fedora-Silverblue-dvd_ostree-iso-ppc64le-*-ppc64le": 50,
|
||||
"fedora-Silverblue-dvd_ostree-iso-x86_64-*-64bit": 50,
|
||||
"fedora-Workstation-live-iso-ppc64le-*-ppc64le": 20,
|
||||
"fedora-Workstation-live-iso-x86_64-*-64bit": 20,
|
||||
"fedora-Workstation-raw_xz-raw.xz-aarch64-*-aarch64": 22
|
||||
},
|
||||
"settings": {
|
||||
"BOOTFROM": "c",
|
||||
"HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2",
|
||||
"POSTINSTALL_PATH": "tests/applications/evince",
|
||||
"START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%"
|
||||
}
|
||||
},
|
||||
"desktop_update_graphical": {
|
||||
"profiles": {
|
||||
"fedora-KDE-live-iso-x86_64-*-64bit": 32,
|
||||
|
68
tests/applications/evince/aaa_setup.pm
Normal file
@ -0,0 +1,68 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This script will download the test data for evince, start the application,
|
||||
# and set a milestone as a starting point for the other Evince tests.
|
||||
#
|
||||
|
||||
sub check_and_install_git {
|
||||
# Let's see if Git is installed and install it, if it isn't.
|
||||
if (script_run("rpm -q git")) {
|
||||
assert_script_run("dnf install -y git");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub download_testdata {
|
||||
# Navigate to the test's home directory
|
||||
assert_script_run("cd /home/test/");
|
||||
# Clone the test repository
|
||||
assert_script_run("git clone https://pagure.io/fedora-qa/openqa_testdata.git");
|
||||
# Change ownership and attributes
|
||||
assert_script_run("chown -R test:test openqa_testdata");
|
||||
# Move the test file into a correct location.
|
||||
assert_script_run("cp openqa_testdata/evince/evince.pdf Documents")
|
||||
}
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
# Switch to console
|
||||
$self->root_console(tty=>3);
|
||||
# Perform git test
|
||||
check_and_install_git();
|
||||
# Download the test data
|
||||
download_testdata();
|
||||
# Exit the terminal
|
||||
desktop_vt;
|
||||
|
||||
# Start the application
|
||||
menu_launch_type("evince");
|
||||
# Check that is started
|
||||
assert_screen 'apps_run_dviewer';
|
||||
|
||||
# Open the test file to create a starting point for the other Evince tests.
|
||||
# Click on Open button to open the File Open Dialog
|
||||
assert_and_click("evince_open_file_dialog", button => "left", timeout => 30);
|
||||
|
||||
# Select the evince.pdf file.
|
||||
assert_and_click("evince_file_select_pdf", button => "left", timeout => 30);
|
||||
|
||||
# Click the Open button to open the file
|
||||
assert_and_click("gnome_button_open", button => "left", timeout => 30);
|
||||
|
||||
# Fullsize the Evince window.
|
||||
send_key("super-up");
|
||||
|
||||
# Check that the file has been successfully opened.
|
||||
assert_screen("evince_file_opened");
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
return {fatal => 1, milestone => 1};
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
# vim: set sw=4 et:
|
34
tests/applications/evince/about.pm
Normal file
@ -0,0 +1,34 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests if About works.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Open the menu by clicking on the Burger icon
|
||||
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
|
||||
wait_still_screen 2;
|
||||
|
||||
# In the menu, select the About item.
|
||||
assert_and_click("evince_menu_about", button => "left", timeout => 30);
|
||||
|
||||
# Check that the About section has been displayed.
|
||||
assert_screen("evince_about_shown");
|
||||
|
||||
# Click on Credits button to see the second part of the dialogue.
|
||||
assert_and_click("evince_about_credits", button => "left", timeout => 30);
|
||||
|
||||
# Check that Credits are accessible and visible, too.
|
||||
assert_screen("evince_credits_shown");
|
||||
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
# Rollback to the previous state to make space for other parts.
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|
48
tests/applications/evince/add_annotation.pm
Normal file
@ -0,0 +1,48 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests an annotation can be added to the displayed content.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Click on the Pencil button.
|
||||
assert_and_click("evince_add_annotation", button => "left", timeout => 30);
|
||||
|
||||
# Click on Note text.
|
||||
assert_and_click("evince_add_annotation_text", button => "left", timeout => 30);
|
||||
|
||||
# Select location to add annotation.
|
||||
assert_and_click("evince_select_annotation_place", button => "left", timeout => 30);
|
||||
|
||||
# Enter some text to the annotation.
|
||||
type_very_safely("Add note");
|
||||
|
||||
# Check that the annotation window has appeared with that text.
|
||||
assert_screen("evince_annotation_added");
|
||||
|
||||
# Close the annotation.
|
||||
assert_and_click("evince_close_annotation", button => "left", timeout => 30);
|
||||
|
||||
# Check that the annotation is still placed in the document.
|
||||
assert_screen("evince_annotation_placed");
|
||||
|
||||
# Open the annotation's context menu.
|
||||
assert_and_click("evince_annotation_placed", button => "right", timeout => 30);
|
||||
|
||||
# Remove the annotation.
|
||||
assert_and_click("evince_remove_annotation", button => "left", timeout => 30);
|
||||
|
||||
# Check that the annotation has been removed.
|
||||
assert_screen("evince_annotation_removed");
|
||||
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
# Rollback to the starting point.
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|
27
tests/applications/evince/change_zoom.pm
Normal file
@ -0,0 +1,27 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests that Evince can change the zoom of the document.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
|
||||
# Click on zoom menu to open choices.
|
||||
assert_and_click("evince_change_zoom", button => "left", timeout => 30);
|
||||
|
||||
# Select 200%.
|
||||
assert_and_click("evince_select_zoom_200", button => "left", timeout => 30);
|
||||
|
||||
# Check that the document zoom was changed.
|
||||
assert_screen("evince_document_zoom_200");
|
||||
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|
37
tests/applications/evince/dual_mode.pm
Normal file
@ -0,0 +1,37 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests that Evince is able to display content in a two-page mode.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Click on the Zoom menu to change a different zoom for next steps.
|
||||
assert_and_click("evince_change_zoom", button => "left", timeout => 30);
|
||||
|
||||
# Select the Fit Width option to be able to see the whole layout.
|
||||
assert_and_click("evince_select_zoom_fitwidth", button => "left", timeout => 30);
|
||||
|
||||
#Dismiss the dialogue
|
||||
send_key("esc");
|
||||
|
||||
# Enter the menu
|
||||
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
|
||||
|
||||
# Select the Dual mode
|
||||
assert_and_click("evince_menu_dual", button => "left", timeout => 30);
|
||||
|
||||
# Dismiss the menu
|
||||
send_key("esc");
|
||||
|
||||
# Check that the content is displayed in dual mode.
|
||||
assert_screen("evince_dual_mode", timeout => 30);
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|
27
tests/applications/evince/help.pm
Normal file
@ -0,0 +1,27 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests that Evince can display the Help pages.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Open menu with Burger icon.
|
||||
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
|
||||
wait_still_screen 2;
|
||||
|
||||
# Select the Help item in the menu.
|
||||
assert_and_click("evince_menu_help", button => "left", timeout => 30);
|
||||
wait_still_screen 2;
|
||||
|
||||
# Check that Help has been shown.
|
||||
assert_screen("evince_help_shown", timeout => 30);
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|
30
tests/applications/evince/night_mode.pm
Normal file
@ -0,0 +1,30 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests that Evince can be switched into night mode.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Click on the Menu button.
|
||||
assert_and_click("gnome_burger_menu", timeout => 30, button => "left");
|
||||
|
||||
# Click on the Night mode to select it.
|
||||
assert_and_click("evince_toggle_night_mode", button => "left", timeout => 30);
|
||||
|
||||
# The menu stays opened, so hit Esc to dismiss it.
|
||||
send_key("esc");
|
||||
wait_still_screen 2;
|
||||
|
||||
# Check that night mode has been activated.
|
||||
assert_screen("evince_night_mode", timeout => 30);
|
||||
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|
27
tests/applications/evince/properties.pm
Normal file
@ -0,0 +1,27 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests that Evince can show Document Properties.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Open the menu.
|
||||
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
|
||||
wait_still_screen 2;
|
||||
|
||||
# Select the Properties item.
|
||||
assert_and_click("evince_menu_properties", button => "left", timeout => 30);
|
||||
wait_still_screen 2;
|
||||
|
||||
# Check that Properties are shown.
|
||||
assert_screen("evince_properties_shown", timeout => 30);
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|
37
tests/applications/evince/rotate.pm
Normal file
@ -0,0 +1,37 @@
|
||||
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;
|
36
tests/applications/evince/save_as.pm
Normal file
@ -0,0 +1,36 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests tests that Evince can Save the document As another document.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Open the menu.
|
||||
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
|
||||
|
||||
# Select Save As
|
||||
assert_and_click("evince_menu_saveas", button => "left", timeout => 30);
|
||||
|
||||
# Type a new name.
|
||||
type_very_safely("alternative");
|
||||
|
||||
# Click on the Save button
|
||||
assert_and_click("gnome_button_save_blue", button => "left", timeout => 30);
|
||||
|
||||
# Now the document is saved under a different name. We will switch to the
|
||||
# terminal console to check that it has been created.
|
||||
$self->root_console(tty=>3);
|
||||
assert_script_run("ls /home/test/Documents/alternative.pdf");
|
||||
|
||||
# Now, check that the new file does not differ from the original one.
|
||||
assert_script_run("diff /home/test/Documents/evince.pdf /home/test/Documents/alternative.pdf");
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|
28
tests/applications/evince/search.pm
Normal file
@ -0,0 +1,28 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests the ability to search string in the text.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Click on the Search button to search for text
|
||||
assert_and_click("evince_search_button", button => "left", timeout => 30);
|
||||
|
||||
# Type *pages*.
|
||||
type_very_safely("pages");
|
||||
# Press Enter.
|
||||
send_key("ret");
|
||||
|
||||
# Check that the typed text has been found.
|
||||
assert_screen("evince_search_found", timeout => 30);
|
||||
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|
39
tests/applications/evince/shortcuts.pm
Normal file
@ -0,0 +1,39 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
# This part of the suite tests that Evince displays shortcuts.
|
||||
|
||||
sub run {
|
||||
my $self = shift;
|
||||
|
||||
# Open the menu
|
||||
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
|
||||
wait_still_screen 2;
|
||||
|
||||
# Select the Keyboard Shortcuts item
|
||||
assert_and_click("evince_menu_shortcuts", button => "left", timeout => 30);
|
||||
wait_still_screen 2;
|
||||
|
||||
# Check that Shortcuts has been shown
|
||||
assert_screen("evince_shortcuts_shown");
|
||||
|
||||
# Click on number 2 to arrive to the second page
|
||||
assert_and_click("evince_shortcuts_second", button => "left", timeout => 30);
|
||||
|
||||
# Check that Shortcuts 2 has been shown
|
||||
assert_screen("evince_shortcuts_second_shown");
|
||||
|
||||
# Click on number 3 to arrive to the second page
|
||||
assert_and_click("evince_shortcuts_third", button => "left", timeout => 30);
|
||||
|
||||
# Check that Shortcuts 3 has been shown
|
||||
assert_screen("evince_shortcuts_third_shown");
|
||||
}
|
||||
|
||||
sub test_flags {
|
||||
return {always_rollback => 1};
|
||||
}
|
||||
|
||||
1;
|