diff --git a/needles/browser/fas_home.json b/needles/browser/fas_home.json new file mode 100644 index 00000000..6018617d --- /dev/null +++ b/needles/browser/fas_home.json @@ -0,0 +1,15 @@ +{ + "tags": [ + "browser_fas_home" + ], + "area": [ + { + "xpos": 207, + "ypos": 299, + "width": 295, + "height": 13, + "type": "match" + } + ], + "properties": [] +} \ No newline at end of file diff --git a/needles/browser/fas_home.png b/needles/browser/fas_home.png new file mode 100644 index 00000000..ceb1e474 Binary files /dev/null and b/needles/browser/fas_home.png differ diff --git a/needles/browser/kernelorg_patch.json b/needles/browser/kernelorg_patch.json new file mode 100644 index 00000000..5de186c1 --- /dev/null +++ b/needles/browser/kernelorg_patch.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "area": [ + { + "xpos": 506, + "ypos": 527, + "width": 55, + "height": 18, + "type": "match" + } + ], + "tags": [ + "browser_kernelorg_patch" + ] +} \ No newline at end of file diff --git a/needles/browser/kernelorg_patch.png b/needles/browser/kernelorg_patch.png new file mode 100644 index 00000000..00ed6991 Binary files /dev/null and b/needles/browser/kernelorg_patch.png differ diff --git a/needles/firefox/addon_add.json b/needles/firefox/addon_add.json new file mode 100644 index 00000000..7983be34 --- /dev/null +++ b/needles/firefox/addon_add.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "area": [ + { + "xpos": 141, + "ypos": 468, + "width": 19, + "height": 18, + "type": "match" + } + ], + "tags": [ + "firefox_addon_add" + ] +} \ No newline at end of file diff --git a/needles/firefox/addon_add.png b/needles/firefox/addon_add.png new file mode 100644 index 00000000..cad3603c Binary files /dev/null and b/needles/firefox/addon_add.png differ diff --git a/needles/firefox/addon_install-kde.json b/needles/firefox/addon_install-kde.json new file mode 100644 index 00000000..5f9a4be7 --- /dev/null +++ b/needles/firefox/addon_install-kde.json @@ -0,0 +1,22 @@ +{ + "tags": [ + "firefox_addon_install" + ], + "properties": [], + "area": [ + { + "xpos": 46, + "ypos": 103, + "width": 60, + "height": 62, + "type": "match" + }, + { + "xpos": 425, + "ypos": 221, + "width": 38, + "height": 11, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/firefox/addon_install-kde.png b/needles/firefox/addon_install-kde.png new file mode 100644 index 00000000..381dee9d Binary files /dev/null and b/needles/firefox/addon_install-kde.png differ diff --git a/needles/firefox/addon_install.json b/needles/firefox/addon_install.json new file mode 100644 index 00000000..55af9183 --- /dev/null +++ b/needles/firefox/addon_install.json @@ -0,0 +1,22 @@ +{ + "tags": [ + "firefox_addon_install" + ], + "properties": [], + "area": [ + { + "xpos": 43, + "ypos": 143, + "width": 64, + "height": 63, + "type": "match" + }, + { + "xpos": 456, + "ypos": 280, + "width": 43, + "height": 14, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/firefox/addon_install.png b/needles/firefox/addon_install.png new file mode 100644 index 00000000..5e649711 Binary files /dev/null and b/needles/firefox/addon_install.png differ diff --git a/needles/firefox/addon_success.json b/needles/firefox/addon_success.json new file mode 100644 index 00000000..e70eb9ad --- /dev/null +++ b/needles/firefox/addon_success.json @@ -0,0 +1,22 @@ +{ + "tags": [ + "firefox_addon_success" + ], + "area": [ + { + "xpos": 45, + "ypos": 143, + "width": 63, + "height": 63, + "type": "match" + }, + { + "xpos": 949, + "ypos": 105, + "width": 20, + "height": 19, + "type": "match" + } + ], + "properties": [] +} \ No newline at end of file diff --git a/needles/firefox/addon_success.png b/needles/firefox/addon_success.png new file mode 100644 index 00000000..3846ea4f Binary files /dev/null and b/needles/firefox/addon_success.png differ diff --git a/needles/firefox/download_complete.json b/needles/firefox/download_complete.json new file mode 100644 index 00000000..d6f2ac79 --- /dev/null +++ b/needles/firefox/download_complete.json @@ -0,0 +1,16 @@ +{ + "tags": [ + "browser_download_complete", + "firefox_download_complete" + ], + "properties": [], + "area": [ + { + "xpos": 829, + "ypos": 102, + "width": 34, + "height": 26, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/firefox/download_complete.png b/needles/firefox/download_complete.png new file mode 100644 index 00000000..dadec8b4 Binary files /dev/null and b/needles/firefox/download_complete.png differ diff --git a/needles/firefox/download_save-kde.json b/needles/firefox/download_save-kde.json new file mode 100644 index 00000000..87cf3ad2 --- /dev/null +++ b/needles/firefox/download_save-kde.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 351, + "ypos": 385, + "width": 60, + "height": 13, + "type": "match" + } + ], + "properties": [], + "tags": [ + "browser_download_save" + ] +} \ No newline at end of file diff --git a/needles/firefox/download_save-kde.png b/needles/firefox/download_save-kde.png new file mode 100644 index 00000000..da9bb86e Binary files /dev/null and b/needles/firefox/download_save-kde.png differ diff --git a/needles/firefox/download_save.json b/needles/firefox/download_save.json new file mode 100644 index 00000000..3958cd54 --- /dev/null +++ b/needles/firefox/download_save.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "xpos": 324, + "ypos": 427, + "width": 59, + "height": 14, + "type": "match" + } + ], + "properties": [], + "tags": [ + "browser_download_save", + "firefox_download_save" + ] +} \ No newline at end of file diff --git a/needles/firefox/download_save.png b/needles/firefox/download_save.png new file mode 100644 index 00000000..6ab5a870 Binary files /dev/null and b/needles/firefox/download_save.png differ diff --git a/needles/firefox/firefox.json b/needles/firefox/firefox.json index 16321104..3d0f1e5f 100644 --- a/needles/firefox/firefox.json +++ b/needles/firefox/firefox.json @@ -17,6 +17,7 @@ } ], "tags": [ - "firefox" + "firefox", + "browser" ] -} \ No newline at end of file +} diff --git a/needles/firefox/launcher-gnome.json b/needles/firefox/launcher-gnome.json new file mode 100644 index 00000000..a43c250e --- /dev/null +++ b/needles/firefox/launcher-gnome.json @@ -0,0 +1,17 @@ +{ + "tags": [ + "DESKTOP-gnome", + "browser_launcher", + "firefox_launcher" + ], + "properties": [], + "area": [ + { + "xpos": 18, + "ypos": 136, + "width": 59, + "height": 57, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/firefox/launcher-gnome.png b/needles/firefox/launcher-gnome.png new file mode 100644 index 00000000..7941db49 Binary files /dev/null and b/needles/firefox/launcher-gnome.png differ diff --git a/needles/firefox/launcher-kde.json b/needles/firefox/launcher-kde.json new file mode 100644 index 00000000..f9fb9f01 --- /dev/null +++ b/needles/firefox/launcher-kde.json @@ -0,0 +1,16 @@ +{ + "tags": [ + "browser_launcher", + "firefox_launcher" + ], + "properties": [], + "area": [ + { + "xpos": 39, + "ypos": 271, + "width": 31, + "height": 31, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/firefox/launcher-kde.png b/needles/firefox/launcher-kde.png new file mode 100644 index 00000000..ab600bd0 Binary files /dev/null and b/needles/firefox/launcher-kde.png differ diff --git a/templates b/templates index fd93cc7c..e185b707 100755 --- a/templates +++ b/templates @@ -292,6 +292,28 @@ }, test_suite => { name => "desktop_terminal" }, }, + { + machine => { name => "64bit" }, + prio => 30, + product => { + arch => "x86_64", + distri => "fedora", + flavor => "Workstation-live-iso", + version => "*", + }, + test_suite => { name => "desktop_browser" }, + }, + { + machine => { name => "64bit" }, + prio => 32, + product => { + arch => "x86_64", + distri => "fedora", + flavor => "KDE-live-iso", + version => "*", + }, + test_suite => { name => "desktop_browser" }, + }, { machine => { name => "64bit" }, prio => 30, @@ -1934,6 +1956,15 @@ { key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" }, ], }, + { + name => "desktop_browser", + settings => [ + { key => "POSTINSTALL", value => "desktop_browser" }, + { key => "START_AFTER_TEST", value => "install_default_upload" }, + { key => "BOOTFROM", value => "c" }, + { key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" }, + ], + }, { name => "install_kickstart_nfs", settings => [ diff --git a/tests/desktop_browser_postinstall.pm b/tests/desktop_browser_postinstall.pm new file mode 100644 index 00000000..fc436551 --- /dev/null +++ b/tests/desktop_browser_postinstall.pm @@ -0,0 +1,57 @@ +use base "installedtest"; +use strict; +use testapi; + +sub run { + my $self = shift; + assert_screen 'graphical_desktop_clean'; + send_key 'alt-f1'; + # wait out animations + wait_still_screen 2; + assert_and_click 'browser_launcher'; + assert_screen 'browser'; + # open a new tab so we don't race with the default page load + # (also focuses the location bar for us) + send_key 'ctrl-t'; + wait_still_screen 2; + # check FAS + type_string "https://admin.fedoraproject.org/accounts/\n"; + assert_screen "browser_fas_home"; + send_key 'ctrl-t'; + wait_still_screen 2; + type_string "https://kernel.org\n"; + assert_and_click "browser_kernelorg_patch"; + assert_and_click "browser_download_save"; + send_key 'ret'; + # browsers do...something...when the download completes, and we + # expect there's a single click to make it go away and return + # browser to a state where ctrl-t will work + assert_and_click "browser_download_complete"; + # we'll check it actually downloaded later + # add-on test: at present all desktops we test (KDE, GNOME) are + # using Firefox by default so we do this unconditionally, but we + # may need to conditionalize it if we ever test desktops whose + # default browser doesn't support add-ons or uses different ones + send_key 'ctrl-t'; + wait_still_screen 2; + type_string "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/\n"; + assert_and_click "firefox_addon_add"; + assert_and_click "firefox_addon_install"; + assert_and_click "firefox_addon_success"; + # go to a console and check download worked + $self->root_console(tty=>3); + my $user = get_var("USER_LOGIN", "test"); + assert_script_run "test -e /home/$user/Downloads/patch-*.xz"; +} + +sub test_flags { + # without anything - rollback to 'lastgood' snapshot if failed + # 'fatal' - whole test suite is in danger if this fails + # 'milestone' - after this test succeeds, update 'lastgood' + # 'important' - if this fails, set the overall state to 'fail' + return { fatal => 1 }; +} + +1; + +# vim: set sw=4 et: