mini_autobot 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1fea9d6dfdf1d60ffddd0e3fa4d801889fad6257
4
- data.tar.gz: b19811a14c375ec38b4aa2a5d70acb226b3c0617
3
+ metadata.gz: 6ba694542ad108b33eeb0567a2b616ef6d4b9e9e
4
+ data.tar.gz: 000b15dcc2cadeccde5f6c3e87db3619fba9644e
5
5
  SHA512:
6
- metadata.gz: 9684bd696aaa91e420970422b0fc0c33fbed5e59311d8e394824f52cd1176104015fc4eb75762c98a7cdeb253c86921fe1ee06bc884f108dc36a207486a61279
7
- data.tar.gz: 39ff8be81f81d138b3024a41192664796cda1dfc52124a394e0ec872792b658b96d341efb52fa525f3ac970c74c4701fda76ae6d70344b339a3377142509f280
6
+ metadata.gz: 4c8e023d8b62c66907ce2ca10a9a587bdc1923437d00b8af3aedae9c3a9d76aecaa9f8d76052897c0771f008046e8c84c56a8d02fff5b37613d6763b0df09411
7
+ data.tar.gz: 687f7624ba12ab7380c44e623fe9a90338a222aa490275fe54171fe0982fa6ba9aef70c8faca69683c4e0d3e37eed2ab2063bd94434be7d67f1b9b7b16367e3d
data/README.md CHANGED
@@ -79,7 +79,6 @@ A typical config file structure looks like this:
79
79
  │   ├── ag_qa.yml
80
80
  │   ├── rent_ci.yml
81
81
  │   └── rent_qa.yml
82
- ├── native_app_google_client.json
83
82
  ├── test_suite.yml
84
83
  └── tests.yml
85
84
 
@@ -101,7 +100,7 @@ It defines two things:
101
100
  test_cases and page_objects are located, eg. web_tests, xxx/yyyy/tests;
102
101
  2. multi-host flag: false means test_cases dir is directly under tests_dir,
103
102
  true means there's one more layer in middle: tests_dir/[hosts]/.
104
-
103
+
105
104
  #### Connector Profile
106
105
 
107
106
  A connector profile is a regular YAML file in a specific directory, which
@@ -637,4 +636,4 @@ the page.
637
636
  ## License
638
637
 
639
638
  MiniAutobot is released under the MIT License. See the bundled LICENSE file for
640
- details.
639
+ details.
@@ -147,7 +147,7 @@ module MiniAutobot
147
147
  body["passed"] = passed? unless skipped?
148
148
  RestClient.put(http_auth, body.to_json, {:content_type => "application/json"})
149
149
  end
150
-
150
+
151
151
  def connector_is_saucelabs?
152
152
  MiniAutobot.settings.connector.include? 'saucelabs'
153
153
  end
@@ -195,6 +195,13 @@ module MiniAutobot
195
195
  end
196
196
  end
197
197
 
198
+ def with_url_change_wait(&block)
199
+ starting_url = @driver.current_url
200
+ block.call
201
+ wait(timeout: 15, message: 'Timeout waiting for URL to change')
202
+ .until { @driver.current_url != starting_url }
203
+ end
204
+
198
205
  # Check if a web element exists on page or not, without wait
199
206
  def is_element_present?(how, what, driver = nil)
200
207
  element_appeared?(how, what, driver)
@@ -205,6 +212,28 @@ module MiniAutobot
205
212
  element_appeared?(how, what, driver, check_display = true)
206
213
  end
207
214
 
215
+ def wait_for_element_to_display(how, what, friendly_name = "element")
216
+ wait(timeout: 15, message: "Timeout waiting for #{friendly_name} to display")
217
+ .until {is_element_present_and_displayed?(how, what)}
218
+ end
219
+
220
+ def wait_for_element_to_be_present(how, what, friendly_name = "element")
221
+ wait(timeout: 15, message: "Timeout waiting for #{friendly_name} to be present")
222
+ .until {is_element_present?(how, what)}
223
+ end
224
+
225
+ # Useful when you want to wait for the status of an element attribute to change
226
+ # Example: the class attribute of <body> changes to include 'logged-in' when a user signs in to rent.com
227
+ # Example usage: wait_for_attribute_status_change(:css, 'body', 'class', 'logged-in', 'sign in')
228
+ def wait_for_attribute_to_have_value(how, what, attribute, value, friendly_name = "attribute")
229
+ wait(timeout: 15, message: "Timeout waiting for #{friendly_name} status to update")
230
+ .until { driver.find_element(how, what).attribute(attribute).include?(value) rescue retry }
231
+ end
232
+
233
+ def current_page(calling_page)
234
+ calling_page.class.to_s.split('::').last.downcase
235
+ end
236
+
208
237
  private
209
238
 
210
239
  # @param eg. (:css, 'button.cancel') or (*BUTTON_SUBMIT_SEARCH)
@@ -230,28 +259,6 @@ module MiniAutobot
230
259
  result
231
260
  end
232
261
 
233
- def wait_for_element_to_display(how, what, friendly_name = "element")
234
- wait(timeout: 15, message: "Timeout waiting for #{friendly_name} to display")
235
- .until {is_element_present_and_displayed?(how, what)}
236
- end
237
-
238
- def wait_for_element_to_be_present(how, what, friendly_name = "element")
239
- wait(timeout: 15, message: "Timeout waiting for #{friendly_name} to be present")
240
- .until {is_element_present?(how, what)}
241
- end
242
-
243
- # Useful when you want to wait for the status of an element attribute to change
244
- # Example: the class attribute of <body> changes to include 'logged-in' when a user signs in to rent.com
245
- # Example usage: wait_for_attribute_status_change(:css, 'body', 'class', 'logged-in', 'sign in')
246
- def wait_for_attribute_to_have_value(how, what, attribute, value, friendly_name = "attribute")
247
- wait(timeout: 15, message: "Timeout waiting for #{friendly_name} status to update")
248
- .until { driver.find_element(how, what).attribute(attribute).include?(value) rescue retry }
249
- end
250
-
251
- def current_page(calling_page)
252
- calling_page.class.to_s.split('::').last.downcase
253
- end
254
-
255
262
  end
256
263
 
257
264
  end
@@ -1,3 +1,3 @@
1
1
  module MiniAutobot
2
- VERSION = '0.2.2'
2
+ VERSION = '0.3.0'
3
3
  end
data/mini_autobot.gemspec CHANGED
@@ -21,9 +21,6 @@ Gem::Specification.new do |s|
21
21
 
22
22
  s.add_dependency 'activesupport', '~> 4.2'
23
23
  s.add_dependency 'faker', '~> 1.4'
24
- s.add_dependency 'google-api-client', '~> 0.8'
25
- s.add_dependency 'google_drive', '~> 1.0'
26
- s.add_dependency 'mail', '~> 2.6'
27
24
  s.add_dependency 'minitap', '~> 0.5.3'
28
25
  s.add_dependency 'pry', '~> 0.10'
29
26
  s.add_dependency 'minitest', '~>5.4.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_autobot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ripta Pasay
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-10-21 00:00:00.000000000 Z
13
+ date: 2015-11-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -40,48 +40,6 @@ dependencies:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '1.4'
43
- - !ruby/object:Gem::Dependency
44
- name: google-api-client
45
- requirement: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '0.8'
50
- type: :runtime
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '0.8'
57
- - !ruby/object:Gem::Dependency
58
- name: google_drive
59
- requirement: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: '1.0'
64
- type: :runtime
65
- prerelease: false
66
- version_requirements: !ruby/object:Gem::Requirement
67
- requirements:
68
- - - "~>"
69
- - !ruby/object:Gem::Version
70
- version: '1.0'
71
- - !ruby/object:Gem::Dependency
72
- name: mail
73
- requirement: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - "~>"
76
- - !ruby/object:Gem::Version
77
- version: '2.6'
78
- type: :runtime
79
- prerelease: false
80
- version_requirements: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - "~>"
83
- - !ruby/object:Gem::Version
84
- version: '2.6'
85
43
  - !ruby/object:Gem::Dependency
86
44
  name: minitap
87
45
  requirement: !ruby/object:Gem::Requirement