calabash-android 0.4.22.pre4 → 0.5.0.pre1
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.
- checksums.yaml +4 -4
- data/bin/calabash-android +66 -45
- data/lib/calabash-android/calabash_steps.rb +0 -8
- data/lib/calabash-android/canned_steps.md +2 -30
- data/lib/calabash-android/lib/TestServer.apk +0 -0
- data/lib/calabash-android/operations.rb +199 -23
- data/lib/calabash-android/removed_actions.txt +52 -0
- data/lib/calabash-android/steps/assert_steps.rb +9 -24
- data/lib/calabash-android/steps/check_box_steps.rb +2 -2
- data/lib/calabash-android/steps/context_menu_steps.rb +11 -4
- data/lib/calabash-android/steps/date_picker_steps.rb +2 -2
- data/lib/calabash-android/steps/enter_text_steps.rb +13 -13
- data/lib/calabash-android/steps/l10n_steps.rb +5 -5
- data/lib/calabash-android/steps/map_steps.rb +12 -12
- data/lib/calabash-android/steps/navigation_steps.rb +12 -12
- data/lib/calabash-android/steps/press_button_steps.rb +16 -12
- data/lib/calabash-android/steps/progress_steps.rb +19 -22
- data/lib/calabash-android/steps/search_steps.rb +2 -2
- data/lib/calabash-android/steps/spinner_steps.rb +10 -2
- data/lib/calabash-android/steps/time_picker_steps.rb +2 -2
- data/lib/calabash-android/version.rb +1 -1
- data/lib/calabash-android/wait_helpers.rb +29 -1
- data/test-server/instrumentation-backend/antlr/UIQuery.g +11 -11
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/CalabashInstrumentationTestRunner.java +3 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +9 -4
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +16 -12
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/application/Backdoor.java +55 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/LongPressCoordinate.java +19 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/JavaScriptExecuter.java +105 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +27 -30
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ViewMapper.java +27 -18
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ComparisonOperator.java +7 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicate.java +16 -4
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTWith.java +13 -6
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +94 -48
- metadata +5 -59
- data/lib/calabash-android/steps/additions_manual_steps.rb +0 -11
- data/lib/calabash-android/steps/app_steps.rb +0 -10
- data/lib/calabash-android/steps/list_steps.rb +0 -41
- data/lib/calabash-android/steps/rotation_steps.rb +0 -7
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonNumber.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressButtonText.java +0 -27
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonDescription.java +0 -39
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/PressImageButtonNumber.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/button/WaitForButton.java +0 -47
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/checkbox/ToggleCheckboxNumber.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressText.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuById.java +0 -26
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByIndex.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/contextmenu/LongPressTextAndSelectFromMenuByText.java +0 -26
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/InspectCurrentDialog.java +0 -76
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListData.java +0 -85
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemProperties.java +0 -194
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/GetListItemText.java +0 -136
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/LongPressListItems.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/list/PressListItems.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollDown.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/scrolling/ScrollUp.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/search/EnterQueryByIndex.java +0 -29
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/SelectFromMenuByText.java +0 -24
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/spinner/GetSelectedSpinnerItemText.java +0 -36
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/spinner/SelectSpinnerItemByContentDescription.java +0 -43
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertGridViewContainsNoDuplicates.java +0 -72
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertText.java +0 -31
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/AssertTextOfSpecificTextViewByContentDescription.java +0 -32
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextById.java +0 -30
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextByIndex.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClearTextFieldByContentDescription.java +0 -33
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/ClickOnText.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByContentDescription.java +0 -32
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextById.java +0 -33
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/EnterTextByIndex.java +0 -22
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/GetTextById.java +0 -42
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/AssertViewProperty.java +0 -141
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/ClickOnViewByDescription.java +0 -46
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/ClickOnViewById.java +0 -56
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/GetViewProperty.java +0 -101
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/HasView.java +0 -31
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/IsEnabled.java +0 -30
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/LongPressOnViewById.java +0 -34
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/Press.java +0 -89
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/SelectTab.java +0 -110
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/Wait.java +0 -24
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForDialogClose.java +0 -21
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForProgress.java +0 -47
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForScreen.java +0 -54
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForTab.java +0 -108
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForText.java +0 -37
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForView.java +0 -43
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/wait/WaitForViewById.java +0 -58
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/JavaScriptOperation.java +0 -44
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/PressByCssSelector.java +0 -70
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetText.java +0 -64
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.list;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
5
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
6
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
public class LongPressListItems implements Action {
|
|
10
|
-
|
|
11
|
-
@Override
|
|
12
|
-
public Result execute(String... args) {
|
|
13
|
-
InstrumentationBackend.solo.clickLongInList(Integer.parseInt(args[0]) - 1, Integer.parseInt(args[1]));
|
|
14
|
-
return Result.successResult();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@Override
|
|
18
|
-
public String key() {
|
|
19
|
-
return "long_press_list_item";
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.list;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
5
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
6
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
public class PressListItems implements Action {
|
|
10
|
-
|
|
11
|
-
@Override
|
|
12
|
-
public Result execute(String... args) {
|
|
13
|
-
InstrumentationBackend.solo.clickInList(Integer.parseInt(args[0]), Integer.parseInt(args[1]));
|
|
14
|
-
return Result.successResult();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@Override
|
|
18
|
-
public String key() {
|
|
19
|
-
return "press_list_item";
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.scrolling;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
5
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
6
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
public class ScrollDown implements Action {
|
|
10
|
-
|
|
11
|
-
@Override
|
|
12
|
-
public Result execute(String... args) {
|
|
13
|
-
InstrumentationBackend.solo.scrollDown();
|
|
14
|
-
return Result.successResult();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@Override
|
|
18
|
-
public String key() {
|
|
19
|
-
return "scroll_down";
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.scrolling;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
5
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
6
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
public class ScrollUp implements Action {
|
|
10
|
-
|
|
11
|
-
@Override
|
|
12
|
-
public Result execute(String... args) {
|
|
13
|
-
InstrumentationBackend.solo.scrollUp();
|
|
14
|
-
return Result.successResult();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@Override
|
|
18
|
-
public String key() {
|
|
19
|
-
return "scroll_up";
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.search;
|
|
2
|
-
|
|
3
|
-
import android.annotation.TargetApi;
|
|
4
|
-
import android.os.Build;
|
|
5
|
-
import android.widget.SearchView;
|
|
6
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
7
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
8
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
9
|
-
|
|
10
|
-
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
|
11
|
-
public class EnterQueryByIndex implements Action {
|
|
12
|
-
@Override
|
|
13
|
-
public Result execute(String... args) {
|
|
14
|
-
|
|
15
|
-
final String query = args[0];
|
|
16
|
-
final SearchView view = (SearchView) InstrumentationBackend.solo.getView(SearchView.class, Integer.parseInt(args[1]) - 1);
|
|
17
|
-
InstrumentationBackend.solo.getCurrentActivity().runOnUiThread(new Runnable() {
|
|
18
|
-
public void run() {
|
|
19
|
-
view.setQuery(query, true);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
return Result.successResult();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@Override
|
|
26
|
-
public String key() {
|
|
27
|
-
return "enter_query_into_numbered_field";
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.softkey;
|
|
2
|
-
|
|
3
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
4
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
5
|
-
import sh.calaba.instrumentationbackend.TestHelpers;
|
|
6
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
7
|
-
import sh.calaba.instrumentationbackend.actions.Actions;
|
|
8
|
-
|
|
9
|
-
import com.jayway.android.robotium.solo.Solo;
|
|
10
|
-
|
|
11
|
-
public class SelectFromMenuByText implements Action {
|
|
12
|
-
|
|
13
|
-
@Override
|
|
14
|
-
public Result execute(String... args) {
|
|
15
|
-
InstrumentationBackend.solo.clickOnMenuItem(args[0]);
|
|
16
|
-
return Result.successResult();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@Override
|
|
20
|
-
public String key() {
|
|
21
|
-
return "select_from_menu";
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.spinner;
|
|
2
|
-
|
|
3
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
4
|
-
import sh.calaba.instrumentationbackend.TestHelpers;
|
|
5
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
6
|
-
import android.widget.Spinner;
|
|
7
|
-
|
|
8
|
-
public class GetSelectedSpinnerItemText implements Action {
|
|
9
|
-
|
|
10
|
-
@Override
|
|
11
|
-
public Result execute(String... args) {
|
|
12
|
-
final String idArgument = args[0];
|
|
13
|
-
final Spinner foundView = TestHelpers.getViewById(idArgument, Spinner.class);
|
|
14
|
-
|
|
15
|
-
if( null == foundView ) {
|
|
16
|
-
return notFoundResult(idArgument);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return new Result(true, getSelectedSpinnerText(foundView));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
private String getSelectedSpinnerText(final Spinner foundView) {
|
|
23
|
-
Object selectedItem = foundView.getSelectedItem();
|
|
24
|
-
return (null != selectedItem) ? selectedItem.toString() : "";
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
private Result notFoundResult(final String idArgument) {
|
|
28
|
-
return Result.failedResult(String.format("Could not find %s with id %s.", Spinner.class.getName(), idArgument));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@Override
|
|
32
|
-
public String key() {
|
|
33
|
-
return "get_selected_spinner_item_text";
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.spinner;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
5
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
6
|
-
import sh.calaba.instrumentationbackend.TestHelpers;
|
|
7
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
8
|
-
import android.view.View;
|
|
9
|
-
import android.widget.Spinner;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Action for selecting a item from a Spinner
|
|
13
|
-
* First arg is the content description of the Spinner
|
|
14
|
-
* Second arg is the text of the item to be selected
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
public class SelectSpinnerItemByContentDescription implements Action {
|
|
18
|
-
|
|
19
|
-
@Override
|
|
20
|
-
public Result execute(String... args) {
|
|
21
|
-
String contentDescription = args[0];
|
|
22
|
-
String item = args[1];
|
|
23
|
-
View view = TestHelpers.getViewByDescription(contentDescription);
|
|
24
|
-
if(view == null) {
|
|
25
|
-
|
|
26
|
-
return new Result(false, "No view found with content description: '" + contentDescription + "'");
|
|
27
|
-
} else if (!(view instanceof Spinner)) {
|
|
28
|
-
return new Result(false, "Expected Spinner found: '" + view.getClass() + "'");
|
|
29
|
-
} else {
|
|
30
|
-
//Open spinner
|
|
31
|
-
InstrumentationBackend.solo.clickOnView(view);
|
|
32
|
-
//Select item
|
|
33
|
-
InstrumentationBackend.solo.clickOnText(item);
|
|
34
|
-
return Result.successResult();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
@Override
|
|
39
|
-
public String key() {
|
|
40
|
-
return "select_item_from_named_spinner";
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.text;
|
|
2
|
-
|
|
3
|
-
import java.util.ArrayList;
|
|
4
|
-
import java.util.LinkedList;
|
|
5
|
-
|
|
6
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
7
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
8
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
9
|
-
import android.widget.GridView;
|
|
10
|
-
import android.widget.TextView;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Optional arg is 1-based index - eg: assert_no_duplicates_in_grid, "1" examines the first grid
|
|
14
|
-
* @author Nicholas Albion
|
|
15
|
-
*/
|
|
16
|
-
public class AssertGridViewContainsNoDuplicates implements Action {
|
|
17
|
-
|
|
18
|
-
@Override
|
|
19
|
-
public Result execute(String... args) {
|
|
20
|
-
ArrayList<GridView> gridViews = InstrumentationBackend.solo.getCurrentViews(GridView.class);
|
|
21
|
-
|
|
22
|
-
if( gridViews.size() == 0 ) {
|
|
23
|
-
return new Result(false, "Could not find any grid views");
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
int index;
|
|
27
|
-
LinkedList<String> duplicates;
|
|
28
|
-
if( args.length == 1 ) {
|
|
29
|
-
index = Integer.parseInt(args[0]) - 1;
|
|
30
|
-
duplicates = assertNoDuplicatesInGrid( gridViews.get(index) );
|
|
31
|
-
} else {
|
|
32
|
-
index = gridViews.size() - 1;
|
|
33
|
-
do {
|
|
34
|
-
GridView gridView = gridViews.get(index);
|
|
35
|
-
duplicates = assertNoDuplicatesInGrid(gridView);
|
|
36
|
-
if( duplicates.size() != 0 ) {
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
} while( index-- != 0 );
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if( duplicates.size() == 0 ) {
|
|
43
|
-
return Result.successResult();
|
|
44
|
-
} else {
|
|
45
|
-
Result result = new Result(false, "Duplicates were found in GridView #" + (index + 1) + ": " + duplicates);
|
|
46
|
-
result.setExtras( duplicates );
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
private LinkedList<String> assertNoDuplicatesInGrid( GridView gridView ) {
|
|
52
|
-
//InstrumentationBackend.solo.getViews( gridView );
|
|
53
|
-
ArrayList<TextView> textViews = InstrumentationBackend.solo.getCurrentViews(TextView.class, gridView );
|
|
54
|
-
LinkedList<String> textValues = new LinkedList<String>();
|
|
55
|
-
LinkedList<String> duplicates = new LinkedList<String>();
|
|
56
|
-
|
|
57
|
-
for (TextView textView : textViews) {
|
|
58
|
-
String text = textView.getText().toString();
|
|
59
|
-
if( textValues.contains(text) ) {
|
|
60
|
-
duplicates.add(text);
|
|
61
|
-
} else {
|
|
62
|
-
textValues.add(text);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return duplicates;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@Override
|
|
69
|
-
public String key() {
|
|
70
|
-
return "assert_no_duplicates_in_grid";
|
|
71
|
-
}
|
|
72
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.text;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
5
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
6
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
public class AssertText implements Action {
|
|
10
|
-
|
|
11
|
-
@Override
|
|
12
|
-
public Result execute(String... args) {
|
|
13
|
-
String text = args[0];
|
|
14
|
-
boolean found = InstrumentationBackend.solo.searchText(text, true);
|
|
15
|
-
boolean shouldBeFound = Boolean.parseBoolean(args[1]);
|
|
16
|
-
|
|
17
|
-
if(shouldBeFound && !found) {
|
|
18
|
-
return new Result(false, "Text'" + text + "' was not found");
|
|
19
|
-
} else if(!shouldBeFound && found) {
|
|
20
|
-
return new Result(false, "Text'" + text + "' was found");
|
|
21
|
-
} else {
|
|
22
|
-
return Result.successResult();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@Override
|
|
27
|
-
public String key() {
|
|
28
|
-
return "assert_text";
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.text;
|
|
2
|
-
|
|
3
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
4
|
-
import sh.calaba.instrumentationbackend.TestHelpers;
|
|
5
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
6
|
-
import android.widget.TextView;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Asserts that a TextView with the given content description (args[1]) and that it has the expected text (args[0])
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
public class AssertTextOfSpecificTextViewByContentDescription implements Action {
|
|
13
|
-
|
|
14
|
-
@Override
|
|
15
|
-
public Result execute(String... args) {
|
|
16
|
-
String expectedText = args[0];
|
|
17
|
-
TextView view = TestHelpers.getTextViewByDescription(args[1]);
|
|
18
|
-
if (view == null) {
|
|
19
|
-
return new Result(false, "No view found with content description: '" + args[1] + "'");
|
|
20
|
-
} else if (view.getText().toString().equalsIgnoreCase(expectedText)) {
|
|
21
|
-
return Result.successResult();
|
|
22
|
-
} else {
|
|
23
|
-
return new Result(false, "Expected: '" + expectedText + "', found:" + view.getText() + "'");
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
@Override
|
|
28
|
-
public String key() {
|
|
29
|
-
return "assert_text_in_textview";
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.text;
|
|
2
|
-
|
|
3
|
-
import android.view.View;
|
|
4
|
-
import android.widget.EditText;
|
|
5
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
6
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
7
|
-
import sh.calaba.instrumentationbackend.TestHelpers;
|
|
8
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
9
|
-
|
|
10
|
-
public class ClearTextById implements Action {
|
|
11
|
-
|
|
12
|
-
@Override
|
|
13
|
-
public Result execute(String... args) {
|
|
14
|
-
final View view = TestHelpers.getViewById(args[0]);
|
|
15
|
-
if(view == null) {
|
|
16
|
-
return new Result(false, "No view found with id: '" + args[0] + "'");
|
|
17
|
-
} else if (!(view instanceof EditText)) {
|
|
18
|
-
return new Result(false, "Expected EditText found: '" + view.getClass() + "'");
|
|
19
|
-
} else {
|
|
20
|
-
InstrumentationBackend.solo.clearEditText((EditText)view);
|
|
21
|
-
return Result.successResult();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@Override
|
|
26
|
-
public String key() {
|
|
27
|
-
return "clear_id_field";
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.text;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
5
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
6
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
public class ClearTextByIndex implements Action {
|
|
10
|
-
|
|
11
|
-
@Override
|
|
12
|
-
public Result execute(String... args) {
|
|
13
|
-
InstrumentationBackend.solo.clearEditText(Integer.parseInt(args[0]) - 1);
|
|
14
|
-
return Result.successResult();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@Override
|
|
18
|
-
public String key() {
|
|
19
|
-
return "clear_numbered_field";
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
package sh.calaba.instrumentationbackend.actions.text;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import sh.calaba.instrumentationbackend.InstrumentationBackend;
|
|
5
|
-
import sh.calaba.instrumentationbackend.Result;
|
|
6
|
-
import sh.calaba.instrumentationbackend.TestHelpers;
|
|
7
|
-
import sh.calaba.instrumentationbackend.actions.Action;
|
|
8
|
-
import android.view.View;
|
|
9
|
-
import android.widget.EditText;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
public class ClearTextFieldByContentDescription implements Action {
|
|
13
|
-
|
|
14
|
-
@Override
|
|
15
|
-
public Result execute(String... args) {
|
|
16
|
-
String contentDescription = args[0];
|
|
17
|
-
View view = TestHelpers.getTextViewByDescription(contentDescription);
|
|
18
|
-
if(view == null) {
|
|
19
|
-
return new Result(false, "No view found with content description: '" + contentDescription + "'");
|
|
20
|
-
} else if (!(view instanceof EditText)) {
|
|
21
|
-
return new Result(false, "Expected EditText found: '" + view.getClass() + "'");
|
|
22
|
-
} else {
|
|
23
|
-
InstrumentationBackend.solo.clearEditText((EditText)view);
|
|
24
|
-
return Result.successResult();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@Override
|
|
29
|
-
public String key() {
|
|
30
|
-
return "clear_named_field";
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
}
|