Bug 19359

Summary: Reporting module selenium test
Product: Koha Reporter: Alex Buckley <alexbuckley>
Component: Test SuiteAssignee: Chris Cormack <chris>
Status: BLOCKED --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: jonathan.druart, mtompset
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Bug Depends on: 19243    
Bug Blocks:    
Attachments: Bug 19359 - Reporting module selenium test
Bug 19359 - Followup patch with xpaths changed to id's
Bug 19359 - Followup patch with xpaths changed to id's
Bug 19359 - Followup patch with xpaths changed to id's
Bug 19359 - Reporting module selenium test
Bug 19359 - Followup patch with xpaths changed to id's

Description Alex Buckley 2017-09-23 05:26:49 UTC
The test patch attached to this bug report will test the following functionality:

* Log into the Koha intranet
* Navigate to the Reports module
* Create a custom catalog report report
* Run the report
Comment 1 Alex Buckley 2017-09-23 05:34:09 UTC
Created attachment 67342 [details] [review]
Bug 19359 - Reporting module selenium test

This Selenium test tests the reporting module creating and running a custom report.

Test plan (this test plan includes how to install Selenium as well as how to run this test, for the benefit of people who have not got
Selenium installed on their machines):

1. wget
https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.0.jar

2. vim /etc/apt/sources.list.d/firefox.list

3. Paste into the file:
deb http://packages.linuxmint.com debian import

4. sudo apt-get update

5. sudo apt-get install firefox

6. sudo apt-get install xvfb

7. Set the SELENIUM_PATH vartiable:
SELENIUM_PATH=/home/vagrant/kohaclone/selenium-server-standalone-2.53.0.jar

8. Xvfb :1 -screen 0 1024x768x24 2>&1 >/dev/null &

9. DISPLAY=:1 java -jar $SELENIUM_PATH

Note: This will start up the selenium server. Everytime you want to
shutdown this terminal window and want to restart Selenium just run
the step 9 command to restart the Selenium server

10. Open a new terminal window and write in:
git clone https://github.com/gempesaw/Selenium-Remote-Driver
--branch build/master --single-branch --depth 1

11. cd Selenium-Remote-Driver

12. perl Makefile.PL

13. make

14. make test

15. sudo make install

16. Now everything is installed and you can set up for running the
selenium test

17. Drop and recreate you Koha database and restart memcached

18. Go through the web installer (installing sample z39.50 targets)
and the onboarding tool

19. Create a superlibrarian user with the username koha and password koha

20. If your usual port configuration for the intranet and OPAC is
8081 and 8080 respectively then set the staffClientBaseURL and
OPACBaseURL system preferences to localhost:8080 and localhost:80
respectively

21. sudo koha-shell <instancename>

22. perl t/db_dependent/selenium/reporting_workflow.t

23. The test should pass.
Note: The time_diff comments in the test output showing what the
test is doing

Note: If you have issues with installing Selenium and
Selenium::Remote::Driver please write a comment on the bug report
and I will be more than happy to create a screencapture video
showing all the steps

Sponsored-By: Catalyst IT
Comment 2 Alex Buckley 2017-10-11 08:21:23 UTC
Created attachment 67925 [details] [review]
Bug 19359 - Followup patch with xpaths changed to id's
Comment 3 Alex Buckley 2017-10-11 08:22:36 UTC
Created attachment 67926 [details] [review]
Bug 19359 - Followup patch with xpaths changed to id's

Sponsored-By: Catalyst IT
Comment 4 Alex Buckley 2017-10-14 03:34:52 UTC
Created attachment 68120 [details] [review]
Bug 19359 - Followup patch with xpaths changed to id's

Sponsored-By: Catalyst IT
Comment 5 Alex Buckley 2017-10-14 03:41:19 UTC
Created attachment 68121 [details] [review]
Bug 19359 - Reporting module selenium test

This Selenium test tests the reporting module creating and running a custom report.

Test plan (this test plan includes how to install Selenium as well as how to run this test, for the benefit of people who have not got
Selenium installed on their machines):

1. wget
https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.0.jar

2. vim /etc/apt/sources.list.d/firefox.list

3. Paste into the file:
deb http://packages.linuxmint.com debian import

4. sudo apt-get update

5. sudo apt-get install firefox

6. sudo apt-get install xvfb

7. Set the SELENIUM_PATH vartiable:
SELENIUM_PATH=/home/vagrant/kohaclone/selenium-server-standalone-2.53.0.jar

8. Xvfb :1 -screen 0 1024x768x24 2>&1 >/dev/null &

9. DISPLAY=:1 java -jar $SELENIUM_PATH

Note: This will start up the selenium server. Everytime you want to
shutdown this terminal window and want to restart Selenium just run
the step 9 command to restart the Selenium server

10. Open a new terminal window and write in:
sudo cpanm -i Selenium::Remote::Driver

11. Now everything is installed and you can set up for running the
selenium test

12. Drop and recreate you Koha database and restart memcached

13. Go through the web installer (installing sample z39.50 targets)
and the onboarding tool

14. Create a superlibrarian user with the username koha and password koha

15. If your usual port configuration for the intranet and OPAC is
8081 and 8080 respectively then set the staffClientBaseURL and
OPACBaseURL system preferences to localhost:8080 and localhost:80
respectively

16. sudo koha-shell <instancename>

17. perl t/db_dependent/selenium/reporting_workflow.t

18. The test should pass.
Note: The time_diff comments in the test output showing what the
test is doing

Note: If you have issues with installing Selenium and
Selenium::Remote::Driver please write a comment on the bug report
and I will be more than happy to create a screencapture video
showing all the steps

Sponsored-By: Catalyst IT
Comment 6 Alex Buckley 2017-10-14 03:41:37 UTC
Created attachment 68122 [details] [review]
Bug 19359 - Followup patch with xpaths changed to id's

Sponsored-By: Catalyst IT
Comment 7 Mark Tompsett 2017-10-25 02:09:05 UTC
Comment on attachment 68122 [details] [review]
Bug 19359 - Followup patch with xpaths changed to id's

Review of attachment 68122 [details] [review]:
-----------------------------------------------------------------

::: t/lib/Selenium.pm
@@ +13,5 @@
> +
> +my $dbh = C4::Context->dbh;
> +my $login = 'koha';
> +my $password = 'koha';
> +my $base_url= 'http://'.C4::Context->preference("staffClientBaseURL")."/cgi-bin/koha/";

You have the same "lack of ENV code as used by other tests" problem here.
Comment 8 Alex Buckley 2020-03-23 01:43:02 UTC
As I don't have time to work on this at present I am unassigning myself in case someone else can take it on.