ole-qa-framework 3.12.5 → 3.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0093a5fc8aa73d4ba5488bd0e13b43d4b97cf8c1
4
- data.tar.gz: 1e0a88da7dc795a350a06da7600ba1d0a4c701c4
3
+ metadata.gz: 57816afd7f068013dcab475670e17d3319af7413
4
+ data.tar.gz: 2bc84c5482e52d3da6cdef797c91c008cdd6d324
5
5
  SHA512:
6
- metadata.gz: 723a37fdaffc3f124afe87613bfed9c0ab1fe683bf9f82d9366802f05299f0c5d8a6df58c6c50a763454cdee2f885357fb5aeb087a1e89a832bdaa1a31af5d80
7
- data.tar.gz: b2ede832831f56fdeef0c1c709aba3826a9325190eb567ae6caa9b9dcd9989ba5ea44d370927c316a66498ec566abd0759f68ea9608b8c9b74b4e9137bb4867f
6
+ metadata.gz: cf34baf134f4aaa6acd51e750781ed7019b57e89019fd26210e04907680248a07a70017950cc5ebb8f86e445b9b3194b88fb33ae012bd5a11db4da04452197e4
7
+ data.tar.gz: a8058831fe968bc0105bdedcd2ec8cd478d6bbf7aac985817d323ed6fa8288cc2140a95f14c6a85738aac8dd1e078c8456652000bf733f4f04d7c51fde0699b5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ### v3.13.0 - 2014/03/21
2
+
3
+ * Add new Describe Workbench Page
4
+ * Old page moved to Old_Describe_Workbench
5
+ * Update compatibility version
6
+ * 1.5.0-M2-r18095, released 2014/03/20
7
+
1
8
  ### v3.12.5 - 2014/03/18
2
9
 
3
10
  * Additional Request Page Fixes
@@ -15,6 +15,6 @@
15
15
  module OLE_QA
16
16
  module Framework
17
17
  # The most recent version of OLE with which this framework was tested for compatibility.
18
- OLE_VERSION = '1.5.0 - M2 (Rice Upgrade 2.3.2)'
18
+ OLE_VERSION = '1.5.0 - M2 - r18095, 2014/03/21'
19
19
  end
20
20
  end
@@ -15,6 +15,6 @@
15
15
  module OLE_QA
16
16
  module Framework
17
17
  # The version number for this project.
18
- VERSION = '3.12.5'
18
+ VERSION = '3.13.0'
19
19
  end
20
20
  end
@@ -0,0 +1,48 @@
1
+ # Copyright 2005-2013 The Kuali Foundation
2
+ #
3
+ # Licensed under the Educational Community License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+ #
7
+ # http://www.opensource.org/licenses/ecl2.php
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module OLE_QA::Framework::OLELS
16
+ # A search line on the OLE Library System Describe Workbench page.
17
+ class Workbench_Line < OLE_QA::Framework::Line_Object
18
+ def set_elements
19
+ super
20
+ element(:search_field) {(line_id == 0) ?
21
+ id_str = 'SearchConditions_SearchText_id_add_control' :
22
+ id_str = "SearchConditions_SearchText_id_line#{line_id - 1}_control"
23
+ b.text_field(:id => id_str)}
24
+ element(:search_scope_selector) {(line_id == 0) ?
25
+ id_str = 'SearchConditions_Operator_id_add_control' :
26
+ id_str = "SearchConditions_Operator_id_line#{line_id - 1}_control"
27
+ b.select_list(:id => id_str)}
28
+ element(:field_selector) {(line_id == 0) ?
29
+ id_str = 'SearchConditions_DocField_id_add_control' :
30
+ id_str = "SearchConditions_DocField_id_line#{line_id - 1}_control"
31
+ b.select_list(:id => id_str)}
32
+ element(:join_and) {(line_id == 0) ?
33
+ id_str = 'SearchConditions_SearchScope_id_add_control_0' :
34
+ id_str = "SearchConditions_SearchScope_id_line#{line_id - 1}_control_0"
35
+ b.radio(:id => id_str)}
36
+ element(:join_or) {(line_id == 0) ?
37
+ id_str = 'SearchConditions_SearchScope_id_add_control_1' :
38
+ id_str = "SearchConditions_SearchScope_id_line#{line_id - 1}_control_1"
39
+ b.radio(:id => id_str)}
40
+ element(:join_not) {(line_id == 0) ?
41
+ id_str = 'SearchConditions_SearchScope_id_add_control_2' :
42
+ id_str = "SearchConditions_SearchScope_id_line#{line_id - 1}_control_2"
43
+ b.radio(:id => id_str)}
44
+ element(:add_button) {b.button(:id => 'SearchConditionsSection_add')}
45
+ element(:delete_button) {b.button(:id => "SearchConditionsSection_del_line#{line_id - 1}")}
46
+ end
47
+ end
48
+ end
@@ -13,90 +13,46 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module OLE_QA::Framework::OLELS
16
- # The OLE Library System Describe Workbench Screen
16
+ # The OLE Library System Describe Workbench screen (implemented in 1.5.0-M2-r18095, 2014-03-20)
17
17
  class Describe_Workbench < Lookup
18
- # Set URL
19
18
  def initialize(ole_session)
20
- url = ole_session.url + 'portal.do?channelTitle=Describe Workbench&channelUrl='
21
- url += ole_session.url + 'ole-kr-krad/describeworkbenchcontroller?viewId=DescribeWorkBenchView&methodToCall=start'
22
- super(ole_session, url)
19
+ url = ole_session.url + 'portal.do?channelTitle=Describe%20Workbench&channelUrl='
20
+ url += ole_session.url + 'ole-kr-krad/olesearchcontroller?viewId=OLESearchView&methodToCall=start'
21
+ super(ole_session,url)
23
22
  end
24
23
 
25
- # Set OLELS Describe Workbench page elements.
26
24
  def set_elements
27
25
  super
28
- # Search Control Elements
29
- element(:search_button) {b.button(:id => "search_button")}
30
- element(:clear_button) {b.button(:id => "clear_button")}
31
- element(:doc_type_bib) {b.radio(:id => 'SearchPanel-docType-Section_control_0')}
32
- element(:doc_type_holdings) {b.radio(:id => 'SearchPanel-docType-Section_control_1')}
33
- element(:doc_type_item) {b.radio(:id => 'SearchPanel-docType-Section_control_2')}
34
- element(:doc_type_e_holdings) {b.radio(:id => 'SearchPanel-docType-Section_control_3')}
35
- element(:link_to_order_button) {b.button(:id => 'submit_button')}
36
- element(:export_to_xml_button) {b.button(:id => 'export_button1')}
37
- element(:close_button) {b.button(:id => 'cancel_button')}
38
- # Search Fields
39
- element(:search_field_1) {b.text_field(:id => "searchText_id_line0_control")}
40
- element(:search_which_selector_1) {b.select_list(:id => "operator_id_line0_control")}
41
- element(:search_field_selector_1) {b.select_list(:id => "docField_id_line0_control")}
42
- element(:search_scope_1_and) {b.radio(:id => 'searchScope_id_line0_control_0')}
43
- element(:search_scope_1_or) {b.radio(:id => 'searchScope_id_line0_control_1')}
44
- element(:search_scope_1_not) {b.radio(:id => 'searchScope_id_line0_control_2')}
45
- element(:search_field_2) {b.text_field(:id => 'searchText_id_line1_control')}
46
- element(:search_which_selector_2) {b.select_list(:id => 'operator_id_line1_control')}
47
- element(:search_field_selector_2) {b.select_list(:id => 'docField_id_line1_control')}
48
- element(:search_scope_2_and) {b.radio(:id => 'searchScope_id_line1_control_0')}
49
- element(:search_scope_2_or) {b.radio(:id => 'searchScope_id_line1_control_1')}
50
- element(:search_scope_2_not) {b.radio(:id => 'searchScope_id_line1_control_2')}
51
- # Search Results Elements
52
- element(:next_link) {b.a(:text => 'Next')}
53
- element(:previous_link) {b.a(:text => 'Previous')}
26
+ element(:document_type_selector) {b.select_list(:id => 'DocumentAndSearchSelectionType_DocType_control')}
27
+ element(:search_type_selector) {b.select_list(:id => 'DocumentAndSearchSelectionType_SearchType_control')}
28
+ element(:search_button) {b.button(:id => 'SearchButton')}
29
+ element(:clear_button) {b.button(:id => 'ClearButton')}
30
+ element(:new_search_button) {b.button(:id => 'StartSearchButton')}
31
+ element(:next) {b.a(:text => /[Nn]ext/)}
32
+ element(:previous) {b.a(:text => /[Pp]revious/)}
54
33
  end
55
34
 
56
35
  def wait_for_elements
57
36
  super
58
- @wait_on << :search_button
37
+ @wait_on << :document_type_selector << :search_button
59
38
  end
60
39
 
61
40
  def set_functions
62
41
  super
63
- # Check whether the given text exists within the search results table.
64
- # - Returns true or false based on whether the given string was found.
65
- function(:result_present?) {|str| b.td(:xpath => "//table/tbody/tr/td[div/*[contains(text(),\"#{str}\")]]").present?}
66
- # Return the TD element containing the given text, if it exists.
67
- function(:text_in_results) {|text| b.td(:xpath => "//table/tbody/tr/td[div/*[contains(text(),\"#{text}\")]]")}
68
- # Return true or false based on whether the given text exists in the search results.
69
- function(:text_in_results?) {|text| text_in_results(text).present?}
70
- # Return the checkbox for the results line containing the given text.
71
- # Usage:
72
- # workbench.select_by_text("Foo").set(true|false)
73
- # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
74
- # - Returns nil if element not found.
75
- function(:select_by_text) {|str| element = b.checkbox(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td[1]/div/input[@type='checkbox']") ; if element.present? then element else nil end}
76
- # Return the 'view' link for the results line containing the given text.
77
- # Usage:
78
- # workbench.view_by_text.click
79
- # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
80
- # - Returns nil if element not found.
81
- function(:view_by_text) {|str| element = b.a(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td/div/fieldset/div/div/a[contains(text(),'View')]") ; if element.present? then element else nil end}
82
- # Return the 'view' link for the results line containing the given text.
83
- # Usage:
84
- # workbench.view_by_text.click
85
- # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
86
- # - Returns nil if element not found.
87
- function(:edit_by_text) {|str| element = b.a(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td/div/fieldset/div/div/a[contains(text(),'Edit')]") ; if element.present? then element else nil end}
88
- # Return the 'overlay' link for the results line containing the given text.
89
- # Usage:
90
- # workbench.overlay_by_text.click
91
- # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
92
- # - Returns nil if element not found.
93
- function(:overlay_by_text) {|str| element = b.a(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td/div/fieldset/div/div/a[contains(text(),'OverLay')]") ; if element.present? then element else nil end}
94
- # Return the 'create instance' link for the results line containing the given text.
95
- # Usage:
96
- # workbench.create_instance_by_text.click
97
- # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
98
- # - Returns nil if element not found.
99
- function(:create_instance_by_text) {|str| element = b.a(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td/div/fieldset/div/div/a[contains(text(),'Create Instance')]") ; if element.present? then element else nil end}
42
+ # Check if text is present in results. (Will not search titles.)
43
+ function(:text_in_results) {|which| b.span(:class => 'uif-readOnlyContent', :text => /#{which}/)}
44
+ function(:text_in_results?) {|which| text_in_results(which).present?}
45
+ # Check if title is present in results.
46
+ function(:title_in_results) {|which| b.a(:class => 'uif-link',:text => /#{which}/)}
47
+ function(:title_in_results?) {|which| title_in_results(which).present?}
48
+ # Return the select checkbox for a line in the search results containing the given text. (Will not work with titles.)
49
+ function(:select_by_text) {|which| text_in_results(which).parent.parent.parent.td(:index => 0).div(:class => 'uif-inputField').checkbox(:class => 'uif-checkboxControl')}
50
+ # Return the select checkbox for a line in the search results containing the given text.
51
+ function(:select_by_title) {|which| title_in_results(which).parent.parent.parent.td(:index => 0).div(:class => 'uif-inputField').checkbox(:class => 'uif-checkboxControl')}
52
+ end
53
+
54
+ def set_lines
55
+ set_line(:search_line, OLE_QA::Framework::OLELS::Workbench_Line)
100
56
  end
101
57
  end
102
- end
58
+ end
@@ -0,0 +1,102 @@
1
+ # Copyright 2005-2013 The Kuali Foundation
2
+ #
3
+ # Licensed under the Educational Community License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+ #
7
+ # http://www.opensource.org/licenses/ecl2.php
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module OLE_QA::Framework::OLELS
16
+ # The OLE Library System Describe Workbench Screen (Deprecated as of 1.5.0-M2-r18095, 2014-03-20)
17
+ class Old_Describe_Workbench < Lookup
18
+ # Set URL
19
+ def initialize(ole_session)
20
+ url = ole_session.url + 'portal.do?channelTitle=Describe Workbench&channelUrl='
21
+ url += ole_session.url + 'ole-kr-krad/describeworkbenchcontroller?viewId=DescribeWorkBenchView&methodToCall=start'
22
+ super(ole_session, url)
23
+ end
24
+
25
+ # Set OLELS Describe Workbench page elements.
26
+ def set_elements
27
+ super
28
+ # Search Control Elements
29
+ element(:search_button) {b.button(:id => "search_button")}
30
+ element(:clear_button) {b.button(:id => "clear_button")}
31
+ element(:doc_type_bib) {b.radio(:id => 'SearchPanel-docType-Section_control_0')}
32
+ element(:doc_type_holdings) {b.radio(:id => 'SearchPanel-docType-Section_control_1')}
33
+ element(:doc_type_item) {b.radio(:id => 'SearchPanel-docType-Section_control_2')}
34
+ element(:doc_type_e_holdings) {b.radio(:id => 'SearchPanel-docType-Section_control_3')}
35
+ element(:link_to_order_button) {b.button(:id => 'submit_button')}
36
+ element(:export_to_xml_button) {b.button(:id => 'export_button1')}
37
+ element(:close_button) {b.button(:id => 'cancel_button')}
38
+ # Search Fields
39
+ element(:search_field_1) {b.text_field(:id => "searchText_id_line0_control")}
40
+ element(:search_which_selector_1) {b.select_list(:id => "operator_id_line0_control")}
41
+ element(:search_field_selector_1) {b.select_list(:id => "docField_id_line0_control")}
42
+ element(:search_scope_1_and) {b.radio(:id => 'searchScope_id_line0_control_0')}
43
+ element(:search_scope_1_or) {b.radio(:id => 'searchScope_id_line0_control_1')}
44
+ element(:search_scope_1_not) {b.radio(:id => 'searchScope_id_line0_control_2')}
45
+ element(:search_field_2) {b.text_field(:id => 'searchText_id_line1_control')}
46
+ element(:search_which_selector_2) {b.select_list(:id => 'operator_id_line1_control')}
47
+ element(:search_field_selector_2) {b.select_list(:id => 'docField_id_line1_control')}
48
+ element(:search_scope_2_and) {b.radio(:id => 'searchScope_id_line1_control_0')}
49
+ element(:search_scope_2_or) {b.radio(:id => 'searchScope_id_line1_control_1')}
50
+ element(:search_scope_2_not) {b.radio(:id => 'searchScope_id_line1_control_2')}
51
+ # Search Results Elements
52
+ element(:next_link) {b.a(:text => 'Next')}
53
+ element(:previous_link) {b.a(:text => 'Previous')}
54
+ end
55
+
56
+ def wait_for_elements
57
+ super
58
+ @wait_on << :search_button
59
+ end
60
+
61
+ def set_functions
62
+ super
63
+ # Check whether the given text exists within the search results table.
64
+ # - Returns true or false based on whether the given string was found.
65
+ function(:result_present?) {|str| b.td(:xpath => "//table/tbody/tr/td[div/*[contains(text(),\"#{str}\")]]").present?}
66
+ # Return the TD element containing the given text, if it exists.
67
+ function(:text_in_results) {|text| b.td(:xpath => "//table/tbody/tr/td[div/*[contains(text(),\"#{text}\")]]")}
68
+ # Return true or false based on whether the given text exists in the search results.
69
+ function(:text_in_results?) {|text| text_in_results(text).present?}
70
+ # Return the checkbox for the results line containing the given text.
71
+ # Usage:
72
+ # workbench.select_by_text("Foo").set(true|false)
73
+ # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
74
+ # - Returns nil if element not found.
75
+ function(:select_by_text) {|str| element = b.checkbox(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td[1]/div/input[@type='checkbox']") ; if element.present? then element else nil end}
76
+ # Return the 'view' link for the results line containing the given text.
77
+ # Usage:
78
+ # workbench.view_by_text.click
79
+ # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
80
+ # - Returns nil if element not found.
81
+ function(:view_by_text) {|str| element = b.a(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td/div/fieldset/div/div/a[contains(text(),'View')]") ; if element.present? then element else nil end}
82
+ # Return the 'view' link for the results line containing the given text.
83
+ # Usage:
84
+ # workbench.view_by_text.click
85
+ # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
86
+ # - Returns nil if element not found.
87
+ function(:edit_by_text) {|str| element = b.a(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td/div/fieldset/div/div/a[contains(text(),'Edit')]") ; if element.present? then element else nil end}
88
+ # Return the 'overlay' link for the results line containing the given text.
89
+ # Usage:
90
+ # workbench.overlay_by_text.click
91
+ # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
92
+ # - Returns nil if element not found.
93
+ function(:overlay_by_text) {|str| element = b.a(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td/div/fieldset/div/div/a[contains(text(),'OverLay')]") ; if element.present? then element else nil end}
94
+ # Return the 'create instance' link for the results line containing the given text.
95
+ # Usage:
96
+ # workbench.create_instance_by_text.click
97
+ # - Searches both link text (for Local ID element) and regular text in span (for all other fields).
98
+ # - Returns nil if element not found.
99
+ function(:create_instance_by_text) {|str| element = b.a(:xpath => "//table/tbody/tr[td[div/*[contains(text(),\"#{str}\")]]]/td/div/fieldset/div/div/a[contains(text(),'Create Instance')]") ; if element.present? then element else nil end}
100
+ end
101
+ end
102
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ole-qa-framework
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.12.5
4
+ version: 3.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jain Waldrip
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-18 00:00:00.000000000 Z
11
+ date: 2014-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -182,6 +182,7 @@ files:
182
182
  - lib/olels/objects/patron_address_line.rb
183
183
  - lib/olels/objects/patron_email_line.rb
184
184
  - lib/olels/objects/patron_phone_line.rb
185
+ - lib/olels/objects/workbench_line.rb
185
186
  - lib/olels/pages/batch_export_profile.rb
186
187
  - lib/olels/pages/batch_import_profile.rb
187
188
  - lib/olels/pages/batch_job_details.rb
@@ -199,6 +200,7 @@ files:
199
200
  - lib/olels/pages/location_level_lookup.rb
200
201
  - lib/olels/pages/location_lookup.rb
201
202
  - lib/olels/pages/main_menu.rb
203
+ - lib/olels/pages/old_describe_workbench.rb
202
204
  - lib/olels/pages/patron.rb
203
205
  - lib/olels/pages/patron_lookup.rb
204
206
  - lib/olels/pages/request.rb