Bug 19182

Summary: Item search in intranet and OPAC selenium test
Product: Koha Reporter: Alex Buckley <alexbuckley>
Component: Test SuiteAssignee: Chris Cormack <chris>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: jonathan.druart, mtompset
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18974
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Bug Depends on: 19243    
Bug Blocks: 19384    
Attachments: Bug 19182 - Selenium test for searching for an item in the intranet and OPAC
Bug 19182 - Selenium test for searching for an item in the intranet and OPAC
Bug 19182 - Selenium test for searching for an item in the intranet and OPAC
Bug 19182: Change to use ENV, fix login and passwords

Description Alex Buckley 2017-08-27 01:36:23 UTC
This selenium test will create a new biblio and add items to that biblio and then the item search functionality in the intranet and OPAC will be used to try to find the added biblio in the catalogue
Comment 1 Alex Buckley 2017-08-27 01:45:22 UTC
Created attachment 66503 [details] [review]
Bug 19182 - Selenium test for searching for an item in the intranet and OPAC

This Selenium test goes through the process of creating a category and
patron user (as is completed in the basic_workflow.t test). Then this
newly created patron user is used to create a new biblio and add items
to that biblio.

The item search functionality in the intranet and OPAC is used to try to
find the biblio. If results to the item search query are displayed
then the test outputs 'Found item in inranet' and 'Found item in
OPAC' are shown

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 shut
down 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 et up for running the
selenium tests

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

18. 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

19. Ensure your catalogue is empty

20. Clear and rebuild your Koha index:
sudo koha-shell <instancename>

21. export the PERL5LIB variable

22. zebraidx -c /etc/koha/sites/<instancename>/zebra-authorities-dom.cfg
-g iso2709 -d authorities init

23. zebraidx -c /etc/koha/sites/<instancename>/zebra-biblios.cfg -g
iso2709 -d biblios init

24. exit

25. sudo su

26. sudo koha-rebuild-zebra -f -v  <instancename>

27. exit

28. sudo koha-shell <instancename>

29. perl t/db_dependent/selenium/authenticate.t

30. 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-08-27 01:45:54 UTC
This patch was originally attached to 18974 however I have placed it in its own bug report to make testing more straightforward
Comment 3 Alex Buckley 2017-08-27 01:49:16 UTC
Created attachment 66504 [details] [review]
Bug 19182 - Selenium test for searching for an item in the intranet and OPAC

This Selenium test goes through the process of creating a category and
patron user (as is completed in the basic_workflow.t test). Then this
newly created patron user is used to create a new biblio and add items
to that biblio.

The item search functionality in the intranet and OPAC is used to try to
find the biblio. If results to the item search query are displayed
then the test outputs 'Found item in inranet' and 'Found item in
OPAC' are shown

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 shut
down 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 et up for running the
selenium tests

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

18. 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

19. Ensure your catalogue is empty

20. Clear and rebuild your Koha index:
sudo koha-shell <instancename>

21. export the PERL5LIB variable

22. zebraidx -c /etc/koha/sites/<instancename>/zebra-authorities-dom.cfg
-g iso2709 -d authorities init

23. zebraidx -c /etc/koha/sites/<instancename>/zebra-biblios.cfg -g
iso2709 -d biblios init

24. exit

25. sudo su

26. sudo koha-rebuild-zebra -f -v  <instancename>

27. exit

28. sudo koha-shell <instancename>

29. perl t/db_dependent/selenium/authenticate.t

30. 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 4 Mark Tompsett 2017-10-30 03:42:28 UTC
Created attachment 68826 [details] [review]
Bug 19182 - Selenium test for searching for an item in the intranet and OPAC

This Selenium test goes through the process of creating a category and
patron user (as is completed in the basic_workflow.t test). Then this
newly created patron user is used to create a new biblio and add items
to that biblio.

The item search functionality in the intranet and OPAC is used to try to
find the biblio. If results to the item search query are displayed
then the test outputs 'Found item in inranet' and 'Found item in
OPAC' are shown

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 shut
down 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 et up for running the
selenium tests

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

18. 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

19. Ensure your catalogue is empty

20. Clear and rebuild your Koha index:
sudo koha-shell <instancename>

21. export the PERL5LIB variable

22. zebraidx -c /etc/koha/sites/<instancename>/zebra-authorities-dom.cfg
-g iso2709 -d authorities init

23. zebraidx -c /etc/koha/sites/<instancename>/zebra-biblios.cfg -g
iso2709 -d biblios init

24. exit

25. sudo su

26. sudo koha-rebuild-zebra -f -v  <instancename>

27. exit

28. sudo koha-shell <instancename>

29. perl t/db_dependent/selenium/authenticate.t

30. 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 5 Mark Tompsett 2017-10-30 03:42:30 UTC
Created attachment 68827 [details] [review]
Bug 19182: Change to use ENV, fix login and passwords

The kohadevbox has admin/admin set, so for testing when
creating the initial superuser, if you wish to minimize
effort, use admin/admin. Otherwise, make sure to:
export KOHA_USER={whatever your user is}
export KOHA_PASS={whatever your password is}
before attempting to run the test.

Also, this test was failing because of a validation check on
the passwords requiring uppercase letters, lowercase letters,
and numbers. Changed the sample data passwords to fix.
Comment 6 Jonathan Druart 2017-10-30 13:36:04 UTC
Blocked by bug 19243. We need to find a clean way to continue.
Comment 7 Alex Buckley 2020-03-23 01:49:31 UTC
As I don't have time to work on this at present I am unassigning myself in case someone else wants to take it on.
Comment 8 Jonathan Druart 2020-04-20 07:36:02 UTC
The tests need to be rewritten completely.