honeydew 0.18.0 → 0.19.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.
@@ -56,21 +56,34 @@ module Honeydew
56
56
  request = Net::HTTP::Post.new uri.path
57
57
  request.set_form_data action: action, arguments: arguments.to_json.to_s
58
58
 
59
- response = Net::HTTP.start(uri.hostname, uri.port) do |http|
60
- http.read_timeout = Honeydew.config.server_timeout
61
- http.request request
59
+ response = benchmark do
60
+ Net::HTTP.start(uri.hostname, uri.port) do |http|
61
+ http.read_timeout = Honeydew.config.server_timeout
62
+ http.request request
63
+ end
62
64
  end
63
65
 
64
66
  case response
65
67
  when Net::HTTPOK
66
- true
68
+ info "action succeeded, response: #{response.body}"
69
+ response.body
67
70
  when Net::HTTPNoContent
71
+ info "action failed, response: #{response.body}"
68
72
  raise ActionFailedError.new response.body
69
73
  else
70
74
  raise "honeydew-server failed to process command, response: #{response.body}"
71
75
  end
72
76
  end
73
77
 
78
+ def benchmark
79
+ result = nil
80
+ realtime = Benchmark.realtime do
81
+ result = yield
82
+ end
83
+ debug "action completed in #{(realtime * 1000).to_i}ms"
84
+ result
85
+ end
86
+
74
87
  def ensure_device_ready
75
88
  @device_ready ||= begin
76
89
  wait_for_honeydew_server
@@ -18,12 +18,14 @@ module Honeydew
18
18
  end
19
19
 
20
20
  def dump_window_hierarchy(local_path)
21
- path_in_device = perform_action('dump_window_hierarchy')['description']
21
+ path_in_device = perform_action('dump_window_hierarchy')
22
+ info "dumping window hierarchy to #{local_path}..."
22
23
  adb "pull #{path_in_device} #{local_path}"
23
24
  end
24
25
 
25
26
  def take_screenshot(local_path)
26
27
  path_in_device = '/data/local/tmp/honeydew.png'
28
+ info "saving screenshot to #{local_path}..."
27
29
  adb "shell /system/bin/screencap -p #{path_in_device}"
28
30
  adb "pull #{path_in_device} #{local_path}"
29
31
  end
@@ -66,7 +66,7 @@ module Honeydew
66
66
  end
67
67
 
68
68
  def devices
69
- @devices
69
+ @devices.values
70
70
  end
71
71
 
72
72
  private
@@ -1,3 +1,3 @@
1
1
  module Honeydew
2
- VERSION = '0.18.0'
2
+ VERSION = '0.19.0'
3
3
  end
data/server/pom.xml CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  <groupId>amplify</groupId>
7
7
  <artifactId>honeydew-server</artifactId>
8
- <version>0.18.0</version>
8
+ <version>0.19.0</version>
9
9
  <packaging>jar</packaging>
10
10
  <name>Honeydew Android Server</name>
11
11
 
metadata CHANGED
@@ -1,128 +1,121 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeydew
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.18.0
4
+ version: 0.19.0
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Selvakumar Natesan
9
9
  - Christopher Rex
10
10
  - Shyam Vala
11
11
  - John Barker
12
- autorequire:
12
+ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-08-07 00:00:00.000000000 Z
15
+ date: 2013-08-13 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activesupport
19
- version_requirements: !ruby/object:Gem::Requirement
19
+ requirement: !ruby/object:Gem::Requirement
20
+ none: false
20
21
  requirements:
21
- - - ">="
22
+ - - ! '>='
22
23
  - !ruby/object:Gem::Version
23
- version: !binary |-
24
- MA==
24
+ version: '0'
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
25
28
  none: false
26
- requirement: !ruby/object:Gem::Requirement
27
29
  requirements:
28
- - - ">="
30
+ - - ! '>='
29
31
  - !ruby/object:Gem::Version
30
- version: !binary |-
31
- MA==
32
- none: false
33
- prerelease: false
34
- type: :runtime
32
+ version: '0'
35
33
  - !ruby/object:Gem::Dependency
36
34
  name: json
37
- version_requirements: !ruby/object:Gem::Requirement
35
+ requirement: !ruby/object:Gem::Requirement
36
+ none: false
38
37
  requirements:
39
- - - ">="
38
+ - - ! '>='
40
39
  - !ruby/object:Gem::Version
41
- version: !binary |-
42
- MA==
40
+ version: '0'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
43
44
  none: false
44
- requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ">="
46
+ - - ! '>='
47
47
  - !ruby/object:Gem::Version
48
- version: !binary |-
49
- MA==
50
- none: false
51
- prerelease: false
52
- type: :runtime
48
+ version: '0'
53
49
  - !ruby/object:Gem::Dependency
54
50
  name: bundler
55
- version_requirements: !ruby/object:Gem::Requirement
51
+ requirement: !ruby/object:Gem::Requirement
52
+ none: false
56
53
  requirements:
57
- - - "~>"
54
+ - - ~>
58
55
  - !ruby/object:Gem::Version
59
56
  version: '1.3'
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
60
  none: false
61
- requirement: !ruby/object:Gem::Requirement
62
61
  requirements:
63
- - - "~>"
62
+ - - ~>
64
63
  - !ruby/object:Gem::Version
65
64
  version: '1.3'
66
- none: false
67
- prerelease: false
68
- type: :development
69
65
  - !ruby/object:Gem::Dependency
70
66
  name: rake
71
- version_requirements: !ruby/object:Gem::Requirement
67
+ requirement: !ruby/object:Gem::Requirement
68
+ none: false
72
69
  requirements:
73
- - - ">="
70
+ - - ! '>='
74
71
  - !ruby/object:Gem::Version
75
- version: !binary |-
76
- MA==
72
+ version: '0'
73
+ type: :development
74
+ prerelease: false
75
+ version_requirements: !ruby/object:Gem::Requirement
77
76
  none: false
78
- requirement: !ruby/object:Gem::Requirement
79
77
  requirements:
80
- - - ">="
78
+ - - ! '>='
81
79
  - !ruby/object:Gem::Version
82
- version: !binary |-
83
- MA==
84
- none: false
85
- prerelease: false
86
- type: :development
80
+ version: '0'
87
81
  - !ruby/object:Gem::Dependency
88
82
  name: rspec
89
- version_requirements: !ruby/object:Gem::Requirement
83
+ requirement: !ruby/object:Gem::Requirement
84
+ none: false
90
85
  requirements:
91
- - - ">="
86
+ - - ! '>='
92
87
  - !ruby/object:Gem::Version
93
- version: !binary |-
94
- MA==
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
95
92
  none: false
96
- requirement: !ruby/object:Gem::Requirement
97
93
  requirements:
98
- - - ">="
94
+ - - ! '>='
99
95
  - !ruby/object:Gem::Version
100
- version: !binary |-
101
- MA==
102
- none: false
103
- prerelease: false
104
- type: :development
96
+ version: '0'
105
97
  - !ruby/object:Gem::Dependency
106
98
  name: simplecov
107
- version_requirements: !ruby/object:Gem::Requirement
99
+ requirement: !ruby/object:Gem::Requirement
100
+ none: false
108
101
  requirements:
109
- - - ">="
102
+ - - ! '>='
110
103
  - !ruby/object:Gem::Version
111
- version: !binary |-
112
- MA==
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
113
108
  none: false
114
- requirement: !ruby/object:Gem::Requirement
115
109
  requirements:
116
- - - ">="
110
+ - - ! '>='
117
111
  - !ruby/object:Gem::Version
118
- version: !binary |-
119
- MA==
120
- none: false
121
- prerelease: false
122
- type: :development
123
- description: |
124
- Honeydew is a Ruby driver for UIAutomator which enables automated testing of
112
+ version: '0'
113
+ description: ! 'Honeydew is a Ruby driver for UIAutomator which enables automated
114
+ testing of
115
+
125
116
  Android devices.
117
+
118
+ '
126
119
  email:
127
120
  - scmp-team@amplify.com
128
121
  - jbarker@amplify.com
@@ -130,10 +123,10 @@ executables: []
130
123
  extensions: []
131
124
  extra_rdoc_files: []
132
125
  files:
133
- - ".gitignore"
134
- - ".rspec"
135
- - ".ruby-gemset"
136
- - ".ruby-version"
126
+ - .gitignore
127
+ - .rspec
128
+ - .ruby-gemset
129
+ - .ruby-version
137
130
  - Gemfile
138
131
  - LICENSE.txt
139
132
  - README.md
@@ -210,35 +203,33 @@ files:
210
203
  - spec/honeydew/device_matchers_spec.rb
211
204
  - spec/honeydew/device_spec.rb
212
205
  - spec/spec_helper.rb
213
- - server/target/honeydew-server-0.18.0.jar
214
- homepage:
206
+ - server/target/honeydew-server-0.19.0.jar
207
+ homepage:
215
208
  licenses: []
216
- post_install_message:
209
+ post_install_message:
217
210
  rdoc_options: []
218
211
  require_paths:
219
212
  - lib
220
213
  required_ruby_version: !ruby/object:Gem::Requirement
214
+ none: false
221
215
  requirements:
222
- - - ">="
216
+ - - ! '>='
223
217
  - !ruby/object:Gem::Version
224
- version: !binary |-
225
- MA==
226
- none: false
218
+ version: '0'
227
219
  required_rubygems_version: !ruby/object:Gem::Requirement
220
+ none: false
228
221
  requirements:
229
- - - ">="
222
+ - - ! '>='
230
223
  - !ruby/object:Gem::Version
231
- version: !binary |-
232
- MA==
233
- none: false
224
+ version: '0'
234
225
  requirements: []
235
- rubyforge_project:
236
- rubygems_version: 1.8.24
237
- signing_key:
226
+ rubyforge_project:
227
+ rubygems_version: 1.8.25
228
+ signing_key:
238
229
  specification_version: 3
239
230
  summary: Ruby DSL for controlling Android devices
240
231
  test_files:
241
- - ".rspec"
232
+ - .rspec
242
233
  - examples/rspec/Gemfile
243
234
  - examples/rspec/Rakefile
244
235
  - examples/rspec/spec/browse_spec.rb