calabash-android 0.4.19.pre3 → 0.4.19.pre4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/calabash-android/lib/TestServer.apk +0 -0
- data/lib/calabash-android/operations.rb +28 -9
- data/lib/calabash-android/version.rb +1 -1
- data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/SoloEnhanced.java +6 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DoubleTapCoordinate.java +25 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/LongPressCoordinate.java +25 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 892daba236fc763e62fe4a2f916fa069c89160b8
|
4
|
+
data.tar.gz: dcf99876dcbe495a13add995e5691d229f49202a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af842f99bd51c0aa241fc6e52509525083e43a7cccea261abf0b24de1412382ce02e94a06319d8492b92f0ea4c38b912f7cf3bd9afffde8e0f072f47c26b8d80
|
7
|
+
data.tar.gz: 10ee7275d1c1b0363fbd1064e41c3f676717a559b2363fac33add5f409da3a5a9b79ae8bcdf58aa5dff0956c10b2929e285b5e364101c5580626c0ab9acebbc8
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
calabash-android (0.4.19.
|
4
|
+
calabash-android (0.4.19.pre4)
|
5
5
|
awesome_print
|
6
6
|
cucumber
|
7
7
|
escape (~> 0.0.4)
|
@@ -40,7 +40,7 @@ GEM
|
|
40
40
|
slowhandcuke (0.0.3)
|
41
41
|
cucumber
|
42
42
|
thor (0.18.1)
|
43
|
-
xamarin-test-cloud (0.9.
|
43
|
+
xamarin-test-cloud (0.9.27)
|
44
44
|
bundler (>= 1.3.0, < 2.0)
|
45
45
|
json
|
46
46
|
rest-client (~> 1.6.7)
|
Binary file
|
@@ -701,11 +701,29 @@ module Operations
|
|
701
701
|
raise(msg)
|
702
702
|
end
|
703
703
|
|
704
|
-
def
|
705
|
-
|
704
|
+
def double_tap(uiquery, options = {})
|
705
|
+
center_x, center_y = find_coordinate(uiquery)
|
706
|
+
|
707
|
+
performAction("double_tap_coordinate", center_x, center_y)
|
708
|
+
end
|
709
|
+
|
710
|
+
def long_press(uiquery, options = {})
|
711
|
+
center_x, center_y = find_coordinate(uiquery)
|
712
|
+
|
713
|
+
performAction("long_press_coordinate", center_x, center_y)
|
714
|
+
end
|
715
|
+
|
716
|
+
def touch(uiquery, options = {})
|
717
|
+
center_x, center_y = find_coordinate(uiquery)
|
718
|
+
|
719
|
+
performAction("touch_coordinate", center_x, center_y)
|
720
|
+
end
|
721
|
+
|
722
|
+
def find_coordinate(uiquery)
|
723
|
+
raise "Cannot find nil" unless uiquery
|
706
724
|
|
707
725
|
if uiquery.instance_of? String
|
708
|
-
elements = query(uiquery
|
726
|
+
elements = query(uiquery)
|
709
727
|
raise "No elements found. Query: #{uiquery}" if elements.empty?
|
710
728
|
element = elements.first
|
711
729
|
else
|
@@ -713,10 +731,10 @@ module Operations
|
|
713
731
|
element = element.first if element.instance_of?(Array)
|
714
732
|
end
|
715
733
|
|
716
|
-
|
717
734
|
center_x = element["rect"]["center_x"]
|
718
735
|
center_y = element["rect"]["center_y"]
|
719
|
-
|
736
|
+
|
737
|
+
[center_x, center_y]
|
720
738
|
end
|
721
739
|
|
722
740
|
def http(path, data = {}, options = {})
|
@@ -728,12 +746,13 @@ module Operations
|
|
728
746
|
end
|
729
747
|
|
730
748
|
def set_text(uiquery, txt)
|
731
|
-
|
732
|
-
|
733
|
-
|
749
|
+
view,arguments = uiquery.split(" ",2)
|
750
|
+
raise "Currently queries are only supported for webviews" unless view.downcase == "webview"
|
751
|
+
|
752
|
+
if arguments =~ /(css|xpath):\s*(.*)/
|
734
753
|
r = performAction("set_text", $1, $2, txt)
|
735
754
|
else
|
736
|
-
raise "Invalid query #{
|
755
|
+
raise "Invalid query #{arguments}"
|
737
756
|
end
|
738
757
|
end
|
739
758
|
|
data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/SoloEnhanced.java
CHANGED
@@ -4,6 +4,7 @@ import java.util.List;
|
|
4
4
|
|
5
5
|
import android.app.Activity;
|
6
6
|
import android.app.Instrumentation;
|
7
|
+
import android.graphics.PointF;
|
7
8
|
|
8
9
|
public class SoloEnhanced extends Solo {
|
9
10
|
private MapViewUtils mapViewUtils;
|
@@ -72,4 +73,9 @@ public class SoloEnhanced extends Solo {
|
|
72
73
|
public List<String> getMapBounds() {
|
73
74
|
return mapViewUtils.getBounds();
|
74
75
|
}
|
76
|
+
|
77
|
+
public void doubleTapOnScreen(float x, float y) {
|
78
|
+
clicker.clickOnScreen(x,y);
|
79
|
+
clicker.clickOnScreen(x,y);
|
80
|
+
}
|
75
81
|
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
package sh.calaba.instrumentationbackend.actions.gestures;
|
2
|
+
|
3
|
+
import android.view.Display;
|
4
|
+
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
5
|
+
import sh.calaba.instrumentationbackend.Result;
|
6
|
+
import sh.calaba.instrumentationbackend.actions.Action;
|
7
|
+
|
8
|
+
public class DoubleTapCoordinate implements Action {
|
9
|
+
@Override
|
10
|
+
public Result execute(String... args) {
|
11
|
+
Display display = InstrumentationBackend.solo.getCurrentActivity().getWindowManager().getDefaultDisplay();
|
12
|
+
|
13
|
+
float x = Float.parseFloat(args[0]);
|
14
|
+
float y = Float.parseFloat(args[1]);
|
15
|
+
|
16
|
+
InstrumentationBackend.solo.doubleTapOnScreen(x, y);
|
17
|
+
|
18
|
+
return Result.successResult();
|
19
|
+
}
|
20
|
+
|
21
|
+
@Override
|
22
|
+
public String key() {
|
23
|
+
return "double_tap_coordinate";
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
package sh.calaba.instrumentationbackend.actions.gestures;
|
2
|
+
|
3
|
+
import android.view.Display;
|
4
|
+
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
5
|
+
import sh.calaba.instrumentationbackend.Result;
|
6
|
+
import sh.calaba.instrumentationbackend.actions.Action;
|
7
|
+
|
8
|
+
public class LongPressCoordinate implements Action {
|
9
|
+
@Override
|
10
|
+
public Result execute(String... args) {
|
11
|
+
Display display = InstrumentationBackend.solo.getCurrentActivity().getWindowManager().getDefaultDisplay();
|
12
|
+
|
13
|
+
float x = Float.parseFloat(args[0]);
|
14
|
+
float y = Float.parseFloat(args[1]);
|
15
|
+
|
16
|
+
InstrumentationBackend.solo.clickLongOnScreen(x, y);
|
17
|
+
|
18
|
+
return Result.successResult();
|
19
|
+
}
|
20
|
+
|
21
|
+
@Override
|
22
|
+
public String key() {
|
23
|
+
return "long_press_coordinate";
|
24
|
+
}
|
25
|
+
}
|
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.19.
|
4
|
+
version: 0.4.19.pre4
|
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: 2014-01-
|
11
|
+
date: 2014-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -344,8 +344,10 @@ files:
|
|
344
344
|
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByIndex.java
|
345
345
|
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByText.java
|
346
346
|
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/ClickOnScreen.java
|
347
|
+
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DoubleTapCoordinate.java
|
347
348
|
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Drag.java
|
348
349
|
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DragCoordinates.java
|
350
|
+
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/LongPressCoordinate.java
|
349
351
|
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java
|
350
352
|
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/TouchCoordinates.java
|
351
353
|
- test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/InspectCurrentDialog.java
|