If 'Test category' if on the second page the test will fail to
locate the Edit button.
To make sure it is displayed on the screen we are selecting "All" in the
dropdown list.
This is done a couple of lines later in the script for the same purpose.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 6f45fd4574)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Test plan, on k-t-d selenium (ktd --selenium up):
1) Apply just this tests patch
2) Run: prove t/db_dependent/selenium/administration_tasks.t
3) Notice it fails. Apply the other patch. Restart plack
4) Repeat step 2. Notice it passes.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Cannot wait more for element '//input[@type="submit"]' to be visible at /kohadevbox/koha/t/lib/Selenium.pm line 189.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Some selenium tests are not correctly written and they fail is
Selenium::Remote::Driver is missing.
Test plan:
1. Remove the lib rm `pmpath Selenium::Remote::Driver`
2. prove t/db_dependent/selenium/
should return green
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Recreated the problem after run #47
Error while executing command: no such element: Unable to locate element: //*[@id="userid"] at /usr/local/share/perl/5.28.1/Selenium/Remote/Driver.pm line 411.
With this patch I do not longer recreate the failure. It's ugly but,
well, I don't have any other solutions. It seems that the accept_alert
is taking too long and is async (??)
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Since bug 19185, and Koha_Master running the tests after t/db_dependent/selenium/01-installation.t is ran, t/db_dependent/selenium/administration_tasks.t is failing randomly with:
12:32:59 koha_1 | STRACE: /usr/share/perl5/Try/Tiny.pm:123 in Selenium::Remote::Driver::catch {...}
12:32:59 koha_1 | /usr/local/share/perl/5.28.1/Selenium/Remote/Driver.pm:361 in Try::Tiny::try
12:32:59 koha_1 | (eval 1710):1 in Selenium::Remote::Driver::__ANON__
12:32:59 koha_1 | (eval 1712):2 in Selenium::Remote::Driver::__ANON__
12:32:59 koha_1 | /usr/local/share/perl/5.28.1/Selenium/Remote/Driver.pm:1340 in Selenium::Remote::Driver::_execute_command
12:32:59 koha_1 | /usr/local/share/perl/5.28.1/Selenium/Remote/Driver.pm:1340 in (eval)
12:32:59 koha_1 | /kohadevbox/koha/t/lib/Selenium.pm:170 in Selenium::Remote::Driver::find_element
12:32:59 koha_1 | t/db_dependent/selenium/administration_tasks.t:188 in t::lib::Selenium::click
I don't recreate it locally.
The screenshot of the failure shows that the screen is still on the authorised value list view.
This does not make a lot of sense, but I am failing to find a logic
here.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
.pm must not have -x
.t must have -x
.pl must have -x
Test plan:
Apply only the first patch, run the tests and confirm that the failures
make sense
Apply this patch and confirm that the test now returns green
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
The previous patch did not work as expected. We still got a
StaleElementReference exception.
But this time on
10:43:47 selenium_1 | Caused by: org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//*[@id=\"branchname\"]"}
Because we found the one that existed on the page, not the one sent back
in AJAX.
The idea of this patch is to search for the "Showing 1 to X of Y entries" info and wait for X == Y
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
We have it failing now for the delete link..
14:26:50 selenium_1 | 05:26:50.451 WARN - Exception: Unable to locate element: {"method":"xpath","selector":"//*[@id=\"delete_library_UT_BC\"]"}
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Same as for categories.
22:41:28 koha_1 | STRACE: /usr/share/perl5/Try/Tiny.pm:104 in Selenium::Remote::Driver::catch {...}
22:41:28 koha_1 | /usr/local/share/perl/5.20.2/Selenium/Remote/Driver.pm:353 in Try::Tiny::try
22:41:28 koha_1 | (eval 1337):1 in Selenium::Remote::Driver::__ANON__
22:41:28 koha_1 | (eval 1339):2 in Selenium::Remote::Driver::__ANON__
22:41:28 koha_1 | /usr/local/share/perl/5.20.2/Selenium/Remote/Driver.pm:1330 in Selenium::Remote::Driver::_execute_command
22:41:28 koha_1 | /usr/local/share/perl/5.20.2/Selenium/Remote/Driver.pm:1330 in (eval)
22:41:28 koha_1 | /kohadevbox/koha/t/lib/Selenium.pm:174 in Selenium::Remote::Driver::find_element
22:41:28 koha_1 | /kohadevbox/koha/t/lib/Selenium.pm:166 in t::lib::Selenium::click_when_visible
22:41:28 koha_1 | t/db_dependent/selenium/administration_tasks.t:128 in t::lib::Selenium::click
22:41:28 koha_1 |
22:41:28 selenium_1 | 14:41:28.273 INFO - Executing: [take screenshot])
22:41:28 selenium_1 | 14:41:28.873 INFO - Done: [take screenshot]
22:41:31 koha_1 |
22:41:31 koha_1 | SCREENSHOT: https://framapic.org/0nvX5dhLHpU1/tAEnENSeLRXB
22:41:31 koha_1 | An element could not be located on the page using the given search parameters: //div[@class="main container-fluid"]//a[contains(@href, "/admin/branches.pl?op=add_form&branchcode=UT_BC")],xpath at /kohadevbox/koha/t/lib/Selenium.pm line 174.
The screenshot was obvious, the UT_BC was not on the first page.
There was a total of 33 libraries at this point, which is not expected,
maybe data not deleted from previous selenium tests.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To make sure we are going to be able to click on the "Delete" button of
our newly created category PATRON_CAT, we are displaying them all.
Test plan:
Create several patron categories that will fill the first page:
use t::lib::TestBuilder;
my $builder = t::lib::TestBuilder->new;
for my $i ( 1..20 ) {
$builder->build_object({ class => 'Koha::Patron::Categories', value => { description => "cat_$i" } });
}
Execute the selenium tests.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
To test:
1 - Go to Admin->Circulation and fines rules
2 - Set All/All rules ot have a limit for Current checkouts allowed (and onsite checkouts allowed)
3 - Select an itemtype to add a new rule
4 - Save without entering any values
5 - Note that new rule displays with the same numebr as the all/all rule
6 - Check the DB, not no lines were added to circulation_rules table
7 - Delete the rule from the staff client
8 - Apply patch
9 - Repeat, note the new rule is unlimited
10 - Run selenium tests
11 - They pass!
12 - Check no rules/itemtypes are added to your system by the tests
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
To test:
1 - Setup and run selenium server as outlined here:
https://wiki.koha-community.org/wiki/Using_Selenium_with_Koha
2 - sudo koha-shell kohadev
3 - prove -v t/db_dependent/selenium/administration_tasks.t
4 - All should be green
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
All good!
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Element id=doc does not longer exist on the admin home page
The "main block" need to be localized using the new class 'main
container-fluid'
We will certainly need to improve this later.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
The tricky part here was to find an alternative for ends-with in Xpath
version 1
Indeed there are 2 button with
"/admin/authorised_values.pl?op=add_form", and the first one was picked
(/admin/authorised_values.pl?op=add_form&category=Asort1)
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>