Bug 19184 - Purchase workflow selenium test
Summary: Purchase workflow selenium test
Status: NEW
Alias: None
Product: Koha
Classification: Unclassified
Component: Test Suite (show other bugs)
Version: Main
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Chris Cormack
QA Contact: Testopia
URL:
Keywords:
Depends on: 19243
Blocks: 19384
  Show dependency treegraph
 
Reported: 2017-08-27 03:09 UTC by Alex Buckley
Modified: 2020-04-20 07:36 UTC (History)
2 users (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:


Attachments
Bug 19184 - Selenium test for purchase workflow (11.61 KB, patch)
2017-08-27 03:18 UTC, Alex Buckley
Details | Diff | Splinter Review
Bug 19184: Change to use ENV, fix login and passwords (2.32 KB, patch)
2017-10-30 04:11 UTC, Mark Tompsett
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Buckley 2017-08-27 03:09:08 UTC
This Selenium test will go through the whole purchase workflow including adding a purchase suggestion in the OPAC (using the Z39.50server), accepting the suggestion in the intranet, creation of a vendor and basket and then adding the suggested item to the basket.
Comment 1 Alex Buckley 2017-08-27 03:18:30 UTC
Created attachment 66507 [details] [review]
Bug 19184 - Selenium test for purchase workflow

This test covers the creation of purchase suggestion in the OPAC.
The approval of that purchase suggestion in the intranet and then the
creation of vendor, basket and the creation of the order from the
suggested item. If the order is successfully placed then the test output
'Purchase suggestion order placed' will be displayed

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 set up for running the
selenium tests

17. Drop and recreate the Koha database, install all sample data in the
installer

18. In the intranet create a budget and fund

19. Create a superlibrarian patron with the name koha and password koha

20. Make sure you set the staffClientBaseURL and OPACBaseURL to their
appropriate values for your environment. If you are testing using
Kohadevbox then the corrext values for these sysprefs is localhost:8080
and http://localhost:80 respectively

21. Enter Koha shell: sudo koha-shell <instancename>

22. perl t/db_dependent/selenium/purchase_workflow.t

23. The test takes a while to excute but notice that all tests pass

Sponsored-By: Catalyst IT
Comment 2 Alex Buckley 2017-08-27 03:18:55 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 Mark Tompsett 2017-10-30 04:09:50 UTC
3926bc45bd)] -> xpath: /html/body/div/div[4]/div/div[1]/div[1]/div/div[2]/div/ul/li[7]/a]]
04:07:43.320 INFO - Executing: [find element: By.xpath: //a[@href="/cgi-bin/koha/opac-suggestions
.pl?op=add"]])
04:07:43.465 WARN - Exception thrown
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector
":"//a[@href=\"/cgi-bin/koha/opac-suggestions.pl?op=add\"]"}
Command duration or timeout: 17 milliseconds

I'll be attaching my patch which got me this far at least.
Comment 4 Mark Tompsett 2017-10-30 04:11:28 UTC
Created attachment 68829 [details] [review]
Bug 19184: 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 5 Jonathan Druart 2017-10-30 13:36:18 UTC
Blocked by bug 19243. We need to find a clean way to continue.
Comment 6 Alex Buckley 2020-03-23 01:50:24 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 7 Jonathan Druart 2020-04-20 07:36:14 UTC
The tests need to be rewritten completely.