diff --git a/src/main/java/aquality/appium/mobile/application/AqualityServices.java b/src/main/java/aquality/appium/mobile/application/AqualityServices.java index 87d9b68..b36be72 100644 --- a/src/main/java/aquality/appium/mobile/application/AqualityServices.java +++ b/src/main/java/aquality/appium/mobile/application/AqualityServices.java @@ -5,7 +5,6 @@ import aquality.appium.mobile.configuration.ILocalServiceSettings; import aquality.appium.mobile.elements.interfaces.IElementFactory; import aquality.appium.mobile.screens.screenfactory.IScreenFactory; -import aquality.appium.mobile.screens.screenfactory.IScreenFactoryProvider; import aquality.selenium.core.localization.ILocalizedLogger; import aquality.selenium.core.logging.Logger; import aquality.selenium.core.waitings.IConditionalWait; @@ -162,7 +161,7 @@ public static IElementFactory getElementFactory() { * @return Factory of screens. */ public static IScreenFactory getScreenFactory() { - return get(IScreenFactoryProvider.class).getScreenFactory(); + return get(IScreenFactory.class); } /** diff --git a/src/main/java/aquality/appium/mobile/application/MobileModule.java b/src/main/java/aquality/appium/mobile/application/MobileModule.java index d208015..74c342c 100644 --- a/src/main/java/aquality/appium/mobile/application/MobileModule.java +++ b/src/main/java/aquality/appium/mobile/application/MobileModule.java @@ -6,7 +6,7 @@ import aquality.appium.mobile.configuration.ILocalServiceSettings; import aquality.appium.mobile.elements.IElementsModule; import aquality.appium.mobile.elements.interfaces.IElementFactory; -import aquality.appium.mobile.screens.screenfactory.IScreenFactoryProvider; +import aquality.appium.mobile.screens.screenfactory.IScreenFactory; import aquality.appium.mobile.screens.screenfactory.IScreensModule; import aquality.selenium.core.applications.AqualityModule; import com.google.inject.Provider; @@ -25,6 +25,6 @@ protected void configure() { bind(ILocalServiceSettings.class).to(getLocalServiceSettingsImplementation()).in(Singleton.class); bind(IConfiguration.class).to(getConfigurationImplementation()); bind(IElementFactory.class).to(getElementFactoryImplementation()); - bind(IScreenFactoryProvider.class).to(getScreenFactoryProviderImplementation()); + bind(IScreenFactory.class).to(getScreenFactoryImplementation()); } } diff --git a/src/main/java/aquality/appium/mobile/elements/ElementType.java b/src/main/java/aquality/appium/mobile/elements/ElementType.java index d9cb85e..cd9598a 100644 --- a/src/main/java/aquality/appium/mobile/elements/ElementType.java +++ b/src/main/java/aquality/appium/mobile/elements/ElementType.java @@ -11,12 +11,13 @@ public enum ElementType { RADIOBUTTON(IRadioButton.class), TEXTBOX(ITextBox.class); - private Class clazz; + private final Class clazz; ElementType(Class clazz){ this.clazz = clazz; } + @SuppressWarnings("unchecked") public Class getClazz() { return (Class) clazz; } diff --git a/src/main/java/aquality/appium/mobile/screens/AndroidScreen.java b/src/main/java/aquality/appium/mobile/screens/AndroidScreen.java deleted file mode 100644 index 1c31e7f..0000000 --- a/src/main/java/aquality/appium/mobile/screens/AndroidScreen.java +++ /dev/null @@ -1,33 +0,0 @@ -package aquality.appium.mobile.screens; - -import aquality.appium.mobile.application.AqualityServices; -import aquality.appium.mobile.application.PlatformName; -import io.appium.java_client.android.Activity; -import io.appium.java_client.android.AndroidDriver; -import io.appium.java_client.android.AndroidElement; -import org.openqa.selenium.By; - -public abstract class AndroidScreen extends Screen> { - - /** - * Constructor with parameters - * - * @param locator locator of specified screen - * @param name name of specified screen - */ - protected AndroidScreen(By locator, String name) { - super(locator, name); - } - - @Override - protected PlatformName getPlatform() { - return PlatformName.ANDROID; - } - - protected void startActivity(Activity activity) { - AqualityServices.getLocalizedLogger().info("loc.application.android.activity.start", - activity.getAppActivity(), - activity.getAppPackage()); - getDriver().startActivity(activity); - } -} diff --git a/src/main/java/aquality/appium/mobile/screens/IOSScreen.java b/src/main/java/aquality/appium/mobile/screens/IOSScreen.java deleted file mode 100644 index 9f0735c..0000000 --- a/src/main/java/aquality/appium/mobile/screens/IOSScreen.java +++ /dev/null @@ -1,24 +0,0 @@ -package aquality.appium.mobile.screens; - -import aquality.appium.mobile.application.PlatformName; -import io.appium.java_client.ios.IOSDriver; -import io.appium.java_client.ios.IOSElement; -import org.openqa.selenium.By; - -public abstract class IOSScreen extends Screen> { - - /** - * Constructor with parameters - * - * @param locator locator of specified screen - * @param name name of specified screen - */ - protected IOSScreen(By locator, String name) { - super(locator, name); - } - - @Override - protected PlatformName getPlatform() { - return PlatformName.IOS; - } -} diff --git a/src/main/java/aquality/appium/mobile/screens/Screen.java b/src/main/java/aquality/appium/mobile/screens/Screen.java index 00ed849..0a86a2c 100644 --- a/src/main/java/aquality/appium/mobile/screens/Screen.java +++ b/src/main/java/aquality/appium/mobile/screens/Screen.java @@ -1,16 +1,13 @@ package aquality.appium.mobile.screens; import aquality.appium.mobile.application.AqualityServices; -import aquality.appium.mobile.application.PlatformName; import aquality.appium.mobile.elements.interfaces.IElementFactory; import aquality.appium.mobile.elements.interfaces.ILabel; import aquality.selenium.core.elements.interfaces.IElementStateProvider; -import io.appium.java_client.AppiumDriver; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; -import org.openqa.selenium.InvalidArgumentException; -public abstract class Screen implements IScreen { +public abstract class Screen implements IScreen { private final By locator; private final String name; @@ -25,27 +22,6 @@ protected Screen(By locator, String name) { this.screenLabel = getElementFactory().getLabel(locator, name); } - protected IElementFactory getElementFactory(){ - return AqualityServices.getElementFactory(); - } - - @SuppressWarnings("unchecked") - protected T getDriver() { - ensureApplicationPlatformCorrect(getPlatform()); - return (T) AqualityServices.getApplication().getDriver(); - } - - protected abstract PlatformName getPlatform(); - - private void ensureApplicationPlatformCorrect(PlatformName targetPlatform) { - PlatformName currentPlatform = AqualityServices.getApplication().getPlatformName(); - if (targetPlatform != currentPlatform) { - throw new InvalidArgumentException(String.format( - "Cannot perform this operation. Current platform %s don't match to target %s", - currentPlatform, targetPlatform)); - } - } - public By getLocator() { return locator; } @@ -61,4 +37,8 @@ public Dimension getSize() { public IElementStateProvider state() { return screenLabel.state(); } + + protected IElementFactory getElementFactory(){ + return AqualityServices.getElementFactory(); + } } diff --git a/src/main/java/aquality/appium/mobile/screens/screenfactory/AndroidScreenFactory.java b/src/main/java/aquality/appium/mobile/screens/screenfactory/AndroidScreenFactory.java deleted file mode 100644 index 970d46c..0000000 --- a/src/main/java/aquality/appium/mobile/screens/screenfactory/AndroidScreenFactory.java +++ /dev/null @@ -1,11 +0,0 @@ -package aquality.appium.mobile.screens.screenfactory; - -import aquality.appium.mobile.screens.AndroidScreen; - -public class AndroidScreenFactory extends ScreenFactory { - - @Override - protected Class getPlatformClass() { - return AndroidScreen.class; - } -} diff --git a/src/main/java/aquality/appium/mobile/screens/screenfactory/IOSScreenFactory.java b/src/main/java/aquality/appium/mobile/screens/screenfactory/IOSScreenFactory.java deleted file mode 100644 index 2c98924..0000000 --- a/src/main/java/aquality/appium/mobile/screens/screenfactory/IOSScreenFactory.java +++ /dev/null @@ -1,11 +0,0 @@ -package aquality.appium.mobile.screens.screenfactory; - -import aquality.appium.mobile.screens.IOSScreen; - -public class IOSScreenFactory extends ScreenFactory { - - @Override - protected Class getPlatformClass() { - return IOSScreen.class; - } -} diff --git a/src/main/java/aquality/appium/mobile/screens/screenfactory/IScreenFactoryProvider.java b/src/main/java/aquality/appium/mobile/screens/screenfactory/IScreenFactoryProvider.java deleted file mode 100644 index bee90bc..0000000 --- a/src/main/java/aquality/appium/mobile/screens/screenfactory/IScreenFactoryProvider.java +++ /dev/null @@ -1,9 +0,0 @@ -package aquality.appium.mobile.screens.screenfactory; - -public interface IScreenFactoryProvider { - - /** - * Gets desired ScreenFactory. - */ - IScreenFactory getScreenFactory(); -} diff --git a/src/main/java/aquality/appium/mobile/screens/screenfactory/IScreensModule.java b/src/main/java/aquality/appium/mobile/screens/screenfactory/IScreensModule.java index 3c76ade..526d091 100644 --- a/src/main/java/aquality/appium/mobile/screens/screenfactory/IScreensModule.java +++ b/src/main/java/aquality/appium/mobile/screens/screenfactory/IScreensModule.java @@ -6,9 +6,9 @@ public interface IScreensModule { /** - * @return class which implements {@link IScreenFactoryProvider} + * @return class which implements {@link IScreenFactory} */ - default Class getScreenFactoryProviderImplementation() { - return ScreenFactoryProvider.class; + default Class getScreenFactoryImplementation() { + return ScreenFactory.class; } } diff --git a/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenFactory.java b/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenFactory.java index 529d524..2099241 100644 --- a/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenFactory.java +++ b/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenFactory.java @@ -3,24 +3,31 @@ import aquality.appium.mobile.application.AqualityServices; import aquality.appium.mobile.configuration.IApplicationProfile; import aquality.appium.mobile.screens.IScreen; -import aquality.appium.mobile.screens.Screen; import org.reflections.Reflections; import org.reflections.ReflectionsException; +import javax.inject.Inject; import java.util.Set; +import java.util.stream.Collectors; -public abstract class ScreenFactory implements IScreenFactory { +public class ScreenFactory implements IScreenFactory { + + private final IApplicationProfile applicationProfile; + + @Inject + public ScreenFactory(IApplicationProfile applicationProfile) { + this.applicationProfile = applicationProfile; + } @SuppressWarnings("unchecked") @Override public T getScreen(Class clazz) { - Class tClass = getPlatformClasses().stream() + Class tClass = getPlatformClasses().stream() .filter(clazz::isAssignableFrom) .findFirst() .orElseThrow(() -> new IllegalArgumentException( String.format("Implementation for Screen %s was not found in package %s", clazz.getName(), getPackageWithScreens()))); - try { return (T) tClass.newInstance(); } catch (InstantiationException | IllegalAccessException e) { @@ -28,10 +35,12 @@ public T getScreen(Class clazz) { } } - private Set> getPlatformClasses() { + private Set> getPlatformClasses() { Reflections reflections = new Reflections(getPackageWithScreens()); try { - return reflections.getSubTypesOf(getPlatformClass()); + return reflections.getTypesAnnotatedWith(ScreenType.class).stream() + .filter(clazz -> clazz.getAnnotation(ScreenType.class).platform() == applicationProfile.getPlatformName()) + .collect(Collectors.toSet()); } catch (ReflectionsException e) { throw new IllegalArgumentException(String.format("Could not find package \"%s\" with Screens. " + "Please specify value \"screensLocation\" in settings file.", getPackageWithScreens()), e); @@ -41,6 +50,4 @@ private Set> getPlatformClasses() { private String getPackageWithScreens() { return AqualityServices.get(IApplicationProfile.class).getScreensLocation(); } - - protected abstract Class getPlatformClass(); } diff --git a/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenFactoryProvider.java b/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenFactoryProvider.java deleted file mode 100644 index f53564b..0000000 --- a/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenFactoryProvider.java +++ /dev/null @@ -1,22 +0,0 @@ -package aquality.appium.mobile.screens.screenfactory; - -import aquality.appium.mobile.application.PlatformName; -import aquality.appium.mobile.configuration.IApplicationProfile; -import com.google.inject.Inject; - -public class ScreenFactoryProvider implements IScreenFactoryProvider { - - private final IApplicationProfile applicationProfile; - - @Inject - public ScreenFactoryProvider(IApplicationProfile applicationProfile) { - this.applicationProfile = applicationProfile; - } - - @Override - public IScreenFactory getScreenFactory() { - return applicationProfile.getPlatformName() == PlatformName.ANDROID - ? new AndroidScreenFactory() - : new IOSScreenFactory(); - } -} diff --git a/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenType.java b/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenType.java new file mode 100644 index 0000000..cd4f1ec --- /dev/null +++ b/src/main/java/aquality/appium/mobile/screens/screenfactory/ScreenType.java @@ -0,0 +1,21 @@ +package aquality.appium.mobile.screens.screenfactory; + +import aquality.appium.mobile.application.PlatformName; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Attribute that identifies platform of screen. + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface ScreenType { + + /** + * Name of platform that screen relates to. + */ + PlatformName platform(); +} diff --git a/src/test/java/integration/ScreenFactoryTest.java b/src/test/java/integration/ScreenFactoryTest.java index 5843701..2ece1e2 100644 --- a/src/test/java/integration/ScreenFactoryTest.java +++ b/src/test/java/integration/ScreenFactoryTest.java @@ -2,10 +2,10 @@ import aquality.appium.mobile.application.AqualityServices; import aquality.appium.mobile.application.MobileModule; -import aquality.appium.mobile.screens.AndroidScreen; -import aquality.appium.mobile.screens.IOSScreen; -import integration.screens.IFakeLoginScreen; -import integration.screens.ILoginScreen; +import integration.screens.AndroidLoginScreen; +import integration.screens.FakeLoginScreen; +import integration.screens.IOSLoginScreen; +import integration.screens.LoginScreen; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.Test; @@ -17,26 +17,26 @@ public class ScreenFactoryTest { @Test public void shouldBePossibleToGetScreenViaFactory() { - Assert.assertNotNull(AqualityServices.getScreenFactory().getScreen(ILoginScreen.class)); + Assert.assertNotNull(AqualityServices.getScreenFactory().getScreen(LoginScreen.class)); } @Test public void shouldBePossibleToGetAndroidScreenViaFactory() { System.setProperty(PLATFORM_NAME_VARIABLE_NAME, "android"); AqualityServices.initInjector(new MobileModule(AqualityServices::getApplication)); - Assert.assertTrue(AqualityServices.getScreenFactory().getScreen(ILoginScreen.class) instanceof AndroidScreen); + Assert.assertTrue(AqualityServices.getScreenFactory().getScreen(LoginScreen.class) instanceof AndroidLoginScreen); } @Test public void shouldBePossibleToGetIOSScreenViaFactory() { System.setProperty(PLATFORM_NAME_VARIABLE_NAME, "ios"); AqualityServices.initInjector(new MobileModule(AqualityServices::getApplication)); - Assert.assertTrue(AqualityServices.getScreenFactory().getScreen(ILoginScreen.class) instanceof IOSScreen); + Assert.assertTrue(AqualityServices.getScreenFactory().getScreen(LoginScreen.class) instanceof IOSLoginScreen); } @Test public void shouldThrowIllegalArgumentExceptionOnNotImplementedScreenInterface() { - Assert.assertThrows(IllegalArgumentException.class, () -> AqualityServices.getScreenFactory().getScreen(IFakeLoginScreen.class)); + Assert.assertThrows(IllegalArgumentException.class, () -> AqualityServices.getScreenFactory().getScreen(FakeLoginScreen.class)); } @Test @@ -44,7 +44,7 @@ public void shouldThrowIllegalArgumentExceptionOnNotValidScreensLocationValue() { System.setProperty(SCREENS_LOCATION_VARIABLE_NAME, "fake.package"); AqualityServices.initInjector(new MobileModule(AqualityServices::getApplication)); - Assert.assertThrows(IllegalArgumentException.class, () -> AqualityServices.getScreenFactory().getScreen(ILoginScreen.class)); + Assert.assertThrows(IllegalArgumentException.class, () -> AqualityServices.getScreenFactory().getScreen(LoginScreen.class)); } @AfterClass diff --git a/src/test/java/integration/screens/AndroidLoginScreen.java b/src/test/java/integration/screens/AndroidLoginScreen.java index 1095dd5..227edac 100644 --- a/src/test/java/integration/screens/AndroidLoginScreen.java +++ b/src/test/java/integration/screens/AndroidLoginScreen.java @@ -1,9 +1,11 @@ package integration.screens; -import aquality.appium.mobile.screens.AndroidScreen; +import aquality.appium.mobile.application.PlatformName; +import aquality.appium.mobile.screens.screenfactory.ScreenType; import org.openqa.selenium.By; -public class AndroidLoginScreen extends AndroidScreen implements ILoginScreen { +@ScreenType(platform = PlatformName.ANDROID) +public class AndroidLoginScreen extends LoginScreen { /** * Constructor with parameters diff --git a/src/test/java/integration/screens/FakeLoginScreen.java b/src/test/java/integration/screens/FakeLoginScreen.java new file mode 100644 index 0000000..673bb7f --- /dev/null +++ b/src/test/java/integration/screens/FakeLoginScreen.java @@ -0,0 +1,11 @@ +package integration.screens; + +import aquality.appium.mobile.screens.Screen; +import org.openqa.selenium.By; + +public abstract class FakeLoginScreen extends Screen { + + protected FakeLoginScreen(By locator, String name) { + super(locator, name); + } +} diff --git a/src/test/java/integration/screens/IFakeLoginScreen.java b/src/test/java/integration/screens/IFakeLoginScreen.java deleted file mode 100644 index 3a77af6..0000000 --- a/src/test/java/integration/screens/IFakeLoginScreen.java +++ /dev/null @@ -1,6 +0,0 @@ -package integration.screens; - -import aquality.appium.mobile.screens.IScreen; - -public interface IFakeLoginScreen extends IScreen { -} diff --git a/src/test/java/integration/screens/ILoginScreen.java b/src/test/java/integration/screens/ILoginScreen.java deleted file mode 100644 index 70191c2..0000000 --- a/src/test/java/integration/screens/ILoginScreen.java +++ /dev/null @@ -1,6 +0,0 @@ -package integration.screens; - -import aquality.appium.mobile.screens.IScreen; - -public interface ILoginScreen extends IScreen { -} diff --git a/src/test/java/integration/screens/IOSLoginScreen.java b/src/test/java/integration/screens/IOSLoginScreen.java index ddd65ff..364a1ce 100644 --- a/src/test/java/integration/screens/IOSLoginScreen.java +++ b/src/test/java/integration/screens/IOSLoginScreen.java @@ -1,9 +1,11 @@ package integration.screens; -import aquality.appium.mobile.screens.IOSScreen; +import aquality.appium.mobile.application.PlatformName; +import aquality.appium.mobile.screens.screenfactory.ScreenType; import org.openqa.selenium.By; -public class IOSLoginScreen extends IOSScreen implements ILoginScreen { +@ScreenType(platform = PlatformName.IOS) +public class IOSLoginScreen extends LoginScreen { /** * Constructor with parameters diff --git a/src/test/java/integration/screens/LoginScreen.java b/src/test/java/integration/screens/LoginScreen.java new file mode 100644 index 0000000..0e11e35 --- /dev/null +++ b/src/test/java/integration/screens/LoginScreen.java @@ -0,0 +1,11 @@ +package integration.screens; + +import aquality.appium.mobile.screens.Screen; +import org.openqa.selenium.By; + +public abstract class LoginScreen extends Screen { + + protected LoginScreen(By locator, String name) { + super(locator, name); + } +} diff --git a/src/test/java/samples/android/nativeapp/apidemos/ApplicationActivity.java b/src/test/java/samples/android/nativeapp/apidemos/ApplicationActivity.java index 6371f83..6f0dd96 100644 --- a/src/test/java/samples/android/nativeapp/apidemos/ApplicationActivity.java +++ b/src/test/java/samples/android/nativeapp/apidemos/ApplicationActivity.java @@ -1,10 +1,11 @@ package samples.android.nativeapp.apidemos; import aquality.appium.mobile.application.AqualityServices; -import aquality.appium.mobile.screens.AndroidScreen; +import aquality.appium.mobile.screens.Screen; import io.appium.java_client.android.Activity; import org.openqa.selenium.By; import samples.android.nativeapp.apidemos.screens.AlertsMenuScreen; +import samples.android.nativeapp.apidemos.screens.AndroidScreen; import samples.android.nativeapp.apidemos.screens.InvokeSearchScreen; import samples.android.nativeapp.apidemos.screens.ViewControlsScreen; @@ -16,9 +17,10 @@ public enum ApplicationActivity { ALERT_DIALOGS(".app.AlertDialogSamples", AlertsMenuScreen.class), VIEW_CONTROLS(".view.Controls1", ViewControlsScreen.class); - private final String PACKAGE = "io.appium.android.apis"; + private static final String PACKAGE = "io.appium.android.apis"; + private final String activity; - private final Class screen; + private final Class screen; ApplicationActivity(String activity, Class screen) { this.activity = activity; @@ -30,6 +32,7 @@ public T open() { return getScreen(); } + @SuppressWarnings("unchecked") public T getScreen() { try { return (T) screen.getDeclaredConstructor().newInstance(); @@ -39,7 +42,7 @@ public T getScreen() { } } - private class ActivityScreen extends AndroidScreen { + private static class ActivityScreen extends AndroidScreen { private final Activity activity; ActivityScreen(Activity activity) { diff --git a/src/test/java/samples/android/nativeapp/apidemos/screens/AlertsMenuScreen.java b/src/test/java/samples/android/nativeapp/apidemos/screens/AlertsMenuScreen.java index 66ff175..ed8a284 100644 --- a/src/test/java/samples/android/nativeapp/apidemos/screens/AlertsMenuScreen.java +++ b/src/test/java/samples/android/nativeapp/apidemos/screens/AlertsMenuScreen.java @@ -1,7 +1,6 @@ package samples.android.nativeapp.apidemos.screens; import aquality.appium.mobile.elements.interfaces.IButton; -import aquality.appium.mobile.screens.AndroidScreen; import org.openqa.selenium.By; public class AlertsMenuScreen extends AndroidScreen { diff --git a/src/test/java/samples/android/nativeapp/apidemos/screens/AndroidScreen.java b/src/test/java/samples/android/nativeapp/apidemos/screens/AndroidScreen.java new file mode 100644 index 0000000..a9eaf64 --- /dev/null +++ b/src/test/java/samples/android/nativeapp/apidemos/screens/AndroidScreen.java @@ -0,0 +1,24 @@ +package samples.android.nativeapp.apidemos.screens; + +import aquality.appium.mobile.application.AqualityServices; +import aquality.appium.mobile.screens.Screen; +import io.appium.java_client.android.Activity; +import io.appium.java_client.android.AndroidDriver; +import io.appium.java_client.android.AndroidElement; +import org.openqa.selenium.By; + +public abstract class AndroidScreen extends Screen { + + protected AndroidScreen(By locator, String name) { + super(locator, name); + } + + @SuppressWarnings("unchecked") + protected void startActivity(Activity activity) { + AqualityServices.getLocalizedLogger().info("loc.application.android.activity.start", + activity.getAppActivity(), + activity.getAppPackage()); + AndroidDriver driver = (AndroidDriver) AqualityServices.getApplication().getDriver(); + driver.startActivity(activity); + } +} diff --git a/src/test/java/samples/android/nativeapp/apidemos/screens/InvokeSearchScreen.java b/src/test/java/samples/android/nativeapp/apidemos/screens/InvokeSearchScreen.java index e524530..4342e1b 100644 --- a/src/test/java/samples/android/nativeapp/apidemos/screens/InvokeSearchScreen.java +++ b/src/test/java/samples/android/nativeapp/apidemos/screens/InvokeSearchScreen.java @@ -3,7 +3,6 @@ import aquality.appium.mobile.elements.interfaces.IButton; import aquality.appium.mobile.elements.interfaces.ILabel; import aquality.appium.mobile.elements.interfaces.ITextBox; -import aquality.appium.mobile.screens.AndroidScreen; import org.openqa.selenium.By; public class InvokeSearchScreen extends AndroidScreen { diff --git a/src/test/java/samples/android/nativeapp/apidemos/screens/TwoButtonsAlert.java b/src/test/java/samples/android/nativeapp/apidemos/screens/TwoButtonsAlert.java index 01cc7b4..122b72e 100644 --- a/src/test/java/samples/android/nativeapp/apidemos/screens/TwoButtonsAlert.java +++ b/src/test/java/samples/android/nativeapp/apidemos/screens/TwoButtonsAlert.java @@ -2,7 +2,6 @@ import aquality.appium.mobile.elements.interfaces.IButton; import aquality.appium.mobile.elements.interfaces.ILabel; -import aquality.appium.mobile.screens.AndroidScreen; import org.openqa.selenium.By; public class TwoButtonsAlert extends AndroidScreen { diff --git a/src/test/java/samples/android/nativeapp/apidemos/screens/ViewControlsScreen.java b/src/test/java/samples/android/nativeapp/apidemos/screens/ViewControlsScreen.java index 0082c7c..de41f45 100644 --- a/src/test/java/samples/android/nativeapp/apidemos/screens/ViewControlsScreen.java +++ b/src/test/java/samples/android/nativeapp/apidemos/screens/ViewControlsScreen.java @@ -2,7 +2,6 @@ import aquality.appium.mobile.elements.interfaces.ICheckBox; import aquality.appium.mobile.elements.interfaces.IRadioButton; -import aquality.appium.mobile.screens.AndroidScreen; import io.appium.java_client.MobileBy; import org.openqa.selenium.By;