appium_console 0.0.27 → 0.0.28

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjQwYTg3Y2I0MTM5M2IyZjI1ZDc5ZTA5YTM4MWVkNmE3YWU2Njg5NA==
4
+ YjM2M2FjYmM5YWU0ZjgyM2FjNjI2OTI5YmQ2YjhmMGYxYWY0M2I1NQ==
5
5
  data.tar.gz: !binary |-
6
- ZDJiZDhiMmUyMTYzMzVkNzIxYTg3OTIyODNhMjExMTQ0NGUwNTYyZA==
6
+ OWJhZDhiODkyNGMzMDUwMjFmNGY2YmVkOTZjY2JlMmI1ZTljZGQ2Nw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- Yzc3N2E3MmRjNjVhZDFjZWM3NWViNGRjNzliYjY0OWEyMDE2NmIwZGE3MzNk
10
- OTdlZmU5MGU1MTEyNjJhMWE0NWQ5YTZjNzI2NmI0ZTYzNTYwNDBjZWNlMzdi
11
- NGJmMDI3ZTI4YzEwYzA1MGE4NDNjZGNkZTRhMmEyNTljODE3ZWI=
9
+ MmEwY2ZhOTc0M2YxZDNlNjg0NDQ2NzA2YzI5ZDI1ZjBiZDk5NjI2MjU2ZmIx
10
+ NDRjYWJkZTQ5MTAyMjdiYmZiYzhkMTNkYzc5N2MwNzdhYTVmYzlhMmUwMGNi
11
+ NjVkMDk0ZGMxOGMzZGM5ZjA4YjNkOWEzZmRlYzg4NjExZjAyNzQ=
12
12
  data.tar.gz: !binary |-
13
- Zjk5OTY2MDRmNjY2ZWUxZDE3MTgyNWJjNTQzZjFhZTE0YTE5YmFkM2YwNDY2
14
- MzQxZjAwNGQ2MzAzYjEwYmEzNWU3YTFhOTUyYTYxOTZmYzBkZmQwNDU5ZDYw
15
- MWM2NjJkMmNmZjQ5ZDU2MTU1NzRjYWNjYWNkNWU3Y2VkMzQ0NmQ=
13
+ MDAwMDYwNzg4NGIwNDUyZTY1NWFjYjJhYzc5OTE5NTMyYWRhMDc4MjUxNThi
14
+ ODUxMzk3YThjMjI2ZWFiMWFjYzdmNWI2YzBlYWQ1MTFkODg3M2U0MDAwMDFl
15
+ MDA0ZWEzY2ZkZDE2ZmNkMGE2ZDc5MmIxMTlkNjkzN2IyNmM5NTM=
data/Rakefile CHANGED
@@ -3,7 +3,8 @@ require 'rake'
3
3
  require 'date'
4
4
 
5
5
  # Defines gem name.
6
- def repo_name; 'appium_console'; end
6
+ def repo_name; 'appium_console'; end # ruby_console published as appium_console
7
+ def gh_name; 'ruby_console'; end # the name as used on github.com
7
8
  def version_file; "lib/#{repo_name}/version.rb"; end
8
9
  def version_rgx; /VERSION = '([^']+)'/m; end
9
10
 
@@ -56,6 +57,9 @@ task :release => :gem do
56
57
  sh "git commit --allow-empty -am 'Release #{version}'"
57
58
  sh 'git pull'
58
59
  sh "git tag v#{version}"
60
+ # update notes now that there's a new tag
61
+ Rake::Task['notes'].execute
62
+ sh "git commit --allow-empty -am 'Update release notes'"
59
63
  sh 'git push origin master'
60
64
  sh "git push origin v#{version}"
61
65
  sh "gem push #{repo_name}-#{version}.gem"
@@ -78,7 +82,47 @@ end
78
82
  desc 'Install gem'
79
83
  task :install => :gem do
80
84
  `gem uninstall -aIx #{repo_name}`
81
- # Ensure we have the latest app_lib
82
- `gem uninstall -aIx app_lib`
85
+ # Ensure we have the latest appium_lib
86
+ `gem uninstall -aIx appium_lib`
83
87
  sh "gem install --no-rdoc --no-ri #{repo_name}-#{version}.gem"
84
88
  end
89
+
90
+ desc 'Update release notes'
91
+ task :notes do
92
+ tags = `git tag`.split "\n"
93
+ pairs = []
94
+ tags.each_index { |a| pairs.push tags[a] + '...' + tags[a+1] unless tags[a+1].nil? }
95
+
96
+ notes = ''
97
+
98
+ dates = `git log --tags --simplify-by-decoration --pretty="format:%d %ad" --date=short`.split "\n"
99
+ pairs.reverse! # pairs are in reverse order.
100
+
101
+ tag_date = []
102
+ pairs.each do |pair|
103
+ tag = pair.split('...').last
104
+ dates.each do |line|
105
+ # regular tag, or tag on master.
106
+ if line.include?('(' + tag + ')') || line.include?(tag + ',')
107
+ tag_date.push tag + ' ' + line.match(/\d{4}-\d{2}-\d{2}/)[0]
108
+ break
109
+ end
110
+ end
111
+ end
112
+
113
+ pairs.each_index do |a|
114
+ data =`git log --pretty=oneline #{pairs[a]}`
115
+ new_data = ''
116
+ data.split("\n").each do |line|
117
+ hex = line.match(/[a-zA-Z0-9]+/)[0];
118
+ # use first 7 chars to match GitHub
119
+ new_data += "- [#{hex[0...7]}](https://github.com/appium/#{gh_name}/commit/#{hex}) #{line.gsub(hex, '').strip}\n"
120
+ end
121
+ data = new_data + "\n"
122
+
123
+ # last pair is the released version.
124
+ notes += "#### #{tag_date[a]}\n\n" + data + "\n"
125
+ end
126
+
127
+ File.open('release_notes.md', 'w') { |f| f.write notes.to_s.strip }
128
+ end
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
27
27
  # appium_lib version must match ruby console version.
28
28
  s.add_runtime_dependency 'appium_lib', ">= #{AppiumConsole::VERSION}"
29
29
  s.add_runtime_dependency 'pry', '~> 0.9.12'
30
-
30
+ s.add_runtime_dependency 'toml', '~> 0.0.4'
31
31
  s.add_development_dependency 'rake', '~> 10.0.3'
32
32
 
33
33
  s.executables = [ 'arc' ]
data/bin/arc CHANGED
@@ -1,4 +1,49 @@
1
1
  #!/usr/bin/env ruby
2
2
  # appium ruby console = arc
3
3
  require 'rubygems'
4
+
5
+ def print_version
6
+ require 'appium_console/version'
7
+ require 'appium_lib/version'
8
+ puts "appium_console: v#{::AppiumConsole::VERSION}"
9
+ puts " appium_lib: v#{::AppiumLib::VERSION}"
10
+ end
11
+
12
+ ARGV.each_index do |idx|
13
+ a = ARGV[idx]
14
+ b = ARGV[idx + 1]
15
+ if a.match /-?-?v/i
16
+ print_version
17
+ exit
18
+ elsif a.match /upgrade/i
19
+ [ 'gem uninstall -aIx appium_lib',
20
+ 'gem uninstall -aIx appium_console',
21
+ 'gem install --no-rdoc --no-ri appium_console'
22
+ ].each { |cmd| puts cmd; `#{cmd}` }
23
+ print_version
24
+ puts "Upgrade complete."
25
+ exit
26
+ elsif a.match /setup/i
27
+ toml = File.join Dir.pwd, 'appium.txt'
28
+ if !b
29
+ puts 'setup called without android or ios. exiting.'
30
+ exit
31
+ end
32
+ File.open toml, 'w' do |f|
33
+ if b && b.match(/android/i)
34
+ f.puts %Q(APP_PATH="#{ENV['APP_PATH'] || '/path/to/my.apk'}")
35
+ f.puts %Q(APP_PACKAGE="#{ENV['APP_PACKAGE'] || 'com.my.Pkg'}")
36
+ f.puts %Q(APP_ACTIVITY="#{ENV['APP_ACTIVITY'] || 'StartActivity'}")
37
+ f.puts %Q(APP_WAIT_ACTIVITY="#{ENV['APP_WAIT_ACTIVITY'] || 'SplashActivity'}")
38
+ elsif b && b.match(/ios/i)
39
+ # iOS requires only APP_PATH
40
+ ios = ENV['APP_PATH']
41
+ ios = false if File.extname(ios).downcase == '.apk'
42
+ f.puts %Q(APP_PATH="#{ios || '/path/to/myiOS.app'}")
43
+ end
44
+ end
45
+ exit
46
+ end
47
+ end
48
+
4
49
  require 'appium_console'
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
  module AppiumConsole
3
- VERSION = '0.0.27' unless defined? ::AppiumConsole::VERSION
4
- DATE = '2013-04-05' unless defined? ::AppiumConsole::DATE
3
+ VERSION = '0.0.28' unless defined? ::AppiumConsole::VERSION
4
+ DATE = '2013-04-11' unless defined? ::AppiumConsole::DATE
5
5
  end
@@ -2,9 +2,42 @@
2
2
  require 'rubygems'
3
3
  Gem::Specification.class_eval { def self.warn( args ); end }
4
4
  require 'pry'
5
+
6
+ # Check for env vars in .txt
7
+ toml = File.join Dir.pwd, 'appium.txt'
8
+
9
+ if File.exists? toml
10
+ require 'toml'
11
+ require 'ap'
12
+ puts "Loading #{toml}"
13
+
14
+ # bash requires A="OK"
15
+ # toml requires A = "OK"
16
+ #
17
+ # A="OK" => A = "OK"
18
+ data = File.read(toml).gsub /([^\s])\=(")/, "\\1 = \\2"
19
+ data = TOML::Parser.new(data).parsed
20
+ ap data
21
+
22
+ app_path = 'APP_PATH'
23
+ app_package = 'APP_PACKAGE'
24
+ app_activity = 'APP_ACTIVITY'
25
+ app_wait_activity = 'APP_WAIT_ACTIVITY'
26
+
27
+ path = data[app_path]
28
+ pkg = data[app_package]
29
+ act = data[app_activity]
30
+ wait_act = data[app_wait_activity]
31
+
32
+ ENV[app_path] = path if path
33
+ ENV[app_package] = pkg if pkg
34
+ ENV[app_activity] = act if act
35
+ ENV[app_wait_activity] = wait_act if wait_act
36
+ end
37
+
5
38
  require 'appium_lib'
6
39
 
7
40
  start = File.expand_path "../start.rb", __FILE__
8
41
  cmd = ['-r', start]
9
42
  $stdout.puts 'pry ' + cmd.join(' ')
10
- Pry::CLI.parse_options cmd
43
+ Pry::CLI.parse_options cmd
data/osx.md CHANGED
@@ -3,10 +3,6 @@
3
3
  This document is written for OS X. Appium does not yet work on Windows.
4
4
  Appium Android should run on Linux however iOS testing requires OS X.
5
5
 
6
- - Clone appium_console
7
-
8
- `$ git clone git://github.com/appium/ruby_console.git`
9
-
10
6
  - Ensure you have Ruby 1.9.3+ (1.8 is not supported). Install the latest stable patch release of Ruby 1.9.3 (not Ruby 2.0).
11
7
 
12
8
  `$ \curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3`
@@ -38,19 +34,9 @@ gem uninstall -aIx appium_console ;\
38
34
  gem install --no-rdoc --no-ri appium_console
39
35
  ```
40
36
 
41
- - Export APP_PATH, APP_PACKAGE, APP_ACTIVITY
42
-
43
- ```
44
- export APP_PATH="`pwd`/my.apk" ;\
45
- export APP_PACKAGE="com.my.Pkg" ;\
46
- export APP_ACTIVITY="MyActivity"
47
- ```
48
-
49
- - Echo the values to make sure they're set correctly
50
-
51
- `$ echo $APP_PATH $APP_PACKAGE $APP_ACTIVITY`
52
-
53
37
  - Install [nodejs](http://nodejs.org/) using the big green install button. Node should be `v0.10.1` or better.
38
+ If you have `brew` installed then `brew install node` can be run instead of the nodejs.org pkg.
39
+ The advantage of using brew is that npm commands will not require sudo.
54
40
 
55
41
  `$ node --version`
56
42
 
@@ -68,9 +54,10 @@ grunt v0.4.1
68
54
 
69
55
  - Clone appium
70
56
 
71
- `$ git clone git@github.com:appium/appium.git`
57
+ `$ git clone git://github.com/appium/appium.git`
72
58
 
73
59
  - Run reset.sh. You may have to run this twice as described below due to permission issues.
60
+ If you installed node with brew, reset only has to be run once and doesn't require sudo.
74
61
 
75
62
  `cd appium; sudo ./reset.sh; ./reset.sh`
76
63
 
@@ -78,10 +65,9 @@ grunt v0.4.1
78
65
 
79
66
  `node server.js -V --fast-reset`
80
67
 
81
- - Install dmg [hax module](http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager). See the [install guide](http://software.intel.com/en-us/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-macosx).
82
- - [Direct link to hax module dmg](http://software.intel.com/sites/default/files/article/184952/intelhaxm-1.0.4-hotfix-androidonmac.zip)
83
-
84
- - Use intel [system image](http://software.intel.com/en-us/articles/android-4-2-jelly-bean-x86-emulator-system-image) at least API 17 (Jelly Bean)
68
+ - Install `Intel x86 Emulator Accelerator (HAXM)` under Extras using the `android`` tool.
69
+ - Use Intel [system image](http://software.intel.com/en-us/articles/android-4-2-jelly-bean-x86-emulator-system-image)
70
+ at least API 17 (Jelly Bean). This is also installed via the `android` tool.
85
71
 
86
72
  - Install using Android package tool. For API 17, install `SDK Platform`, `Intel x86 Atom System Image`, `Google APIs` as in the picture.
87
73
  If there are any problems viewing or downloading the packages, go to `Packages -> Reload` and try again.
@@ -118,6 +104,10 @@ export APP_ACTIVITY="StartActivity"
118
104
  export APP_WAIT_ACTIVITY="SplashActivity"
119
105
  ```
120
106
 
121
- `arc`
107
+ - Echo the values to make sure they're set correctly
108
+
109
+ `$ echo $APP_PATH $APP_PACKAGE $APP_ACTIVITY $APP_WAIT_ACTIVITY`
122
110
 
123
- If you see `WARN: Unresolved specs during Gem::Specification.reset:`, it's safe to ignore that.
111
+ - Start appium console
112
+
113
+ `arc`
data/readme.md CHANGED
@@ -19,6 +19,8 @@ gem uninstall -aIx appium_console ;\
19
19
  gem install --no-rdoc --no-ri appium_console
20
20
  ```
21
21
 
22
+ If `appium_console` is already installed, run `arc upgrade` to automatically update.
23
+
22
24
  #### Update Appium
23
25
 
24
26
  To update `appium` from source (assuming node.js requires sudo):
@@ -42,6 +44,11 @@ You should uninstall the `ap` gem because it breaks awesome_print.
42
44
 
43
45
  The `arc` command starts Appium Ruby Console.
44
46
 
47
+ - `arc version` prints the current version of appium console and appium lib.
48
+ - `arc upgrade` upgrades appium_console and appium_lib.
49
+ - `arc setup android` creates `appium.txt` for android in the current working dir.
50
+ - `arc setup ios` creates `appium.txt` for ios in the current working dir.
51
+
45
52
  Ruby 1.9.3 and Appium from GitHub are required. Run Appium from source.
46
53
 
47
54
  `node server.js -V --fast-reset`
@@ -72,223 +79,4 @@ Reset Appium after pulling the latest changes.
72
79
 
73
80
  #### Documentation
74
81
 
75
- - find_elements returns an empty array [] when no elements are found.
76
-
77
- ##### [app_lib on rubydoc.info](http://www.rubydoc.info/github/appium/ruby_lib/master/toplevel)
78
-
79
- - [iOS UI Automation](http://developer.apple.com/library/ios/#documentation/DeveloperTools/Reference/UIAutomationRef/_index.html) Example use `@driver.execute_script "UIATarget.localTarget().frontMostApp().mainWindow().rect()"
80
- `
81
- - [Android UIAutomator](http://developer.android.com/tools/help/uiautomator/index.html)
82
- - [Ruby selenium-webdriver](http://selenium.googlecode.com/svn/trunk/docs/api/rb/index.html)
83
- - [Appium](https://github.com/appium/appium/blob/master/README.md)
84
- - [Appium extension](https://github.com/appium/appium/wiki/Automating-mobile-gestures)
85
- - [mechanic names of elements](https://github.com/jaykz52/mechanic/blob/8c490e1d225f384847e47ffdafb47cc2248bb96c/src/mechanic-core.js#L28)
86
- - [All methods supported by Appium](https://github.com/appium/appium/wiki/JSON-Wire-Protocol:-Supported-Methods)
87
- - [Appium's mobile gesture docs](https://github.com/appium/appium/wiki/Automating-mobile-gestures)
88
- -
89
- Example use of Appium's mobile gesture.
90
-
91
- > @driver.execute_script 'mobile: tap', :x => 0, :y => 500
92
-
93
- `console.rb` uses some code from [simple_test.rb](
94
- https://github.com/appium/appium/blob/82995f47408530c80c3376f4e07a1f649d96ba22/sample-code/examples/ruby/simple_test.rb) and is released under the [same license](https://github.com/appium/appium/blob/c58eeb66f2d6fa3b9a89d188a2e657cca7cb300f/LICENSE) as Appium. The [Accessibility Inspector](https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/iPhoneAccessibility/Testing_Accessibility/Testing_Accessibility.html) is helpful for discovering button names and textfield values.
95
-
96
- --
97
-
98
- Tag Name | UIA
99
- --:|:--
100
- button | UIAButton
101
- textfield | UIATextField
102
- secure | UIASecureTextField
103
- text | UIAStaticText
104
-
105
-
106
- --
107
-
108
- #### generic
109
-
110
- - `source` Prints a JSON view of the current page.
111
- - `page` Prints the content descriptions and text values on the current page.
112
- - `(Element) name(name)` Returns the first element matching name. Android name is the content description.
113
- iOS uses accessibility label with a fallback to text.
114
- - `(Array<Element>) names(name)` Returns all elements matching name.
115
-
116
- --
117
-
118
- #### alert
119
- 0. `(void) alert_accept` Accept the alert.
120
- 0. `(String) alert_accept_text` Get the text of the alert's accept button.
121
- 0. `(void) alert_click(value)` iOS only Tap the alert button identified by value.
122
- 0. `(void) alert_dismiss` Dismiss the alert.
123
- 0. `(String) alert_dismiss_text` Get the text of the alert's dismiss button.
124
- 0. `(String) alert_text` Get the alert message text.
125
-
126
- #### button
127
- 0. `(Button) button(index)` Find a button by index.
128
- 0. `(Button) button(text, number = 0)` Find a button by text and optionally number.
129
- 0. `(Button) button_include(text)` Get the first button that includes text.
130
- 0. `(Array<String>, Array<Buttons>) buttons(text = nil)` Get an array of button texts or button elements if text is provided.
131
- 0. `(Array<Button>) buttons_include(text)` Get all buttons that include text.
132
- 0. `(Button) first_button` Get the first button element.
133
- 0. `(Button) last_button` Get the last button element.
134
-
135
- #### textfield
136
- 0. `(Textfield) textfield(index)` Find a textfield by index.
137
- 0. `(Array<Textfield>) e_textfields` Get an array of textfield elements.
138
- 0. `(Textfield) first_textfield` Get the first textfield element.
139
- 0. `(Textfield) last_textfield` Get the last textfield element.
140
- 0. `(Textfield) textfield(text)` Get the first textfield that matches text.
141
- 0. `(Textfield) textfield_include(text)` Get the first textfield that includes text.
142
- 0. `(Array<String>) textfields` Get an array of textfield texts.
143
-
144
- #### text
145
- 0. `(Text) text(index)` Find a text by index.
146
- 0. `(Array<Text>) e_texts` Get an array of text elements.
147
- 0. `(Text) first_text` Get the first text element.
148
- 0. `(Text) last_text` Get the last text element.
149
- 0. `(Text) text(text)` Get the first element that matches text.
150
- 0. `(Text) text_include(text)` Get the first textfield that includes text.
151
- 0. `(Array<String>) texts` Get an array of text texts.
152
-
153
- #### window
154
- 0. `(Object) window_size` Get the window's size.
155
-
156
- --
157
-
158
- ```ruby
159
- e.name # button, text
160
- e.value # secure, textfield
161
- e.type
162
- e.tag_name # calls .type (patch.rb)
163
- e.text
164
- e.size
165
- e.location
166
- e.rel_location
167
- e.click
168
- e.send_keys 'keys to send'
169
- e.set_value 'value to set' # ruby_console specific
170
-
171
- # alert example without helper methods
172
- alert = $driver.switch_to.alert
173
- alert.text
174
- alert.accept
175
- alert.dismiss
176
-
177
- # Secure textfield example.
178
- #
179
- # Find using default value
180
- s = secure 'Password'
181
- # Enter password
182
- s.send_keys 'hello'
183
- # Check value
184
- s.value == password('hello'.length)
185
- ```
186
-
187
- [routing.js](https://github.com/appium/appium/blob/master/app/routing.js#L69) lists not yet implemented end points.
188
-
189
- --
190
-
191
- #### Driver
192
-
193
- `start_driver` will restart the driver.
194
-
195
- `x` will quit the driver and exit Pry.
196
-
197
- `execute_script` calls `$driver.execute_script`
198
-
199
- `find_element` calls `$driver.find_element`
200
-
201
- `find_elements` calls `$driver.find_elements`
202
-
203
- `mobile :swipe, endX: 100, endY: 100, duration: 0.01` calls `$driver.execute_script 'mobile: swipe', endX: 100, endY: 100, duration: 0.01`
204
-
205
- `no_wait` will set implicit wait to 0. `$driver.manage.timeouts.implicit_wait = 0`
206
-
207
- `set_wait` will set implicit wait to default 30 seconds. `$driver.manage.timeouts.implicit_wait = 30`
208
-
209
- `set_wait(timeout_seconds)` will set implicit wait to desired timeout. `$driver.manage.timeouts.implicit_wait = timeout`
210
-
211
- .click to tap an element.
212
- .send_keys to type on an element.
213
-
214
- #### Raw UIAutomation
215
-
216
- `execute_script "au.lookup('button')[0].tap()"` is the same as
217
- `execute_script 'UIATarget.localTarget().frontMostApp().buttons()[0].tap()'`
218
-
219
- See [app.js](https://github.com/appium/appium/blob/master/app/uiauto/appium/app.js#L3) for more au methods.
220
- Note that raw UIAutomation commands are not offically supported.
221
-
222
- Advanced au.
223
-
224
- In this example we lookup two tags, combine the results, wrap with $, and then return the elements.
225
-
226
- ```ruby
227
- s = %(
228
- var t = au.lookup('textfield');
229
- var s = au.lookup('secure');
230
- var r = $(t.concat(s));
231
- au._returnElems(r);
232
- )
233
-
234
- execute_script s
235
- ```
236
-
237
- #### XPath
238
-
239
- See [#194](https://github.com/appium/appium/pull/194/files) for details.
240
-
241
- ```ruby
242
- find_element :xpath, 'button'
243
- find_elements :xpath, 'button'
244
-
245
- find_element :xpath, 'button[@name="Sign In"]'
246
- find_elements :xpath, 'button[@name="Sign In"]'
247
-
248
- find_element :xpath, 'button[contains(@name, "Sign In")]'
249
- find_elements :xpath, 'button[contains(@name, "Sign")]'
250
-
251
- find_element :xpath, 'textfield[@value="Email"]'
252
- find_element :xpath, 'textfield[contains(@value, "Email")]'
253
-
254
- find_element :xpath, 'text[contains(@name, "Reset")]'
255
- find_elements :xpath, 'text[contains(@name, "agree")]'
256
- ```
257
-
258
- #### Cucumber Sauce Integration
259
-
260
- Reset after each test and when done report the result to Sauce after quiting the driver.
261
-
262
- ```ruby
263
- require 'rest_client' # https://github.com/archiloque/rest-client
264
- require 'json' # for .to_json
265
-
266
- $passed = true
267
-
268
- After do |scenario|
269
- # Reset scenario unless the feature was tagged @keep
270
- $driver.execute_script 'mobile: reset' unless scenario.feature.source_tag_names.include? '@keep'
271
-
272
- if $passed
273
- $passed = false if scenario.failed?
274
- end
275
- end
276
-
277
- at_exit do
278
- ID = $driver.send(:bridge).session_id
279
- $driver.quit
280
-
281
- if !SAUCE_USERNAME.nil? && !SAUCE_ACCESS_KEY.nil?
282
- URL = "https://#{SAUCE_USERNAME}:#{SAUCE_ACCESS_KEY}@saucelabs.com/rest/v1/#{SAUCE_USERNAME}/jobs/#{ID}"
283
-
284
- # Keep trying until passed is set correctly. Give up after 30 seconds.
285
- wait do
286
- response = RestClient.put URL, { 'passed' => $passed }.to_json, :content_type => :json, :accept => :json
287
- response = JSON.parse(response)
288
-
289
- # Check that the server responded with the right value.
290
- response['passed'] == $passed
291
- end
292
- end
293
- end
294
- ```
82
+ See [docs.md](https://github.com/appium/ruby_lib/blob/master/docs.md)
data/release_notes.md ADDED
@@ -0,0 +1 @@
1
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_console
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.27
4
+ version: 0.0.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - code@bootstraponline.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-05 00:00:00.000000000 Z
11
+ date: 2013-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appium_lib
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.27
19
+ version: 0.0.28
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.27
26
+ version: 0.0.28
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pry
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.9.12
41
+ - !ruby/object:Gem::Dependency
42
+ name: toml
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 0.0.4
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 0.0.4
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -77,6 +91,7 @@ files:
77
91
  - my_test.rb
78
92
  - osx.md
79
93
  - readme.md
94
+ - release_notes.md
80
95
  homepage: https://github.com/appium/ruby_console
81
96
  licenses:
82
97
  - http://www.apache.org/licenses/LICENSE-2.0.txt