Sha256: 83c830b143350aa4ed7f01dccd66adb887b935cb016edba55eaf3858e1a52124

Contents?: true

Size: 1.61 KB

Versions: 50

Compression:

Stored size: 1.61 KB

Contents

package sh.calaba.instrumentationbackend.actions.l10n;

import sh.calaba.instrumentationbackend.InstrumentationBackend;
import sh.calaba.instrumentationbackend.Result;
import sh.calaba.instrumentationbackend.actions.Action;

/**
 * Action is getting the translated value of the provided #l10nKey and is
 * searching for the text and then clicking on it.
 * 
 * @author Dominik Dary
 * @see L10nHelper
 */
public class PressElement implements Action {
	public static final String BUTTON = "button";
	public static final String TOGGLE_BUTTON = "toggle_button";
	public static final String MENU_ITEM = "menu_item";

	@Override
	public Result execute(String... args) {
		String l10nKey = args[0];
		String elementType = args.length > 1 ? args[1] : null;
		String pckg = (args.length > 2)? args[2] : null;
		
		String myLocalizedString = L10nHelper.getValue(l10nKey, pckg);
		InstrumentationBackend.solo.searchText(myLocalizedString);
		if (elementType == null) {
			InstrumentationBackend.solo.clickOnText(myLocalizedString);
		} else if (BUTTON.equalsIgnoreCase(elementType)) {
			InstrumentationBackend.solo.clickOnButton(myLocalizedString);
		} else if (MENU_ITEM.equalsIgnoreCase(elementType)) {
			InstrumentationBackend.solo.clickOnMenuItem(myLocalizedString);
		} else if (TOGGLE_BUTTON.equalsIgnoreCase(elementType)) {
			InstrumentationBackend.solo.clickOnToggleButton(myLocalizedString);
		} else {
			return Result.fromThrowable(new Throwable(
					"specified element type: '" + elementType
							+ " ' is not supported."));
		}

		return Result.successResult();
	}

	@Override
	public String key() {
		return "press_l10n_element";
	}

}

Version data entries

50 entries across 50 versions & 2 rubygems

Version Path
calabash-android-0.4.20.1 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.5.2 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.5.2.pre1 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.5.1 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.5.0 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.5.0.pre2 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.5.0.pre1 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.22.pre4 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.22.pre3 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.22.pre1 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.21 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.20 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.19 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.19.pre4 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.19.pre3 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.19.pre2 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.19.pre1 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.18 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.16 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java
calabash-android-0.4.15.pre2 test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java