honeydew 0.17.0 → 0.18.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.
- data/Rakefile +11 -4
- data/lib/honeydew/device.rb +7 -23
- data/lib/honeydew/honeydew.rb +1 -1
- data/lib/honeydew/version.rb +1 -1
- data/server/pom.xml +1 -1
- data/server/repo/fi/iki/elonen/nanohttpd/2.0.3/nanohttpd-2.0.3.jar +0 -0
- data/server/repo/fi/iki/elonen/nanohttpd-webserver/2.0.3/nanohttpd-webserver-2.0.3.jar +0 -0
- data/server/src/main/java/com/amplify/honeydew_server/Action.java +1 -1
- data/server/src/main/java/com/amplify/honeydew_server/ActionsExecutor.java +3 -5
- data/server/src/main/java/com/amplify/honeydew_server/TestRunner.java +1 -1
- data/server/src/main/java/com/amplify/honeydew_server/actions/Click.java +2 -5
- data/server/src/main/java/com/amplify/honeydew_server/actions/ClickAndWaitForNewWindow.java +2 -5
- data/server/src/main/java/com/amplify/honeydew_server/actions/DumpWindowHierarchy.java +3 -6
- data/server/src/main/java/com/amplify/honeydew_server/actions/HasSettingsMenuItem.java +1 -2
- data/server/src/main/java/com/amplify/honeydew_server/actions/InspectOptionInSettingsMenu.java +2 -3
- data/server/src/main/java/com/amplify/honeydew_server/actions/IsButtonPresent.java +2 -6
- data/server/src/main/java/com/amplify/honeydew_server/actions/IsChildCountEqualTo.java +1 -2
- data/server/src/main/java/com/amplify/honeydew_server/actions/IsElementWithNestedTextPresent.java +2 -7
- data/server/src/main/java/com/amplify/honeydew_server/actions/IsTextPresent.java +2 -4
- data/server/src/main/java/com/amplify/honeydew_server/actions/LaunchApp.java +1 -2
- data/server/src/main/java/com/amplify/honeydew_server/actions/LaunchHome.java +1 -2
- data/server/src/main/java/com/amplify/honeydew_server/actions/LongClick.java +2 -5
- data/server/src/main/java/com/amplify/honeydew_server/actions/PressBack.java +1 -2
- data/server/src/main/java/com/amplify/honeydew_server/actions/PressEnter.java +1 -2
- data/server/src/main/java/com/amplify/honeydew_server/actions/ScrollToTextByIndex.java +1 -2
- data/server/src/main/java/com/amplify/honeydew_server/actions/SelectFromAppsList.java +1 -2
- data/server/src/main/java/com/amplify/honeydew_server/actions/SelectMenuInSettings.java +1 -2
- data/server/src/main/java/com/amplify/honeydew_server/actions/SetText.java +2 -6
- data/server/src/main/java/com/amplify/honeydew_server/actions/SetTextByIndex.java +2 -6
- data/server/src/main/java/com/amplify/honeydew_server/actions/SetTextByLabel.java +2 -6
- data/server/src/main/java/com/amplify/honeydew_server/actions/Unlock.java +2 -6
- data/server/src/main/java/com/amplify/honeydew_server/actions/WakeUp.java +2 -3
- data/server/src/main/java/com/amplify/honeydew_server/httpd/RemoteCommandReceiver.java +7 -9
- data/server/target/honeydew-server-0.18.0.jar +0 -0
- metadata +87 -78
- data/server/target/honeydew-server-0.17.0.jar +0 -0
data/Rakefile
CHANGED
@@ -1,13 +1,20 @@
|
|
1
|
-
require
|
1
|
+
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
|
4
4
|
RSpec::Core::RakeTask.new(:spec)
|
5
5
|
|
6
6
|
task :default => :spec
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
namespace :server do
|
9
|
+
desc 'build android server'
|
10
|
+
task :build do
|
11
|
+
system "cd #{android_server_path} && mvn clean package"
|
12
|
+
end
|
13
|
+
|
14
|
+
desc 'push the server to the device'
|
15
|
+
task push: :build do
|
16
|
+
system "adb push #{android_server_path}/target/honeydew-server-#{Honeydew::VERSION}.jar /data/local/tmp"
|
17
|
+
end
|
11
18
|
end
|
12
19
|
|
13
20
|
def android_server_path
|
data/lib/honeydew/device.rb
CHANGED
@@ -38,21 +38,9 @@ module Honeydew
|
|
38
38
|
private
|
39
39
|
|
40
40
|
def perform_assertion action, arguments = {}, options = {}
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
debug "performing assertion #{action} with arguments #{arguments}"
|
46
|
-
Timeout.timeout Honeydew.config.timeout.to_i, FinderTimeout do
|
47
|
-
begin
|
48
|
-
send_command action, arguments
|
49
|
-
rescue ActionFailedError
|
50
|
-
sleep 0.3
|
51
|
-
retry
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
rescue FinderTimeout
|
41
|
+
perform_action action, arguments, options
|
42
|
+
rescue ActionFailedError
|
43
|
+
false
|
56
44
|
end
|
57
45
|
|
58
46
|
def perform_action action, arguments = {}, options = {}
|
@@ -76,10 +64,10 @@ module Honeydew
|
|
76
64
|
case response
|
77
65
|
when Net::HTTPOK
|
78
66
|
true
|
79
|
-
when Net::
|
67
|
+
when Net::HTTPNoContent
|
80
68
|
raise ActionFailedError.new response.body
|
81
69
|
else
|
82
|
-
raise "honeydew-server failed to process command, response: #{response.
|
70
|
+
raise "honeydew-server failed to process command, response: #{response.body}"
|
83
71
|
end
|
84
72
|
end
|
85
73
|
|
@@ -90,13 +78,9 @@ module Honeydew
|
|
90
78
|
end
|
91
79
|
end
|
92
80
|
|
93
|
-
def timeout_server_operation &block
|
94
|
-
Timeout.timeout(Honeydew.config.server_timeout.to_i, ServerTimeoutError, &block)
|
95
|
-
end
|
96
|
-
|
97
81
|
def wait_for_honeydew_server
|
98
82
|
info 'waiting for honeydew-server to respond'
|
99
|
-
|
83
|
+
Timeout.timeout(Honeydew.config.server_timeout.to_i, ServerTimeoutError) do
|
100
84
|
sleep 0.1 until honeydew_server_alive?
|
101
85
|
end
|
102
86
|
info 'honeydew-server is alive and awaiting commands'
|
@@ -106,7 +90,7 @@ module Honeydew
|
|
106
90
|
end
|
107
91
|
|
108
92
|
def honeydew_server_alive?
|
109
|
-
Net::HTTP.get_response(device_endpoint('/status')).
|
93
|
+
Net::HTTP.get_response(device_endpoint('/status')).is_a?(Net::HTTPSuccess)
|
110
94
|
rescue Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::ETIMEDOUT, Errno::ENETRESET, EOFError
|
111
95
|
end
|
112
96
|
end
|
data/lib/honeydew/honeydew.rb
CHANGED
data/lib/honeydew/version.rb
CHANGED
data/server/pom.xml
CHANGED
Binary file
|
Binary file
|
@@ -23,7 +23,7 @@ public abstract class Action {
|
|
23
23
|
return uiDevice;
|
24
24
|
}
|
25
25
|
|
26
|
-
private
|
26
|
+
private long getTimeoutInMs(Map<String, Object> arguments){
|
27
27
|
return Integer.parseInt((String) arguments.get("timeout")) * 1000;
|
28
28
|
}
|
29
29
|
|
@@ -1,13 +1,11 @@
|
|
1
1
|
package com.amplify.honeydew_server;
|
2
2
|
|
3
3
|
import android.util.Log;
|
4
|
-
import com.android.uiautomator.core.UiDevice;
|
5
4
|
import com.amplify.honeydew_server.actions.*;
|
5
|
+
import com.android.uiautomator.core.UiDevice;
|
6
6
|
|
7
|
-
import java.lang.reflect
|
8
|
-
import java.
|
9
|
-
import java.util.HashMap;
|
10
|
-
import java.util.Set;
|
7
|
+
import java.lang.reflect.*;
|
8
|
+
import java.util.*;
|
11
9
|
|
12
10
|
import static com.google.common.collect.Sets.newHashSet;
|
13
11
|
|
@@ -2,9 +2,9 @@ package com.amplify.honeydew_server;
|
|
2
2
|
|
3
3
|
import android.util.Log;
|
4
4
|
import android.view.KeyEvent;
|
5
|
+
import com.amplify.honeydew_server.httpd.RemoteCommandReceiver;
|
5
6
|
import com.android.uiautomator.core.UiDevice;
|
6
7
|
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
|
7
|
-
import com.amplify.honeydew_server.httpd.RemoteCommandReceiver;
|
8
8
|
import fi.iki.elonen.ServerRunner;
|
9
9
|
|
10
10
|
public class TestRunner extends UiAutomatorTestCase {
|
@@ -1,10 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.amplify.honeydew_server
|
4
|
-
import com.
|
5
|
-
import com.android.uiautomator.core.UiDevice;
|
6
|
-
import com.android.uiautomator.core.UiObject;
|
7
|
-
import com.android.uiautomator.core.UiObjectNotFoundException;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
8
5
|
|
9
6
|
import java.util.Map;
|
10
7
|
|
@@ -1,10 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.
|
4
|
-
import com.android.uiautomator.core
|
5
|
-
import com.android.uiautomator.core.UiObjectNotFoundException;
|
6
|
-
import com.amplify.honeydew_server.Action;
|
7
|
-
import com.amplify.honeydew_server.Result;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
8
5
|
|
9
6
|
import java.util.Map;
|
10
7
|
|
@@ -1,13 +1,10 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.
|
4
|
-
import com.android.uiautomator.core
|
5
|
-
import com.amplify.honeydew_server.Action;
|
6
|
-
import com.amplify.honeydew_server.Result;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
7
5
|
import org.apache.commons.io.FileUtils;
|
8
6
|
|
9
|
-
import java.io
|
10
|
-
import java.io.IOException;
|
7
|
+
import java.io.*;
|
11
8
|
import java.util.Map;
|
12
9
|
|
13
10
|
public class DumpWindowHierarchy extends Action {
|
@@ -1,9 +1,8 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
3
|
import android.widget.TextView;
|
4
|
+
import com.amplify.honeydew_server.*;
|
4
5
|
import com.android.uiautomator.core.*;
|
5
|
-
import com.amplify.honeydew_server.Action;
|
6
|
-
import com.amplify.honeydew_server.Result;
|
7
6
|
|
8
7
|
import java.util.Map;
|
9
8
|
|
data/server/src/main/java/com/amplify/honeydew_server/actions/InspectOptionInSettingsMenu.java
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
3
|
import android.widget.TextView;
|
4
|
-
import com.android.uiautomator.core.*;
|
5
4
|
import com.amplify.honeydew_server.Result;
|
5
|
+
import com.android.uiautomator.core.*;
|
6
6
|
|
7
|
-
import java.util
|
8
|
-
import java.util.Map;
|
7
|
+
import java.util.*;
|
9
8
|
|
10
9
|
public abstract class InspectOptionInSettingsMenu extends SelectMenuInSettings {
|
11
10
|
private Boolean enabled;
|
@@ -1,11 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.
|
4
|
-
import com.android.uiautomator.core
|
5
|
-
import com.android.uiautomator.core.UiObjectNotFoundException;
|
6
|
-
import com.android.uiautomator.core.UiSelector;
|
7
|
-
import com.amplify.honeydew_server.Action;
|
8
|
-
import com.amplify.honeydew_server.Result;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
9
5
|
|
10
6
|
import java.util.Map;
|
11
7
|
|
data/server/src/main/java/com/amplify/honeydew_server/actions/IsElementWithNestedTextPresent.java
CHANGED
@@ -1,12 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.amplify.honeydew_server
|
4
|
-
import com.
|
5
|
-
import com.android.uiautomator.core.UiCollection;
|
6
|
-
import com.android.uiautomator.core.UiDevice;
|
7
|
-
import com.android.uiautomator.core.UiObject;
|
8
|
-
import com.android.uiautomator.core.UiObjectNotFoundException;
|
9
|
-
import com.android.uiautomator.core.UiSelector;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
10
5
|
|
11
6
|
import java.util.Map;
|
12
7
|
|
@@ -1,9 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.
|
4
|
-
import com.android.uiautomator.core
|
5
|
-
import com.amplify.honeydew_server.Action;
|
6
|
-
import com.amplify.honeydew_server.Result;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
7
5
|
|
8
6
|
import java.util.Map;
|
9
7
|
|
@@ -1,10 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.
|
4
|
-
import com.android.uiautomator.core
|
5
|
-
import com.android.uiautomator.core.UiObjectNotFoundException;
|
6
|
-
import com.amplify.honeydew_server.Action;
|
7
|
-
import com.amplify.honeydew_server.Result;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
8
5
|
|
9
6
|
import java.util.Map;
|
10
7
|
|
@@ -1,8 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
3
|
import android.util.Log;
|
4
|
-
import com.amplify.honeydew_server
|
5
|
-
import com.amplify.honeydew_server.Result;
|
4
|
+
import com.amplify.honeydew_server.*;
|
6
5
|
import com.android.uiautomator.core.*;
|
7
6
|
|
8
7
|
import java.util.Map;
|
@@ -1,9 +1,8 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
3
|
import android.widget.TextView;
|
4
|
+
import com.amplify.honeydew_server.*;
|
4
5
|
import com.android.uiautomator.core.*;
|
5
|
-
import com.amplify.honeydew_server.Action;
|
6
|
-
import com.amplify.honeydew_server.Result;
|
7
6
|
|
8
7
|
import java.util.Map;
|
9
8
|
|
@@ -1,9 +1,8 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
3
|
import android.widget.TextView;
|
4
|
+
import com.amplify.honeydew_server.*;
|
4
5
|
import com.android.uiautomator.core.*;
|
5
|
-
import com.amplify.honeydew_server.Action;
|
6
|
-
import com.amplify.honeydew_server.Result;
|
7
6
|
|
8
7
|
import java.util.Map;
|
9
8
|
|
@@ -1,11 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.
|
4
|
-
import com.android.uiautomator.core
|
5
|
-
import com.android.uiautomator.core.UiObjectNotFoundException;
|
6
|
-
import com.android.uiautomator.core.UiSelector;
|
7
|
-
import com.amplify.honeydew_server.Action;
|
8
|
-
import com.amplify.honeydew_server.Result;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
9
5
|
|
10
6
|
import java.util.Map;
|
11
7
|
|
@@ -1,11 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.amplify.honeydew_server
|
4
|
-
import com.
|
5
|
-
import com.android.uiautomator.core.UiDevice;
|
6
|
-
import com.android.uiautomator.core.UiObject;
|
7
|
-
import com.android.uiautomator.core.UiObjectNotFoundException;
|
8
|
-
import com.android.uiautomator.core.UiSelector;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
9
5
|
|
10
6
|
import java.util.Map;
|
11
7
|
|
@@ -1,11 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.
|
4
|
-
import com.android.uiautomator.core
|
5
|
-
import com.android.uiautomator.core.UiObjectNotFoundException;
|
6
|
-
import com.android.uiautomator.core.UiSelector;
|
7
|
-
import com.amplify.honeydew_server.Action;
|
8
|
-
import com.amplify.honeydew_server.Result;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
9
5
|
|
10
6
|
import java.util.Map;
|
11
7
|
|
@@ -1,11 +1,7 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.amplify.honeydew_server
|
4
|
-
import com.
|
5
|
-
import com.android.uiautomator.core.UiDevice;
|
6
|
-
import com.android.uiautomator.core.UiObject;
|
7
|
-
import com.android.uiautomator.core.UiObjectNotFoundException;
|
8
|
-
import com.android.uiautomator.core.UiSelector;
|
3
|
+
import com.amplify.honeydew_server.*;
|
4
|
+
import com.android.uiautomator.core.*;
|
9
5
|
|
10
6
|
import java.util.Map;
|
11
7
|
|
@@ -1,9 +1,8 @@
|
|
1
1
|
package com.amplify.honeydew_server.actions;
|
2
2
|
|
3
|
-
import com.android.uiautomator.core.*;
|
4
|
-
import com.amplify.honeydew_server.Action;
|
5
|
-
import com.amplify.honeydew_server.Result;
|
6
3
|
import android.os.RemoteException;
|
4
|
+
import com.amplify.honeydew_server.*;
|
5
|
+
import com.android.uiautomator.core.*;
|
7
6
|
|
8
7
|
import java.util.Map;
|
9
8
|
|
@@ -1,16 +1,13 @@
|
|
1
1
|
package com.amplify.honeydew_server.httpd;
|
2
2
|
|
3
3
|
import android.util.Log;
|
4
|
-
import com.amplify.honeydew_server
|
5
|
-
import com.amplify.honeydew_server.Command;
|
6
|
-
import com.amplify.honeydew_server.Result;
|
4
|
+
import com.amplify.honeydew_server.*;
|
7
5
|
import com.google.gson.Gson;
|
8
6
|
import com.google.gson.reflect.TypeToken;
|
9
7
|
import fi.iki.elonen.NanoHTTPD;
|
10
8
|
|
11
9
|
import java.io.IOException;
|
12
10
|
import java.lang.reflect.Type;
|
13
|
-
import java.util.HashMap;
|
14
11
|
import java.util.Map;
|
15
12
|
|
16
13
|
public class RemoteCommandReceiver extends NanoHTTPD {
|
@@ -32,11 +29,13 @@ public class RemoteCommandReceiver extends NanoHTTPD {
|
|
32
29
|
@Override
|
33
30
|
public Response serve(String uri, Method method, Map<String, String> headers, Map<String, String> params, Map<String, String> files) {
|
34
31
|
if (method == Method.POST && uri.equalsIgnoreCase("/terminate")) {
|
32
|
+
Log.d(getClass().getName(), "Got terminate request, finishing up...");
|
35
33
|
stop();
|
36
34
|
return terminateOkResponse;
|
37
35
|
} else if (method == Method.POST && uri.equalsIgnoreCase("/command")) {
|
38
36
|
return performCommand(params);
|
39
37
|
} else if (method == Method.GET && uri.equalsIgnoreCase("/status")) {
|
38
|
+
Log.d(getClass().getName(), "Got status request, responding OK");
|
40
39
|
return statusOkResponse;
|
41
40
|
}
|
42
41
|
|
@@ -52,15 +51,14 @@ public class RemoteCommandReceiver extends NanoHTTPD {
|
|
52
51
|
Log.i(getClass().getName(), String.format("Performing action %s: %s for %s", action, argumentJson, params.toString()));
|
53
52
|
try {
|
54
53
|
Result result = actionsExecutor.execute(new Command(action, arguments));
|
55
|
-
if (result.success
|
54
|
+
if (result.success) {
|
56
55
|
return new Response(result.description);
|
57
56
|
} else {
|
58
|
-
|
59
|
-
return new Response(Response.Status.RANGE_NOT_SATISFIABLE, PLAIN_TEXT, result.errorMessage);
|
57
|
+
return new Response(Response.Status.NO_CONTENT, null, (String) null);
|
60
58
|
}
|
61
59
|
} catch(Exception exception) {
|
62
60
|
Log.e(getClass().getName(), String.format("Server error while processing command %s: %s", action, exception.toString()));
|
63
|
-
return new Response(Response.Status.INTERNAL_ERROR, PLAIN_TEXT, exception.
|
61
|
+
return new Response(Response.Status.INTERNAL_ERROR, PLAIN_TEXT, exception.getMessage());
|
64
62
|
}
|
65
63
|
}
|
66
|
-
}
|
64
|
+
}
|
Binary file
|
metadata
CHANGED
@@ -1,121 +1,128 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: honeydew
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
prerelease:
|
5
|
+
version: 0.18.0
|
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-
|
15
|
+
date: 2013-08-07 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activesupport
|
19
|
-
|
20
|
-
none: false
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
21
20
|
requirements:
|
22
|
-
- -
|
21
|
+
- - ">="
|
23
22
|
- !ruby/object:Gem::Version
|
24
|
-
version:
|
25
|
-
|
26
|
-
prerelease: false
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
version: !binary |-
|
24
|
+
MA==
|
28
25
|
none: false
|
26
|
+
requirement: !ruby/object:Gem::Requirement
|
29
27
|
requirements:
|
30
|
-
- -
|
28
|
+
- - ">="
|
31
29
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
30
|
+
version: !binary |-
|
31
|
+
MA==
|
32
|
+
none: false
|
33
|
+
prerelease: false
|
34
|
+
type: :runtime
|
33
35
|
- !ruby/object:Gem::Dependency
|
34
36
|
name: json
|
35
|
-
|
36
|
-
none: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
|
-
- -
|
39
|
+
- - ">="
|
39
40
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
-
|
42
|
-
prerelease: false
|
43
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
version: !binary |-
|
42
|
+
MA==
|
44
43
|
none: false
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: !binary |-
|
49
|
+
MA==
|
50
|
+
none: false
|
51
|
+
prerelease: false
|
52
|
+
type: :runtime
|
49
53
|
- !ruby/object:Gem::Dependency
|
50
54
|
name: bundler
|
51
|
-
|
52
|
-
none: false
|
55
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
56
|
requirements:
|
54
|
-
- - ~>
|
57
|
+
- - "~>"
|
55
58
|
- !ruby/object:Gem::Version
|
56
59
|
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
|
61
62
|
requirements:
|
62
|
-
- - ~>
|
63
|
+
- - "~>"
|
63
64
|
- !ruby/object:Gem::Version
|
64
65
|
version: '1.3'
|
66
|
+
none: false
|
67
|
+
prerelease: false
|
68
|
+
type: :development
|
65
69
|
- !ruby/object:Gem::Dependency
|
66
70
|
name: rake
|
67
|
-
|
68
|
-
none: false
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
69
72
|
requirements:
|
70
|
-
- -
|
73
|
+
- - ">="
|
71
74
|
- !ruby/object:Gem::Version
|
72
|
-
version:
|
73
|
-
|
74
|
-
prerelease: false
|
75
|
-
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
version: !binary |-
|
76
|
+
MA==
|
76
77
|
none: false
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
77
79
|
requirements:
|
78
|
-
- -
|
80
|
+
- - ">="
|
79
81
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
82
|
+
version: !binary |-
|
83
|
+
MA==
|
84
|
+
none: false
|
85
|
+
prerelease: false
|
86
|
+
type: :development
|
81
87
|
- !ruby/object:Gem::Dependency
|
82
88
|
name: rspec
|
83
|
-
|
84
|
-
none: false
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
90
|
requirements:
|
86
|
-
- -
|
91
|
+
- - ">="
|
87
92
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
89
|
-
|
90
|
-
prerelease: false
|
91
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
version: !binary |-
|
94
|
+
MA==
|
92
95
|
none: false
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
93
97
|
requirements:
|
94
|
-
- -
|
98
|
+
- - ">="
|
95
99
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
100
|
+
version: !binary |-
|
101
|
+
MA==
|
102
|
+
none: false
|
103
|
+
prerelease: false
|
104
|
+
type: :development
|
97
105
|
- !ruby/object:Gem::Dependency
|
98
106
|
name: simplecov
|
99
|
-
|
100
|
-
none: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
101
108
|
requirements:
|
102
|
-
- -
|
109
|
+
- - ">="
|
103
110
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
105
|
-
|
106
|
-
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
111
|
+
version: !binary |-
|
112
|
+
MA==
|
108
113
|
none: false
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
109
115
|
requirements:
|
110
|
-
- -
|
116
|
+
- - ">="
|
111
117
|
- !ruby/object:Gem::Version
|
112
|
-
version:
|
113
|
-
|
114
|
-
|
115
|
-
|
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
|
116
125
|
Android devices.
|
117
|
-
|
118
|
-
'
|
119
126
|
email:
|
120
127
|
- scmp-team@amplify.com
|
121
128
|
- jbarker@amplify.com
|
@@ -123,10 +130,10 @@ executables: []
|
|
123
130
|
extensions: []
|
124
131
|
extra_rdoc_files: []
|
125
132
|
files:
|
126
|
-
- .gitignore
|
127
|
-
- .rspec
|
128
|
-
- .ruby-gemset
|
129
|
-
- .ruby-version
|
133
|
+
- ".gitignore"
|
134
|
+
- ".rspec"
|
135
|
+
- ".ruby-gemset"
|
136
|
+
- ".ruby-version"
|
130
137
|
- Gemfile
|
131
138
|
- LICENSE.txt
|
132
139
|
- README.md
|
@@ -203,33 +210,35 @@ files:
|
|
203
210
|
- spec/honeydew/device_matchers_spec.rb
|
204
211
|
- spec/honeydew/device_spec.rb
|
205
212
|
- spec/spec_helper.rb
|
206
|
-
- server/target/honeydew-server-0.
|
207
|
-
homepage:
|
213
|
+
- server/target/honeydew-server-0.18.0.jar
|
214
|
+
homepage:
|
208
215
|
licenses: []
|
209
|
-
post_install_message:
|
216
|
+
post_install_message:
|
210
217
|
rdoc_options: []
|
211
218
|
require_paths:
|
212
219
|
- lib
|
213
220
|
required_ruby_version: !ruby/object:Gem::Requirement
|
214
|
-
none: false
|
215
221
|
requirements:
|
216
|
-
- -
|
222
|
+
- - ">="
|
217
223
|
- !ruby/object:Gem::Version
|
218
|
-
version:
|
219
|
-
|
224
|
+
version: !binary |-
|
225
|
+
MA==
|
220
226
|
none: false
|
227
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
228
|
requirements:
|
222
|
-
- -
|
229
|
+
- - ">="
|
223
230
|
- !ruby/object:Gem::Version
|
224
|
-
version:
|
231
|
+
version: !binary |-
|
232
|
+
MA==
|
233
|
+
none: false
|
225
234
|
requirements: []
|
226
|
-
rubyforge_project:
|
227
|
-
rubygems_version: 1.8.
|
228
|
-
signing_key:
|
235
|
+
rubyforge_project:
|
236
|
+
rubygems_version: 1.8.24
|
237
|
+
signing_key:
|
229
238
|
specification_version: 3
|
230
239
|
summary: Ruby DSL for controlling Android devices
|
231
240
|
test_files:
|
232
|
-
- .rspec
|
241
|
+
- ".rspec"
|
233
242
|
- examples/rspec/Gemfile
|
234
243
|
- examples/rspec/Rakefile
|
235
244
|
- examples/rspec/spec/browse_spec.rb
|
Binary file
|