Kuali Open Library Environment
OLE QA Testing Framework
Open Library Environment Quality Assurance Testing Framework
This is a testing framework for the Kuali Open Library environment. It is be used to define OLE pages and screen elements for OLE regression testing scripts and the OLE Smoketest application.
Configuration
Options can be set in the file config/options.yml. Here is a list of the options hash keys and their meanings:
- :url:
- The URL of the main OLE installation you will be testing.
- :docstore_url:
- The URL of the OLE Document Store installation.
- :headless?:
- If set to true, the testing session will be run headlessly in an XVFB session handled by the Headless gem.
- :implicit_wait:
- Used to set Selenium Webdriver's default wait period.
- :explicit_wait:
- Used to set the Watir Webdriver default wait period.
- :doc_wait:
- Used to set the maximum timeout for an OLE eDocument to finish routing to the next step in its workflow.
- :browser:
- Pass an active instance of Watir Webdriver if you want to start an OLE Framework session with an already-running browser.
These options can be set manually, or using the Rake configurator task. Use the Rake show_config task to see the current options settings at any time.
Instituational Data
Institutional data is defined in the YAML files in the data/ directory. The OLE QA Framework can be adapted to use different institutional data first by editing the YAML data files in data/, and optionally altering the default values of a few data factories and their respective RSpec tests in the spec/ directory.
YAML Data Files
The data/ directory contains the following YAML data files:
- accounts.yml
- OLE account numbers, organized into a hash containing arrays of account numbers organized by chart code.
- borrower_types.yml
- Borrower types used for patron and circulation information, organized into an array.
- circulation.yml
- Circulation desks and the locations which they serve, organized into an array containing a hash for each desk, which itself contains an array of locations served by that desk.
- country.yml
- A string containing the country name to be used for patron information, as it appears in the OLE application itself.
- objects.yml
- Object code values for accounting, organized into a hash containing arrays of object codes organized by chart code.
- patron.yml
- An array of hashes containing patron information drawn from the OLE demo data, with keys for ID, first and last name, and barcode.
- states.yml
- An array of states used for OLE patron information, as they appear in the OLE application itself.
Default Data Values in Classes
The following classes in the lib/data_factory/ directory contain default selections which may need to be changed for optimal functionality:
- account_factory.rb
- Methods for selecting account and object codes default to the :BL chart selector.
- string_factory.rb
- Prices are formatted to two decimal places by default. Non-US prices may need commas or other separator values.
- Phone numbers are in US NNN-NNN-NNNN format.
- patron_factory.rb
- Phone numbers are in US NNN-NNN-NNNN format.
Default Data Values in Specs
The following specs in spec/data_factory contain default selections which may need to be changed for optimal functionality:
- bib_factory_spec.rb
- Tests for selecting a circulation desk use the 'BL_EDUC' circulation desk, taken from the OLE demo data.
- string_factory_spec.rb
- Tests for phone numbers default to the US NNN-NNN-NNNN phone number format.
- patron_factory_spec.rb
- Tests for phone numbers default to the US NNN-NNN-NNNN phone number format.