Kuali Open Library Environment
http://www.kuali.org/ole
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.