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.
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
This patch was originally attached to 18974 however I have placed it in its own bug report to make testing more straightforward
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.
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.
Blocked by bug 19243. We need to find a clean way to continue.
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.
The tests need to be rewritten completely.