Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add -android datamatcher selector strategy #386

Merged
merged 20 commits into from
Feb 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@

package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.PerformException;
import androidx.test.espresso.ViewInteraction;

import javax.annotation.Nullable;

import androidx.test.espresso.PerformException;
import androidx.test.espresso.ViewInteraction;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.handlers.exceptions.InvalidElementStateException;
import io.appium.espressoserver.lib.model.AppiumParams;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@

package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.PerformException;
import androidx.test.espresso.ViewInteraction;

import javax.annotation.Nullable;

import androidx.test.espresso.PerformException;
import androidx.test.espresso.ViewInteraction;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.handlers.exceptions.InvalidElementStateException;
import io.appium.espressoserver.lib.model.AppiumParams;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,12 @@

package io.appium.espressoserver.lib.handlers;

import java.util.regex.Pattern;

import androidx.test.espresso.EspressoException;
import androidx.test.espresso.ViewInteraction;
import androidx.test.espresso.contrib.DrawerActions;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.model.DrawerActionParams;
import io.appium.espressoserver.lib.model.Element;
import io.appium.espressoserver.lib.model.ToastLookupParams;
import io.appium.espressoserver.lib.viewmatcher.ToastMatcher;

import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static io.appium.espressoserver.lib.viewmatcher.RegexpTextMatcher.withRegexp;

public class DrawerActionHandler implements RequestHandler<DrawerActionParams, Void> {
private final boolean isOpenAction;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.ViewInteraction;
import android.view.View;
import android.widget.NumberPicker;
import android.widget.ProgressBar;

import androidx.test.espresso.ViewInteraction;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.handlers.exceptions.InvalidArgumentException;
import io.appium.espressoserver.lib.model.Element;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.ViewInteraction;
import android.view.View;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Nullable;

import androidx.test.espresso.ViewInteraction;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.handlers.exceptions.NotYetImplementedException;
import io.appium.espressoserver.lib.model.AppiumParams;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

import androidx.test.espresso.NoMatchingViewException;
import androidx.test.espresso.ViewInteraction;

import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.model.AppiumParams;
import io.appium.espressoserver.lib.model.Element;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

import androidx.test.espresso.NoMatchingViewException;
import androidx.test.espresso.ViewInteraction;

import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.model.AppiumParams;
import io.appium.espressoserver.lib.model.Element;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.Espresso;

import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.model.AppiumParams;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,11 @@

package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.UiController;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import androidx.test.espresso.UiController;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.helpers.w3c.adapter.espresso.EspressoW3CActionAdapter;
import io.appium.espressoserver.lib.helpers.w3c.models.Actions;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ package io.appium.espressoserver.lib.handlers

import androidx.test.espresso.action.GeneralClickAction
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException
import io.appium.espressoserver.lib.model.MobileClickActionParams
import io.appium.espressoserver.lib.model.Element
import io.appium.espressoserver.lib.model.MobileClickActionParams
import io.appium.espressoserver.lib.viewaction.UiControllerPerformer
import io.appium.espressoserver.lib.viewaction.UiControllerRunnable

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,12 @@
package io.appium.espressoserver.lib.handlers

import androidx.test.espresso.action.GeneralSwipeAction

import androidx.test.espresso.action.ViewActions.*
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException
import io.appium.espressoserver.lib.handlers.exceptions.InvalidArgumentException
import io.appium.espressoserver.lib.helpers.AndroidLogger.logger
import io.appium.espressoserver.lib.model.Element
import io.appium.espressoserver.lib.model.MobileSwipeParams

import androidx.test.espresso.action.ViewActions.swipeDown
import androidx.test.espresso.action.ViewActions.swipeLeft
import androidx.test.espresso.action.ViewActions.swipeRight
import androidx.test.espresso.action.ViewActions.swipeUp
import io.appium.espressoserver.lib.helpers.AndroidLogger.logger
import io.appium.espressoserver.lib.model.MobileSwipeParams.Direction.*
import io.appium.espressoserver.lib.viewaction.UiControllerPerformer
import io.appium.espressoserver.lib.viewaction.UiControllerRunnable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

import androidx.test.espresso.PerformException;
import androidx.test.espresso.ViewInteraction;

import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.model.Element;
import io.appium.espressoserver.lib.model.MoveToParams;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.UiController;

import java.util.List;

import androidx.test.espresso.UiController;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.helpers.w3c.adapter.espresso.EspressoW3CActionAdapter;
import io.appium.espressoserver.lib.helpers.w3c.models.Actions;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,9 @@
import androidx.test.espresso.EspressoException;
import androidx.test.espresso.ViewInteraction;
import androidx.test.espresso.contrib.NavigationViewActions;
import androidx.test.espresso.contrib.PickerActions;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.helpers.AndroidLogger;
import io.appium.espressoserver.lib.model.Element;
import io.appium.espressoserver.lib.model.NavigateToParams;
import io.appium.espressoserver.lib.model.ScrollToPageParams;
import io.appium.espressoserver.lib.model.SetTimeParams;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 clean up


public class NavigateTo implements RequestHandler<NavigateToParams, Void> {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.UiController;

import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.helpers.w3c.adapter.espresso.EspressoW3CActionAdapter;
import io.appium.espressoserver.lib.helpers.w3c.models.Actions;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
package io.appium.espressoserver.lib.handlers;

import android.os.SystemClock;
import androidx.test.espresso.InjectEventSecurityException;
import androidx.test.espresso.UiController;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.ViewConfiguration;

import androidx.test.espresso.InjectEventSecurityException;
import androidx.test.espresso.UiController;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.handlers.exceptions.InvalidArgumentException;
import io.appium.espressoserver.lib.model.KeyEventParams;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.UiController;

import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.helpers.w3c.models.Actions;
import io.appium.espressoserver.lib.model.AppiumParams;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,6 @@

package io.appium.espressoserver.lib.handlers;

import android.graphics.Bitmap;
import android.util.Base64;

import java.io.ByteArrayOutputStream;

import androidx.test.runner.screenshot.ScreenCapture;
import androidx.test.runner.screenshot.Screenshot;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.helpers.ScreenshotsHelper;
import io.appium.espressoserver.lib.model.AppiumParams;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@

package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.PerformException;
import androidx.test.espresso.ViewInteraction;
import android.view.View;
import android.widget.NumberPicker;
import android.widget.ProgressBar;

import androidx.test.espresso.PerformException;
import androidx.test.espresso.ViewInteraction;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.handlers.exceptions.InvalidArgumentException;
import io.appium.espressoserver.lib.handlers.exceptions.InvalidElementStateException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,19 @@

package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.ViewInteraction;
import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
import static androidx.test.espresso.Espresso.onView;

import java.util.Arrays;

import javax.annotation.Nullable;

import androidx.test.espresso.ViewInteraction;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.model.Element;
import io.appium.espressoserver.lib.model.OrientationParams;
import io.appium.espressoserver.lib.viewaction.OrientationChange;

import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.matcher.ViewMatchers.isRoot;

public class SetOrientation implements RequestHandler<OrientationParams, Void> {

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@

package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.ViewInteraction;

import javax.annotation.Nullable;

import androidx.test.espresso.ViewInteraction;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.model.AppiumParams;
import io.appium.espressoserver.lib.model.Element;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package io.appium.espressoserver.lib.handlers;

import androidx.test.espresso.UiController;

import java.util.Collections;
import java.util.List;

import androidx.test.espresso.UiController;
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException;
import io.appium.espressoserver.lib.helpers.w3c.adapter.espresso.EspressoW3CActionAdapter;
import io.appium.espressoserver.lib.helpers.w3c.models.Actions;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@
package io.appium.espressoserver.lib.handlers

import androidx.test.espresso.web.sugar.Web.WebInteraction
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException
import io.appium.espressoserver.lib.model.web.WebAtomsParams
import androidx.test.espresso.web.sugar.Web.onWebView
import androidx.test.espresso.web.webdriver.DriverAtoms
import io.appium.espressoserver.lib.handlers.exceptions.AppiumException
import io.appium.espressoserver.lib.handlers.exceptions.InvalidArgumentException
import io.appium.espressoserver.lib.helpers.AndroidLogger.logger
import io.appium.espressoserver.lib.helpers.KReflectionUtils.invokeInstanceMethod
import io.appium.espressoserver.lib.helpers.KReflectionUtils.invokeMethod
import io.appium.espressoserver.lib.model.Element
import io.appium.espressoserver.lib.model.web.WebAtomsParams
import io.appium.espressoserver.lib.viewmatcher.WithView.withView

class WebAtoms : RequestHandler<WebAtomsParams, Void> {
Expand All @@ -38,7 +38,7 @@ class WebAtoms : RequestHandler<WebAtomsParams, Void> {

// Initialize onWebView with web view matcher (if webviewEl provided)
webAtomsParams.webviewElement.let{
logger.info("Initializing webView interaction on webview with el: '${it}")
logger.info("Initializing webView interaction on webview with el: '${it}'")
val matcher = withView(Element.getViewById(it))
webViewInteraction = onWebView(matcher)
}
Expand All @@ -50,11 +50,11 @@ class WebAtoms : RequestHandler<WebAtomsParams, Void> {

// Iterate through methodsChain and call the atoms
for (method in webAtomsParams.methodChain) {
val atom = invokeMethod(DriverAtoms::class, method.atom.name, *method.atom.args.toTypedArray());
val atom = invokeMethod(DriverAtoms::class, method.atom.name, *method.atom.args);

logger.info("Calling interaction '${method.name}' with the atom '${method.atom}'")
val args = if (atom == null) emptyList<Any>() else atom;
val res = invokeInstanceMethod(webViewInteraction, method.name, args);
val args: Array<Any?> = if (atom == null) emptyArray() else arrayOf(atom)
val res = invokeInstanceMethod(webViewInteraction, method.name, *args)

if (!(res is WebInteraction<*>)) {
throw InvalidArgumentException("'${method.name}' does not return a 'WebViewInteraction' object");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

package io.appium.espressoserver.lib.helpers;

import androidx.annotation.Nullable;
import android.util.Log;

import java.util.ArrayList;
Expand All @@ -28,6 +27,7 @@
import java.util.Objects;
import java.util.regex.Pattern;

import androidx.annotation.Nullable;
import androidx.test.uiautomator.By;
import androidx.test.uiautomator.UiObject2;
import io.appium.espressoserver.lib.handlers.exceptions.InvalidElementStateException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@
import android.content.Context;
import android.os.Build;
import android.provider.Settings.Secure;
import androidx.annotation.Nullable;
import android.telephony.TelephonyManager;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;

import androidx.annotation.Nullable;

public class DeviceInfoHelper {
private final Context context;

Expand Down
Loading