testautoa 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +7 -7
- data/bin/calabash-android +8 -1
- data/bin/calabash-android-build.rb +1 -1
- data/bin/calabash-android-console.rb +4 -4
- data/bin/calabash-android-run.rb +2 -10
- data/bin/testautoa +461 -0
- data/calabash-android.gemspec +3 -1
- data/features-skeleton/support/app_life_cycle_hooks.rb +0 -1
- data/irbrc +3 -1
- data/lib/calabash-android/helpers.rb +45 -17
- data/lib/calabash-android/lib/TestServer.apk +0 -0
- data/lib/calabash-android/lib/unsign.jar +0 -0
- data/lib/calabash-android/operations.rb +150 -66
- data/lib/calabash-android/steps/list_steps.rb +1 -1
- data/lib/calabash-android/steps/time_picker_steps.rb +1 -1
- data/lib/calabash-android/touch_helpers.rb +9 -0
- data/lib/calabash-android/version.rb +1 -1
- data/lib/calabash-android/wait_helpers.rb +93 -0
- data/test-server/AndroidManifest.xml +2 -0
- data/test-server/build.xml +1 -0
- data/test-server/instrumentation-backend/.classpath +0 -1
- data/test-server/instrumentation-backend/AndroidManifest.xml +1 -1
- data/test-server/instrumentation-backend/antlr/UIQuery.g +48 -5
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Command.java +4 -3
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/FranklyResult.java +95 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +7 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +14 -29
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/FinishOpenedActivities.java +19 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GetOpenedActivities.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/GoBackToActivity.java +67 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DragCoordinates.java +28 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +11 -5
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/location/FakeGPSLocation.java +13 -10
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/LeftKey.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/RightKey.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/UpKey.java +24 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/version/Version.java +31 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +131 -36
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +38 -18
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +38 -16
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +94 -66
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteAsyncJavascript.java +55 -33
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteJavascript.java +53 -31
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/JavaScriptOperation.java +44 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/PressByCssSelector.java +52 -27
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +39 -32
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +56 -41
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +50 -25
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetText.java +19 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/CompletedFuture.java +40 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/InvocationOperation.java +222 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Operation.java +7 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/PropertyOperation.java +56 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Query.java +151 -43
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQuery.tokens +19 -12
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQueryResultVoid.java +22 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ViewMapper.java +41 -11
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryLexer.java +1010 -242
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryParser.java +406 -98
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/BeginsWithRelation.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ComparisonOperator.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ContainsRelation.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/EndsWithRelation.java +42 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/LikeRelation.java +79 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/PartialFutureList.java +100 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryAST.java +1 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTClassName.java +54 -25
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicate.java +147 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicateRelation.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTWith.java +153 -89
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryDirection.java +12 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryEvaluator.java +58 -141
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +162 -7
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryVisibility.java +32 -0
- metadata +130 -97
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Query.java +0 -24
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Touch.java +0 -44
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQuery.tokens +0 -10
- data/test-server/instrumentation-backend/tests/sh/calaba/instrumentationbackend/query/tests/UIQueryTest.java +0 -134
@@ -1,134 +0,0 @@
|
|
1
|
-
package sh.calaba.instrumentationbackend.query.tests;
|
2
|
-
|
3
|
-
import java.util.Arrays;
|
4
|
-
import java.util.Collections;
|
5
|
-
import java.util.List;
|
6
|
-
|
7
|
-
import junit.framework.TestCase;
|
8
|
-
import sh.calaba.instrumentationbackend.query.ast.UIQueryAST;
|
9
|
-
import sh.calaba.instrumentationbackend.query.ast.UIQueryASTClassName;
|
10
|
-
import sh.calaba.instrumentationbackend.query.ast.UIQueryEvaluator;
|
11
|
-
|
12
|
-
public class UIQueryTest extends TestCase {
|
13
|
-
|
14
|
-
@SuppressWarnings("rawtypes")
|
15
|
-
public void testEvaluateQueryOnEmpty() {
|
16
|
-
String query = "button";
|
17
|
-
List res = UIQueryEvaluator.evaluateQuery(query, Collections.EMPTY_LIST);
|
18
|
-
assertEquals(0, res.size());
|
19
|
-
}
|
20
|
-
|
21
|
-
public void testConvertSimpleQueryToUIQueryAst() throws Exception {
|
22
|
-
List<UIQueryAST> parsedQuery = UIQueryEvaluator.parseQuery("button");
|
23
|
-
assertEquals(1, parsedQuery.size());
|
24
|
-
|
25
|
-
UIQueryAST uiQueryAST = parsedQuery.get(0);
|
26
|
-
|
27
|
-
assertTrue(uiQueryAST instanceof UIQueryASTClassName);
|
28
|
-
assertEquals("button", ((UIQueryASTClassName)uiQueryAST).simpleClassName);
|
29
|
-
|
30
|
-
}
|
31
|
-
|
32
|
-
public void testConvertQualifiedQueryToUIQueryAst() throws Exception {
|
33
|
-
List<UIQueryAST> parsedQuery = UIQueryEvaluator.parseQuery("junit.framework.TestCase");
|
34
|
-
assertEquals(1, parsedQuery.size());
|
35
|
-
|
36
|
-
UIQueryAST uiQueryAST = parsedQuery.get(0);
|
37
|
-
|
38
|
-
assertTrue(uiQueryAST instanceof UIQueryASTClassName);
|
39
|
-
assertEquals(junit.framework.TestCase.class, ((UIQueryASTClassName)uiQueryAST).qualifiedClassName);
|
40
|
-
}
|
41
|
-
|
42
|
-
public void testConvertComposedQueryToUIQueryAst() throws Exception {
|
43
|
-
List<UIQueryAST> parsedQuery = UIQueryEvaluator.parseQuery("view button");
|
44
|
-
assertEquals(2, parsedQuery.size());
|
45
|
-
|
46
|
-
UIQueryAST uiQueryASTFirst = parsedQuery.get(0);
|
47
|
-
UIQueryAST uiQueryASTSecond = parsedQuery.get(1);
|
48
|
-
|
49
|
-
assertTrue(uiQueryASTFirst instanceof UIQueryASTClassName);
|
50
|
-
assertTrue(uiQueryASTSecond instanceof UIQueryASTClassName);
|
51
|
-
|
52
|
-
assertEquals("view", ((UIQueryASTClassName)uiQueryASTFirst).simpleClassName);
|
53
|
-
assertEquals("button", ((UIQueryASTClassName)uiQueryASTSecond).simpleClassName);
|
54
|
-
|
55
|
-
}
|
56
|
-
|
57
|
-
|
58
|
-
private static class View {
|
59
|
-
@SuppressWarnings("rawtypes")
|
60
|
-
List views;
|
61
|
-
|
62
|
-
@SuppressWarnings("rawtypes")
|
63
|
-
public View(List views) {
|
64
|
-
super();
|
65
|
-
this.views = views;
|
66
|
-
}
|
67
|
-
public Object getChildAt(int idx)
|
68
|
-
{
|
69
|
-
return this.views.get(idx);
|
70
|
-
}
|
71
|
-
@SuppressWarnings("unused")
|
72
|
-
public Object getChildCount() {return this.views.size();}
|
73
|
-
|
74
|
-
}
|
75
|
-
private static class SubView extends View {
|
76
|
-
|
77
|
-
@SuppressWarnings("rawtypes")
|
78
|
-
public SubView(List views) {
|
79
|
-
super(views);
|
80
|
-
}
|
81
|
-
|
82
|
-
}
|
83
|
-
private static class Button extends View {
|
84
|
-
|
85
|
-
@SuppressWarnings("rawtypes")
|
86
|
-
public Button(List views) {
|
87
|
-
super(views);
|
88
|
-
// TODO Auto-generated constructor stub
|
89
|
-
}
|
90
|
-
|
91
|
-
}
|
92
|
-
|
93
|
-
@SuppressWarnings("rawtypes")
|
94
|
-
public void testEvaluateSimpleQuery() throws Exception {
|
95
|
-
List<View> views = setupViews();
|
96
|
-
|
97
|
-
List evaluateQuery = UIQueryEvaluator.evaluateQuery("subview", views);
|
98
|
-
assertEquals(1, evaluateQuery.size());
|
99
|
-
assertTrue(evaluateQuery.get(0) instanceof SubView);
|
100
|
-
|
101
|
-
List evaluateQueryButtons = UIQueryEvaluator.evaluateQuery("button", views);
|
102
|
-
assertEquals(3, evaluateQueryButtons.size());
|
103
|
-
assertTrue(evaluateQueryButtons.get(0) instanceof Button);
|
104
|
-
assertTrue(evaluateQueryButtons.get(1) instanceof Button);
|
105
|
-
assertTrue(evaluateQueryButtons.get(2) instanceof Button);
|
106
|
-
|
107
|
-
}
|
108
|
-
|
109
|
-
|
110
|
-
@SuppressWarnings("rawtypes")
|
111
|
-
public void testEvaluateComposedQuery() throws Exception {
|
112
|
-
List<View> views = setupViews();
|
113
|
-
SubView vv = (SubView) views.get(1);
|
114
|
-
Button b = (Button) vv.getChildAt(0);
|
115
|
-
|
116
|
-
List evaluateQuery = UIQueryEvaluator.evaluateQuery("subview button", views);
|
117
|
-
assertEquals(1, evaluateQuery.size());
|
118
|
-
assertTrue(evaluateQuery.get(0) instanceof Button);
|
119
|
-
assertEquals(evaluateQuery.get(0), b);
|
120
|
-
|
121
|
-
|
122
|
-
}
|
123
|
-
|
124
|
-
private List<View> setupViews() {
|
125
|
-
return Arrays.asList(new View[]{
|
126
|
-
new Button(Collections.EMPTY_LIST),
|
127
|
-
new SubView(Arrays.asList(new View[]{
|
128
|
-
new Button(Collections.EMPTY_LIST)
|
129
|
-
})),
|
130
|
-
new Button(Collections.EMPTY_LIST)
|
131
|
-
});
|
132
|
-
}
|
133
|
-
|
134
|
-
}
|