mini_autobot 0.2.2 → 0.3.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: 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