calabash-android 0.4.7.pre7 → 0.4.7.pre8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/calabash-android/lib/TestServer.apk +0 -0
- data/lib/calabash-android/version.rb +1 -1
- data/test-server/build.xml +8 -1
- data/test-server/instrumentation-backend/.classpath +3 -3
- data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/SoloEnhanced.java +2 -3
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/CalabashInstrumentationTestRunner.java +2 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +5 -4
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Actions.java +12 -37
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/PressListItems.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/search/EnterQueryByIndex.java +3 -0
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19abb342f1359f26b1e7b8a1d53778979a9bde51
|
4
|
+
data.tar.gz: 62aceab9963f035a0263b06902f52b9165d3f26b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7817b6dd4e7864d1a964096b99c29c9b7d3d3bec69772a980d579797f64c75863076372cdeceec9fb05a432994eada5732967383e5b42bd21f58483ba476887
|
7
|
+
data.tar.gz: d66b8cb96a8bc16add49a94c75d94fc5cc2f255d583e9e3b435d28f9b96b5f06d0cb7b5382124968cdd856aabb8bd2e6c930acba854f3e5ab91f8deac12f0ceb
|
Binary file
|
data/test-server/build.xml
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
<condition property="bat" value=".bat" else=""><os family="windows" /></condition>
|
18
18
|
|
19
19
|
<property name="dx" location="${tools.dir}/dx${bat}" />
|
20
|
-
<property name="aapt" location="${tools.dir}/aapt
|
20
|
+
<property name="aapt" location="${tools.dir}/aapt" />
|
21
21
|
|
22
22
|
<property name="android.lib" location="${env.ANDROID_HOME}/platforms/android-${android.api.level}/android.jar"/>
|
23
23
|
<path id="android.antlibs">
|
@@ -64,6 +64,13 @@
|
|
64
64
|
<fileset dir="${calabashjs.dir}"/>
|
65
65
|
</copy>
|
66
66
|
<replace file="${staging.dir}/src/sh/calaba/instrumentationbackend/actions/version/Version.java" token="####VERSION####" value="${version}" failOnNoReplacements="true" />
|
67
|
+
|
68
|
+
<property name="src.dir.absolute" location="${staging.dir}/src" />
|
69
|
+
<pathconvert property="testserver.actions" pathsep="${line.separator}" dirsep=".">
|
70
|
+
<fileset dir="${src.dir.absolute}" includes="sh/calaba/instrumentationbackend/actions/**/*.java" />
|
71
|
+
<globmapper from="${src.dir.absolute}/*.java" to="*" handledirsep="true" />
|
72
|
+
</pathconvert>
|
73
|
+
<echo file="${staging.dir}/assets/actions" message="${testserver.actions}${line.separator}" />
|
67
74
|
</target>
|
68
75
|
|
69
76
|
|
@@ -1,11 +1,11 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<classpath>
|
3
|
-
<classpathentry kind="src" path="src"/>
|
4
|
-
<classpathentry kind="src" path="gen"/>
|
5
3
|
<classpathentry kind="src" path="assets"/>
|
6
4
|
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
7
|
-
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
5
|
+
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
8
6
|
<classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
9
7
|
<classpathentry kind="lib" path="libs/robotium-solo-4.1.jar"/>
|
8
|
+
<classpathentry kind="src" path="src"/>
|
9
|
+
<classpathentry kind="src" path="gen"/>
|
10
10
|
<classpathentry kind="output" path="bin/classes"/>
|
11
11
|
</classpath>
|
data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/SoloEnhanced.java
CHANGED
@@ -2,15 +2,14 @@ package com.jayway.android.robotium.solo;
|
|
2
2
|
|
3
3
|
import java.util.List;
|
4
4
|
|
5
|
-
import android.app.Activity;
|
6
5
|
import android.app.Instrumentation;
|
7
6
|
|
8
7
|
public class SoloEnhanced extends Solo {
|
9
8
|
// private Pincher pincher;
|
10
9
|
private MapViewUtils mapViewUtils;
|
11
10
|
|
12
|
-
public SoloEnhanced(Instrumentation instrumentation
|
13
|
-
super(instrumentation
|
11
|
+
public SoloEnhanced(Instrumentation instrumentation) {
|
12
|
+
super(instrumentation);
|
14
13
|
this.mapViewUtils = new MapViewUtils(instrumentation, viewFetcher, sleeper, waiter);
|
15
14
|
// this.pincher = new Pincher(instrumentation, viewFetcher);
|
16
15
|
}
|
@@ -3,6 +3,7 @@ package sh.calaba.instrumentationbackend;
|
|
3
3
|
import java.lang.reflect.Method;
|
4
4
|
|
5
5
|
import sh.calaba.instrumentationbackend.actions.HttpServer;
|
6
|
+
import android.app.Activity;
|
6
7
|
import android.content.Context;
|
7
8
|
import android.os.Bundle;
|
8
9
|
import android.test.InstrumentationTestRunner;
|
@@ -27,7 +28,7 @@ public class CalabashInstrumentationTestRunner extends InstrumentationTestRunner
|
|
27
28
|
InstrumentationBackend.extras = arguments;
|
28
29
|
|
29
30
|
try {
|
30
|
-
InstrumentationBackend.mainActivity = Class.forName(arguments.getString("main_activity"));
|
31
|
+
InstrumentationBackend.mainActivity = Class.forName(arguments.getString("main_activity")).asSubclass(Activity.class);
|
31
32
|
} catch (ClassNotFoundException e) {
|
32
33
|
throw new RuntimeException(e);
|
33
34
|
}
|
@@ -16,9 +16,9 @@ import android.util.Log;
|
|
16
16
|
import com.jayway.android.robotium.solo.PublicViewFetcher;
|
17
17
|
import com.jayway.android.robotium.solo.SoloEnhanced;
|
18
18
|
|
19
|
-
public class InstrumentationBackend extends ActivityInstrumentationTestCase2 {
|
19
|
+
public class InstrumentationBackend extends ActivityInstrumentationTestCase2<Activity> {
|
20
20
|
public static String testPackage;
|
21
|
-
public static Class mainActivity;
|
21
|
+
public static Class<? extends Activity> mainActivity;
|
22
22
|
public static Bundle extras;
|
23
23
|
|
24
24
|
private static final String TAG = "InstrumentationBackend";
|
@@ -28,8 +28,9 @@ public class InstrumentationBackend extends ActivityInstrumentationTestCase2 {
|
|
28
28
|
public static PublicViewFetcher viewFetcher;
|
29
29
|
public static Actions actions;
|
30
30
|
|
31
|
+
@SuppressWarnings({ "deprecation", "unchecked" })
|
31
32
|
public InstrumentationBackend() {
|
32
|
-
super(testPackage, mainActivity);
|
33
|
+
super(testPackage, (Class<Activity>) mainActivity);
|
33
34
|
}
|
34
35
|
|
35
36
|
@Override
|
@@ -39,7 +40,7 @@ public class InstrumentationBackend extends ActivityInstrumentationTestCase2 {
|
|
39
40
|
i.setClassName(testPackage, mainActivity.getName());
|
40
41
|
i.putExtras(extras);
|
41
42
|
setActivityIntent(i);
|
42
|
-
solo = new SoloEnhanced(getInstrumentation()
|
43
|
+
solo = new SoloEnhanced(getInstrumentation());
|
43
44
|
viewFetcher = new PublicViewFetcher(getInstrumentation(), this.getActivity());
|
44
45
|
actions = new Actions(getInstrumentation(), this);
|
45
46
|
instrumentation = getInstrumentation();
|
data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Actions.java
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
package sh.calaba.instrumentationbackend.actions;
|
2
2
|
|
3
|
-
import java.
|
3
|
+
import java.io.BufferedReader;
|
4
|
+
import java.io.InputStreamReader;
|
4
5
|
import java.util.HashMap;
|
5
6
|
import java.util.Map;
|
6
7
|
|
@@ -12,7 +13,6 @@ import android.content.pm.InstrumentationInfo;
|
|
12
13
|
import android.content.pm.PackageManager;
|
13
14
|
import android.content.pm.PackageManager.NameNotFoundException;
|
14
15
|
import android.test.InstrumentationTestCase;
|
15
|
-
import dalvik.system.DexFile;
|
16
16
|
|
17
17
|
public class Actions {
|
18
18
|
|
@@ -20,8 +20,8 @@ public class Actions {
|
|
20
20
|
public static Instrumentation parentInstrumentation;
|
21
21
|
public static InstrumentationTestCase parentTestCase;
|
22
22
|
private Context context;
|
23
|
-
|
24
|
-
|
23
|
+
private Context targetContext;
|
24
|
+
|
25
25
|
public Actions(Instrumentation parentInstrumentation, InstrumentationTestCase parentTestCase) {
|
26
26
|
Actions.parentInstrumentation = parentInstrumentation;
|
27
27
|
Actions.parentTestCase = parentTestCase;
|
@@ -32,18 +32,16 @@ public class Actions {
|
|
32
32
|
|
33
33
|
private void loadActions() {
|
34
34
|
try {
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
// packages)
|
41
|
-
if (element.startsWith("sh.calaba.instrumentationbackend.actions.")) {
|
42
|
-
addAction(element);
|
35
|
+
BufferedReader reader = new BufferedReader(new InputStreamReader(context.getAssets().open("actions")));
|
36
|
+
try {
|
37
|
+
for (String line = reader.readLine(); line != null; line = reader.readLine()) {
|
38
|
+
String name = line.trim();
|
39
|
+
if (name.length() > 0) addAction(name);
|
43
40
|
}
|
41
|
+
} finally {
|
42
|
+
reader.close();
|
44
43
|
}
|
45
|
-
|
46
|
-
} catch (Exception e) {
|
44
|
+
} catch (Exception e) {
|
47
45
|
throw new RuntimeException(e);
|
48
46
|
}
|
49
47
|
}
|
@@ -84,29 +82,6 @@ public class Actions {
|
|
84
82
|
return action;
|
85
83
|
}
|
86
84
|
|
87
|
-
private String getApkLocation() {
|
88
|
-
PackageManager pm = context.getPackageManager();
|
89
|
-
InstrumentationInfo info = null;
|
90
|
-
try {
|
91
|
-
info = pm.getInstrumentationInfo(new ComponentName(context, parentInstrumentation.getClass()), 0);
|
92
|
-
} catch (NameNotFoundException e) {
|
93
|
-
e.printStackTrace();
|
94
|
-
}
|
95
|
-
return info != null ? info.sourceDir : null;
|
96
|
-
}
|
97
|
-
|
98
|
-
private String getTargetApkLocation() {
|
99
|
-
PackageManager pm = targetContext.getPackageManager();
|
100
|
-
InstrumentationInfo info = null;
|
101
|
-
try {
|
102
|
-
info = pm.getInstrumentationInfo(new ComponentName(targetContext, parentInstrumentation.getClass()), 0);
|
103
|
-
} catch (NameNotFoundException e) {
|
104
|
-
e.printStackTrace();
|
105
|
-
}
|
106
|
-
return info != null ? info.sourceDir : null;
|
107
|
-
}
|
108
|
-
|
109
|
-
|
110
85
|
public Map<String, Action> getActions() {
|
111
86
|
return actions;
|
112
87
|
}
|
@@ -10,7 +10,7 @@ public class PressListItems implements Action {
|
|
10
10
|
|
11
11
|
@Override
|
12
12
|
public Result execute(String... args) {
|
13
|
-
InstrumentationBackend.solo.clickInList(Integer.parseInt(args[0])
|
13
|
+
InstrumentationBackend.solo.clickInList(Integer.parseInt(args[0]), Integer.parseInt(args[1]));
|
14
14
|
return Result.successResult();
|
15
15
|
}
|
16
16
|
|
@@ -1,10 +1,13 @@
|
|
1
1
|
package sh.calaba.instrumentationbackend.actions.search;
|
2
2
|
|
3
|
+
import android.annotation.TargetApi;
|
4
|
+
import android.os.Build;
|
3
5
|
import android.widget.SearchView;
|
4
6
|
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
5
7
|
import sh.calaba.instrumentationbackend.Result;
|
6
8
|
import sh.calaba.instrumentationbackend.actions.Action;
|
7
9
|
|
10
|
+
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
8
11
|
public class EnterQueryByIndex implements Action {
|
9
12
|
@Override
|
10
13
|
public Result execute(String... args) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: calabash-android
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.7.
|
4
|
+
version: 0.4.7.pre8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonas Maturana Larsen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -861,4 +861,3 @@ signing_key:
|
|
861
861
|
specification_version: 4
|
862
862
|
summary: Client for calabash-android for automated functional testing on Android
|
863
863
|
test_files: []
|
864
|
-
has_rdoc:
|