Bug 24801

Summary: selenium/administration_tasks.t failing if too many categories/libraries displayed
Product: Koha Reporter: Jonathan Druart <jonathan.druart>
Component: Test SuiteAssignee: Jonathan Druart <jonathan.druart>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: normal    
Priority: P5 - low CC: 1joynelson, lucas, martin.renvoize
Version: unspecified   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35556
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
20.05.00, 19.11.06
Attachments: Bug 24801: Display all the categories - Selenium fix
Bug 24801: Display all the categories - Selenium fix
Bug 24801: Display all the libraries - Selenium fix
Bug 24801: Display all the libraries - Selenium fix
Bug 24801: (follow-up) Display all the libraries - Selenium fix

Description Jonathan Druart 2020-03-04 14:53:08 UTC
t/db_dependent/selenium/administration_tasks.t .. 3/3
STRACE: /usr/share/perl5/Try/Tiny.pm:124 in Selenium::Remote::Driver::catch {...}
        /usr/local/share/perl/5.24.1/Selenium/Remote/Driver.pm:353 in Try::Tiny::try
        (eval 1543):1 in Selenium::Remote::Driver::__ANON__
        (eval 1545):2 in Selenium::Remote::Driver::__ANON__
        /usr/local/share/perl/5.24.1/Selenium/Remote/Driver.pm:1330 in Selenium::Remote::Driver::_execute_command
        /usr/local/share/perl/5.24.1/Selenium/Remote/Driver.pm:1330 in (eval)
        /kohadevbox/koha/t/lib/Selenium.pm:174 in Selenium::Remote::Driver::find_element
        /kohadevbox/koha/t/lib/Selenium.pm:166 in t::lib::Selenium::click_when_visible
        t/db_dependent/selenium/administration_tasks.t:189 in t::lib::Selenium::click


SCREENSHOT: https://framapic.org/QV83HpBmIcxN/BAYggoYjgJGi
An element could not be located on the page using the given search parameters: //div[@class="main container-fluid"]//a[contains(@href, "/admin/categories.pl?op=delete_confirm&categorycode=PATRON_CAT")],xpath at/kohadevbox/koha/t/lib/Selenium.pm line 174.
# Looks like your test exited with 255 just after 3.
t/db_dependent/selenium/administration_tasks.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
All 3 subtests passed 

Test Summary Report
-------------------
t/db_dependent/selenium/administration_tasks.t (Wstat: 65280 Tests: 3 Failed: 0)
  Non-zero exit status: 255
Files=1, Tests=3, 61 wallclock secs ( 0.03 usr  0.01 sys +  2.73 cusr  0.29 csys =  3.06 CPU)
Result: FAIL
Comment 1 Jonathan Druart 2020-03-04 14:54:55 UTC
Created attachment 100136 [details] [review]
Bug 24801: Display all the categories - Selenium fix

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.
Comment 2 Martin Renvoize 2020-03-04 14:56:36 UTC
Created attachment 100137 [details] [review]
Bug 24801: Display all the categories - Selenium fix

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>
Comment 3 Martin Renvoize 2020-03-04 14:56:59 UTC
A clear and positive improvement.. PQA
Comment 4 Martin Renvoize 2020-03-04 14:57:19 UTC
Nice work everyone!

Pushed to master for 20.05
Comment 5 Jonathan Druart 2020-03-26 09:01:05 UTC
Created attachment 101787 [details] [review]
Bug 24801: Display all the libraries - Selenium fix

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.
Comment 6 Martin Renvoize 2020-03-26 10:08:15 UTC
Created attachment 101796 [details] [review]
Bug 24801: Display all the libraries - Selenium fix

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>
Comment 7 Jonathan Druart 2020-04-08 06:48:30 UTC
Created attachment 102530 [details] [review]
Bug 24801: (follow-up) Display all the libraries - Selenium fix

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\"]"}
Comment 8 Martin Renvoize 2020-04-08 07:16:33 UTC
Nice work everyone!

Pushed to master for 20.05
Comment 9 Joy Nelson 2020-05-11 19:29:35 UTC
backported to 19.11.x for 19.11.06
Comment 10 Lucas Gass 2020-05-15 19:46:30 UTC
For 19.05.x:

I defenitly don't understand this bug and when I try to prove t/db_dependent/selenium/administration_tasks.t, it fails:

Script: http://koha:8081/intranet-tmpl…og/js/datatables_19.0510002.js:290
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: '97d531c1f7c7', ip: '172.24.0.5', os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.76-linuxkit', java.version: '1.8.0_91'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{applicationCacheEnabled=true, rotatable=false, handlesAlerts=true, databaseEnabled=true, version=47.0.1, platform=LINUX, nativeEvents=false, acceptSslCerts=true, webStorageEnabled=true, locationContextEnabled=true, browserName=firefox, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 70860c37-59ad-46e9-8ca7-594f6379c452
*** Element info: {Using=xpath, value=//select[@name="libraries_length"]/option[@value="-1"]} at /usr/local/share/perl/5.24.1/Selenium/Remote/Driver.pm line 404.
 at /usr/local/share/perl/5.24.1/Selenium/Remote/Driver.pm line 348.
# Looks like your test exited with 255 just after 3.
Dubious, test returned 255 (wstat 65280, 0xff00)
All 3 subtests passed


If anyone wants to help explain what is going on here I'd be happy to know but until then no backport for 19.05.x
Comment 11 Jonathan Druart 2020-05-18 08:33:45 UTC
Lucas, can you confirm you tried without this patch and that it passed?

Do you know how to run selenium tests? Under koha-testing-docker you should only need to double-check the value of KOHA_INTRANET_URL and KOHA_OPAC_URL, then prove the tests.
Comment 12 Jonathan Druart 2020-07-21 10:43:02 UTC
Today on Master_U20 #39

18:31:26 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.
Comment 13 Jonathan Druart 2020-08-05 11:00:37 UTC Comment hidden (obsolete)
Comment 14 Jonathan Druart 2020-08-05 11:04:01 UTC
(In reply to Jonathan Druart from comment #12)
> Today on Master_U20 #39
> 
> 18:31:26 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.

See bug 26143.