diff --git a/maqs-appium/config.xml b/maqs-appium/config.xml index 14607a7d0..d78933809 100644 --- a/maqs-appium/config.xml +++ b/maqs-appium/config.xml @@ -42,7 +42,7 @@ http://ondemand.saucelabs.com:80/wd/hub - 122000 + 200000 1000 diff --git a/maqs-appium/pom.xml b/maqs-appium/pom.xml index f67bb63c4..32d103bce 100644 --- a/maqs-appium/pom.xml +++ b/maqs-appium/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 7.6.0 + 8.2.0 @@ -29,12 +29,17 @@ org.seleniumhq.selenium selenium-api - ${seleniumAppium.version} + ${selenium.version} org.seleniumhq.selenium selenium-remote-driver - ${seleniumAppium.version} + ${selenium.version} + + + org.seleniumhq.selenium + selenium-java + ${selenium.version} org.testng @@ -51,19 +56,14 @@ org.slf4j slf4j-api - 1.7.32 + ${slf4j.version} compile org.slf4j slf4j-simple - 1.7.32 + ${slf4j.version} compile - - org.seleniumhq.selenium - selenium-java - ${seleniumAppium.version} - diff --git a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumConfig.java b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumConfig.java index 7f1a719c3..581790737 100644 --- a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumConfig.java +++ b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumConfig.java @@ -110,7 +110,7 @@ public static URL getMobileHubUrl() { */ public static Duration getCommandTimeout() { String value = Config.getValueForSection(APPIUM_SECTION, "MobileCommandTimeout", "60000"); - int timeoutValue; + long timeoutValue; try { timeoutValue = Integer.parseInt(value); } catch (NumberFormatException ex) { diff --git a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumDriverFactory.java b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumDriverFactory.java index 6e0fc04f4..3dcc63a96 100644 --- a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumDriverFactory.java +++ b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumDriverFactory.java @@ -15,11 +15,9 @@ import java.time.Duration; import java.util.Map; import java.util.Optional; -import java.util.concurrent.TimeUnit; import java.util.function.Consumer; import java.util.function.Supplier; import org.openqa.selenium.WebDriverException; -import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; @@ -39,7 +37,7 @@ private AppiumDriverFactory() { * * @return the default mobile driver */ - public static AppiumDriver getDefaultMobileDriver() { + public static AppiumDriver getDefaultMobileDriver() { return getDefaultMobileDriver(AppiumConfig.getDeviceType()); } @@ -49,8 +47,8 @@ public static AppiumDriver getDefaultMobileDriver() { * @param deviceType the device type * @return the default mobile driver */ - public static AppiumDriver getDefaultMobileDriver(PlatformType deviceType) { - AppiumDriver appiumDriver; + public static AppiumDriver getDefaultMobileDriver(PlatformType deviceType) { + AppiumDriver appiumDriver; URL mobileHubUrl = AppiumConfig.getMobileHubUrl(); Duration duration = AppiumConfig.getCommandTimeout(); DesiredCapabilities capabilities = getDefaultMobileOptions(); @@ -71,8 +69,8 @@ public static AppiumDriver getDefaultMobileDriver(PlatformType devic } if (deviceType != PlatformType.WINDOWS) { - appiumDriver.manage().timeouts() - .implicitlyWait(AppiumConfig.getMobileTimeout().toMillis(), TimeUnit.MILLISECONDS); + appiumDriver.manage().timeouts().implicitlyWait( + Duration.ofMillis(AppiumConfig.getMobileTimeout().toMillis())); } return appiumDriver; @@ -109,12 +107,10 @@ public static DesiredCapabilities getDefaultMobileOptions(Map ca * @param timeout the timeout * @return the android driver */ - public static AppiumDriver getAndroidDriver(URL mobileHub, DesiredCapabilities options, - Duration timeout) { - + public static AppiumDriver getAndroidDriver(URL mobileHub, DesiredCapabilities options, Duration timeout) { return createDriver(() -> { - AppiumDriver driver = new AndroidDriver<>(mobileHub, options); - driver.manage().timeouts().implicitlyWait(timeout.toMillis(), TimeUnit.MILLISECONDS); + AppiumDriver driver = new AndroidDriver(mobileHub, options); + driver.manage().timeouts().implicitlyWait(Duration.ofMillis(timeout.toMillis())); return driver; }); } @@ -127,10 +123,10 @@ public static AppiumDriver getAndroidDriver(URL mobileHub, DesiredCa * @param timeout the timeout * @return the ios driver */ - public static AppiumDriver getIosDriver(URL mobileHub, DesiredCapabilities options, Duration timeout) { + public static AppiumDriver getIosDriver(URL mobileHub, DesiredCapabilities options, Duration timeout) { return createDriver(() -> { - AppiumDriver driver = new IOSDriver<>(mobileHub, options); - driver.manage().timeouts().implicitlyWait(timeout.toMillis(), TimeUnit.MILLISECONDS); + AppiumDriver driver = new IOSDriver(mobileHub, options); + driver.manage().timeouts().implicitlyWait(Duration.ofMillis(timeout.toMillis())); return driver; }); } @@ -143,11 +139,11 @@ public static AppiumDriver getIosDriver(URL mobileHub, DesiredCapabi * @param timeout the timeout * @return the Windows driver */ - public static AppiumDriver getWindowsDriver(URL mobileHub, DesiredCapabilities options, + public static AppiumDriver getWindowsDriver(URL mobileHub, DesiredCapabilities options, Duration timeout) { return createDriver(() -> { - AppiumDriver driver = new WindowsDriver<>(mobileHub, options); - driver.manage().timeouts().implicitlyWait(timeout.toMillis(), TimeUnit.MILLISECONDS); + AppiumDriver driver = new WindowsDriver(mobileHub, options); + driver.manage().timeouts().implicitlyWait(Duration.ofMillis(timeout.toMillis())); return driver; }); @@ -162,9 +158,7 @@ public static AppiumDriver getWindowsDriver(URL mobileHub, DesiredCa */ public static DesiredCapabilities mergeCapabilities(DesiredCapabilities capabilities, Map capabilitiesAsObjects) { - - Consumer mergeConsumer = (String s) -> capabilities - .setCapability(s, capabilitiesAsObjects.get(s)); + Consumer mergeConsumer = (String s) -> capabilities.setCapability(s, capabilitiesAsObjects.get(s)); capabilitiesAsObjects.keySet().iterator().forEachRemaining(mergeConsumer); return capabilities; } @@ -175,9 +169,8 @@ public static DesiredCapabilities mergeCapabilities(DesiredCapabilities capabili * @param createFunction the create function * @return the appium driver */ - public static AppiumDriver createDriver( - Supplier> createFunction) { - AppiumDriver appiumDriver = null; + public static AppiumDriver createDriver(Supplier createFunction) { + AppiumDriver appiumDriver = null; try { appiumDriver = createFunction.get(); @@ -187,7 +180,7 @@ public static AppiumDriver createDriver( throw e; } else { try { - Optional> driverOptional = Optional.ofNullable(appiumDriver); + Optional driverOptional = Optional.ofNullable(appiumDriver); driverOptional.ifPresent(AppiumDriver::quit); } catch (Exception quitException) { throw new WebDriverException( diff --git a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumTestObject.java b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumTestObject.java index 12ad526d7..d43b6af32 100644 --- a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumTestObject.java +++ b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumTestObject.java @@ -8,7 +8,6 @@ import com.cognizantsoftvision.maqs.utilities.logging.ILogger; import io.appium.java_client.AppiumDriver; import java.util.function.Supplier; -import org.openqa.selenium.WebElement; /** * The Appium Test Object class. @@ -22,7 +21,7 @@ public class AppiumTestObject extends BaseTestObject implements IAppiumTestObjec * @param logger the logger * @param fullyQualifiedTestName the fully qualified test name */ - public AppiumTestObject(AppiumDriver appiumDriver, ILogger logger, + public AppiumTestObject(AppiumDriver appiumDriver, ILogger logger, String fullyQualifiedTestName) { this(() -> appiumDriver, logger, fullyQualifiedTestName); } @@ -34,17 +33,17 @@ public AppiumTestObject(AppiumDriver appiumDriver, ILogger logger, * @param logger the logger * @param fullyQualifiedTestName the fully qualified test name */ - public AppiumTestObject(Supplier> appiumDriverSupplier, ILogger logger, + public AppiumTestObject(Supplier appiumDriverSupplier, ILogger logger, String fullyQualifiedTestName) { super(logger, fullyQualifiedTestName); this.getManagerStore().put(MobileDriverManager.class.getCanonicalName(), - new MobileDriverManager(appiumDriverSupplier, this)); + new MobileDriverManager(appiumDriverSupplier.get(), this)); } /** * {@inheritDoc} */ - public AppiumDriver getAppiumDriver() { + public AppiumDriver getAppiumDriver() { return this.getAppiumManager().getMobileDriver(); } @@ -59,7 +58,7 @@ public MobileDriverManager getAppiumManager() { /** * {@inheritDoc} */ - public void setAppiumDriver(AppiumDriver appiumDriver) { + public void setAppiumDriver(AppiumDriver appiumDriver) { this.getManagerStore().put(MobileDriverManager.class.getCanonicalName(), new MobileDriverManager((() -> appiumDriver), this)); } @@ -67,8 +66,8 @@ public void setAppiumDriver(AppiumDriver appiumDriver) { /** * {@inheritDoc} */ - public void setAppiumDriver(Supplier> appiumDriverSupplier) { + public void setAppiumDriver(Supplier appiumDriverSupplier) { this.getManagerStore().put(MobileDriverManager.class.getCanonicalName(), - new MobileDriverManager(appiumDriverSupplier, this)); + new MobileDriverManager(appiumDriverSupplier.get(), this)); } } diff --git a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumUtilities.java b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumUtilities.java index 29d32b556..53ee091b6 100644 --- a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumUtilities.java +++ b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/AppiumUtilities.java @@ -22,7 +22,6 @@ import java.time.format.DateTimeFormatter; import java.util.Locale; import org.openqa.selenium.OutputType; -import org.openqa.selenium.WebElement; /** * The Appium Utilities class. @@ -51,7 +50,7 @@ private AppiumUtilities() { * @param testObject The Test Object to associate the screenshot. * @return True if the image was saved successfully, otherwise false. */ - public static boolean captureScreenshot(AppiumDriver appiumDriver, + public static boolean captureScreenshot(AppiumDriver appiumDriver, AppiumTestObject testObject) { return captureScreenshot(appiumDriver, testObject, ""); } @@ -64,7 +63,7 @@ public static boolean captureScreenshot(AppiumDriver appiumDriver, * @param appendName The Name to append * @return True if the image was saved successfully, otherwise false. */ - public static boolean captureScreenshot(AppiumDriver appiumDriver, + public static boolean captureScreenshot(AppiumDriver appiumDriver, AppiumTestObject testObject, String appendName) { try { // Check if we are using a file logger. If not, return false. @@ -98,7 +97,7 @@ public static boolean captureScreenshot(AppiumDriver appiumDriver, * @param fileNameWithoutExtension File Name Without Extension * @return Path to Screenshot. */ - public static String captureScreenshot(AppiumDriver appiumDriver, + public static String captureScreenshot(AppiumDriver appiumDriver, AppiumTestObject testObject, String directory, String fileNameWithoutExtension) { File tempFile = appiumDriver.getScreenshotAs(OutputType.FILE); String path = Paths.get(directory, fileNameWithoutExtension + ".png").normalize().toString(); @@ -134,7 +133,7 @@ public static String captureScreenshot(AppiumDriver appiumDriver, * @param testObject The Appium Test Object * @return True if saving page source is successful, otherwise false */ - public static boolean savePageSource(AppiumDriver appiumDriver, + public static boolean savePageSource(AppiumDriver appiumDriver, AppiumTestObject testObject) { return savePageSource(appiumDriver, testObject, ""); } @@ -147,7 +146,7 @@ public static boolean savePageSource(AppiumDriver appiumDriver, * @param appendName Appends a name to the end of a filename * @return True if saving page source is successful, otherwise false */ - public static boolean savePageSource(AppiumDriver appiumDriver, + public static boolean savePageSource(AppiumDriver appiumDriver, AppiumTestObject testObject, String appendName) { try { String path; @@ -188,7 +187,7 @@ public static boolean savePageSource(AppiumDriver appiumDriver, * @param fileNameWithoutExtension File Name Without Extension * @return Path to the log file */ - public static String savePageSource(AppiumDriver appiumDriver, + public static String savePageSource(AppiumDriver appiumDriver, AppiumTestObject testObject, String directory, String fileNameWithoutExtension) { // Save the current page source into a string String pageSource = appiumDriver.getPageSource(); @@ -225,7 +224,7 @@ public static String savePageSource(AppiumDriver appiumDriver, * * @param appiumDriver The Appium Driver */ - public static void killDriver(AppiumDriver appiumDriver) { + public static void killDriver(AppiumDriver appiumDriver) { try { appiumDriver.close(); } finally { diff --git a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/BaseAppiumTest.java b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/BaseAppiumTest.java index 8bc3c3f72..c8f1dcea8 100644 --- a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/BaseAppiumTest.java +++ b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/BaseAppiumTest.java @@ -9,7 +9,6 @@ import com.cognizantsoftvision.maqs.utilities.logging.LoggingEnabled; import com.cognizantsoftvision.maqs.utilities.logging.MessageType; import io.appium.java_client.AppiumDriver; -import org.openqa.selenium.WebElement; import org.testng.ITestResult; /** @@ -29,7 +28,7 @@ public BaseAppiumTest() { * * @return the appium driver */ - public AppiumDriver getAppiumDriver() { + public AppiumDriver getAppiumDriver() { return this.getTestObject().getAppiumDriver(); } @@ -38,7 +37,7 @@ public AppiumDriver getAppiumDriver() { * * @param mobileDriver the mobile driver */ - public void setAppiumDriver(AppiumDriver mobileDriver) { + public void setAppiumDriver(AppiumDriver mobileDriver) { this.getTestObject().setAppiumDriver(mobileDriver); } @@ -47,7 +46,7 @@ public void setAppiumDriver(AppiumDriver mobileDriver) { * * @return the mobile driver */ - protected AppiumDriver getMobileDriver() { + protected AppiumDriver getMobileDriver() { return AppiumDriverFactory.getDefaultMobileDriver(); } diff --git a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/IAppiumTestObject.java b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/IAppiumTestObject.java index 06a0e6147..be815a401 100644 --- a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/IAppiumTestObject.java +++ b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/IAppiumTestObject.java @@ -7,7 +7,6 @@ import com.cognizantsoftvision.maqs.base.ITestObject; import io.appium.java_client.AppiumDriver; import java.util.function.Supplier; -import org.openqa.selenium.WebElement; /** * The Appium Test Object interface class. @@ -19,21 +18,21 @@ public interface IAppiumTestObject extends ITestObject { * * @return the appium driver */ - AppiumDriver getAppiumDriver(); + AppiumDriver getAppiumDriver(); /** * Sets appium driver. * * @param appiumDriver the appium driver */ - void setAppiumDriver(AppiumDriver appiumDriver); + void setAppiumDriver(AppiumDriver appiumDriver); /** * Sets appium driver. * * @param appiumDriverSupplier the appium driver supplier */ - void setAppiumDriver(Supplier> appiumDriverSupplier); + void setAppiumDriver(Supplier appiumDriverSupplier); /** * Gets appium manager. diff --git a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/MobileDriverManager.java b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/MobileDriverManager.java index a15426f7f..825394b2c 100644 --- a/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/MobileDriverManager.java +++ b/maqs-appium/src/main/java/com/cognizantsoftvision/maqs/appium/MobileDriverManager.java @@ -10,19 +10,18 @@ import com.cognizantsoftvision.maqs.utilities.logging.MessageType; import io.appium.java_client.AppiumDriver; import java.util.function.Supplier; -import org.openqa.selenium.WebElement; /** * The Mobile Driver Manager class. */ -public class MobileDriverManager extends DriverManager> { +public class MobileDriverManager extends DriverManager { /** * Instantiates a new Mobile Driver Manager. * * @param getDriverFunction Function that specifies how to get the driver. * @param baseTestObject The Base Test Object. */ - public MobileDriverManager(Supplier> getDriverFunction, ITestObject baseTestObject) { + public MobileDriverManager(Supplier getDriverFunction, ITestObject baseTestObject) { super(getDriverFunction, baseTestObject); } @@ -32,7 +31,7 @@ public MobileDriverManager(Supplier> getDriverFunction, * @param driver Appium Driver * @param baseTestObject The Base Test Object. */ - public MobileDriverManager(AppiumDriver driver, ITestObject baseTestObject) { + public MobileDriverManager(AppiumDriver driver, ITestObject baseTestObject) { super(() -> driver, baseTestObject); this.baseDriver = driver; } @@ -42,7 +41,7 @@ public MobileDriverManager(AppiumDriver driver, ITestObject baseTest * * @return The Appium Driver */ - public AppiumDriver getMobileDriver() { + public AppiumDriver getMobileDriver() { return getBase(); } @@ -56,7 +55,7 @@ public void close() { } try { - AppiumDriver driver = this.getMobileDriver(); + AppiumDriver driver = this.getMobileDriver(); driver.quit(); } catch (Exception e) { this.getLogger().logMessage(MessageType.ERROR, diff --git a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumConfigUnitTest.java b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumConfigUnitTest.java index c8e49c132..c314c0400 100644 --- a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumConfigUnitTest.java +++ b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumConfigUnitTest.java @@ -125,7 +125,7 @@ public void testGetSoftAssertScreenShot() { */ @Test(groups = TestCategories.APPIUM) public void testGetCommandTimeout() { - Assert.assertEquals(AppiumConfig.getCommandTimeout().toMillis(), 122000); + Assert.assertEquals(AppiumConfig.getCommandTimeout().toMillis(), 200000); } /** diff --git a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumDriverFactoryUnitTest.java b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumDriverFactoryUnitTest.java index 98f6b6c59..ea00eab8d 100644 --- a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumDriverFactoryUnitTest.java +++ b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumDriverFactoryUnitTest.java @@ -8,6 +8,7 @@ import com.cognizantsoftvision.maqs.base.BaseGenericTest; import com.cognizantsoftvision.maqs.utilities.helper.TestCategories; import io.appium.java_client.AppiumDriver; +import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.remote.MobileCapabilityType; import java.net.MalformedURLException; import java.net.URL; @@ -15,7 +16,6 @@ import java.util.function.Consumer; import java.util.function.Supplier; import org.openqa.selenium.WebDriverException; -import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.Assert; import org.testng.annotations.BeforeClass; @@ -27,6 +27,8 @@ */ public class AppiumDriverFactoryUnitTest extends BaseGenericTest { + private static Map appiumCapsMaqs; + /** * The Sauce labs config. */ @@ -38,7 +40,10 @@ public class AppiumDriverFactoryUnitTest extends BaseGenericTest { @BeforeClass public void setUp() { Map capabilitiesAsObjects = AppiumConfig.getCapabilitiesAsObjects(); - sauceLabsConfig = new DesiredCapabilities(); + appiumCapsMaqs = capabilitiesAsObjects; + + // The Sauce labs config. + DesiredCapabilities sauceLabsConfig = new DesiredCapabilities(); sauceLabsConfig.setCapability("username", capabilitiesAsObjects.get("username")); sauceLabsConfig.setCapability("accessKey", capabilitiesAsObjects.get("accessKey")); sauceLabsConfig.setCapability("deviceOrientation", "portrait"); @@ -49,7 +54,7 @@ public void setUp() { */ @Test(groups = TestCategories.APPIUM) public void testGetDefaultMobileDriver() { - AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); Assert.assertNotNull(defaultMobileDriver, "Checking if default driver is null"); } @@ -58,7 +63,7 @@ public void testGetDefaultMobileDriver() { */ @Test(groups = TestCategories.APPIUM) public void testTestGetDefaultMobileDriverAndroid() { - AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(PlatformType.ANDROID); + AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(PlatformType.ANDROID); Assert.assertNotNull(defaultMobileDriver, "Checking if default driver is null"); } @@ -97,14 +102,24 @@ public void testTestGetDefaultMobileOptions() { */ @Test(groups = TestCategories.APPIUM) public void testGetAndroidDriver() { + UiAutomator2Options options = new UiAutomator2Options(); + options.setPlatformName("Android"); + options.setPlatformVersion("6.0"); + options.setDeviceName("Android GoogleAPI Emulator"); + options.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome"); + + for(Map.Entry entry: appiumCapsMaqs.entrySet()) { + options.setCapability(entry.getKey(), entry.getValue()); + } + DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome"); capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "6.0"); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android GoogleAPI Emulator"); - AppiumDriverFactory.mergeCapabilities(capabilities, sauceLabsConfig.asMap()); - AppiumDriver androidDriver = AppiumDriverFactory.getAndroidDriver(AppiumConfig.getMobileHubUrl(), - capabilities, AppiumConfig.getMobileTimeout()); + capabilities = AppiumDriverFactory.mergeCapabilities(capabilities, sauceLabsConfig.asMap()); + AppiumDriver androidDriver = AppiumDriverFactory.getAndroidDriver(AppiumConfig.getMobileHubUrl(), + capabilities, AppiumConfig.getMobileTimeout()); Assert.assertNotNull(androidDriver, "Checking if android driver is null"); } @@ -113,14 +128,24 @@ public void testGetAndroidDriver() { */ @Test(groups = TestCategories.APPIUM) public void testGetIOSDriver() { +// Mac2Options options = new Mac2Options(); +// options.setPlatformName("iOS"); +// options.setPlatformVersion("12.2"); +// options.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone X Simulator"); +// options.setCapability(MobileCapabilityType.BROWSER_NAME, "Safari"); +// +// for(Map.Entry entry: appiumCapsMaqs.entrySet()) { +// options.setCapability(entry.getKey(), entry.getValue()); +// } + DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS"); capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Safari"); capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "12.2"); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone X Simulator"); - - AppiumDriver iosDriver = AppiumDriverFactory.getIosDriver(AppiumConfig.getMobileHubUrl(), - AppiumDriverFactory.mergeCapabilities(capabilities, sauceLabsConfig.asMap()), AppiumConfig.getMobileTimeout()); + capabilities = AppiumDriverFactory.mergeCapabilities(capabilities, sauceLabsConfig.asMap()); + AppiumDriver iosDriver = AppiumDriverFactory.getIosDriver(AppiumConfig.getMobileHubUrl(), + capabilities, AppiumConfig.getMobileTimeout()); Assert.assertNotNull(iosDriver, "Checking if ios driver is null"); } @@ -130,13 +155,18 @@ public void testGetIOSDriver() { @Test(groups = TestCategories.APPIUM) @Ignore("Work on Windows implementation") public void testGetWindowsDriver() { - DesiredCapabilities appCapabilities = new DesiredCapabilities(); - appCapabilities.setCapability("app", "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"); - appCapabilities.setCapability(MobileCapabilityType.UDID, "0C0E26E7-966B-4C89-A765-32C5C997A456"); - AppiumDriver windowsDriver = null; +// WindowsOptions options = new WindowsOptions(); +// options.setApp("Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"); +// options.setCapability(MobileCapabilityType.UDID, "0C0E26E7-966B-4C89-A765-32C5C997A456"); + + DesiredCapabilities capabilities = new DesiredCapabilities(); + capabilities.setCapability("app", "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"); + capabilities.setCapability(MobileCapabilityType.UDID, "0C0E26E7-966B-4C89-A765-32C5C997A456"); + AppiumDriver windowsDriver = null; + try { - windowsDriver = AppiumDriverFactory.getWindowsDriver(new URL("http://127.0.0.1:4723"), appCapabilities, - AppiumConfig.getMobileTimeout()); + windowsDriver = AppiumDriverFactory.getWindowsDriver(new URL("http://127.0.0.1:4723"), + capabilities, AppiumConfig.getMobileTimeout()); } catch (MalformedURLException e) { e.printStackTrace(); } @@ -148,16 +178,15 @@ public void testGetWindowsDriver() { */ @Test(groups = TestCategories.APPIUM, expectedExceptions = WebDriverException.class) public void testCreateDriverException() { - Supplier> appiumDriverSupplier = () -> { + Supplier appiumDriverSupplier = () -> { try { - return new AppiumDriver<>(new URL("http://127.0.0.1:4723"), + return new AppiumDriver(new URL("http://127.0.0.1:4723"), new DesiredCapabilities()); } catch (MalformedURLException e) { e.printStackTrace(); } return null; }; - AppiumDriverFactory.createDriver(appiumDriverSupplier); } } \ No newline at end of file diff --git a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumTestObjectUnitTest.java b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumTestObjectUnitTest.java index 521d3ad43..b9e68f2ea 100644 --- a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumTestObjectUnitTest.java +++ b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumTestObjectUnitTest.java @@ -7,7 +7,6 @@ import com.cognizantsoftvision.maqs.base.BaseGenericTest; import com.cognizantsoftvision.maqs.utilities.helper.TestCategories; import io.appium.java_client.AppiumDriver; -import org.openqa.selenium.WebElement; import org.testng.Assert; import org.testng.annotations.Test; @@ -21,7 +20,7 @@ public class AppiumTestObjectUnitTest extends BaseGenericTest { */ @Test(groups = TestCategories.APPIUM) public void testAppiumTestObjectCreationWithDriver() { - AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); AppiumTestObject appiumTestObject = new AppiumTestObject(defaultMobileDriver, this.getLogger(), this.getFullyQualifiedTestClassName()); Assert.assertNotNull(appiumTestObject, "Checking that appium test object via driver is not null"); @@ -42,10 +41,10 @@ public void testAppiumTestObjectCreationWithSupplier() { */ @Test(groups = TestCategories.APPIUM) public void testGetAppiumDriver() { - AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); try (AppiumTestObject appiumTestObject = new AppiumTestObject(defaultMobileDriver, this.getLogger(), this.getFullyQualifiedTestClassName())) { - AppiumDriver appiumDriver = appiumTestObject.getAppiumDriver(); + AppiumDriver appiumDriver = appiumTestObject.getAppiumDriver(); Assert.assertNotNull(appiumDriver, "Checking that appium driver can be retrieved from test object"); } } @@ -55,7 +54,7 @@ public void testGetAppiumDriver() { */ @Test(groups = TestCategories.APPIUM) public void testGetAppiumManager() { - AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); try (AppiumTestObject appiumTestObject = new AppiumTestObject(defaultMobileDriver, this.getLogger(), this.getFullyQualifiedTestClassName())) { @@ -69,7 +68,7 @@ public void testGetAppiumManager() { */ @Test(groups = TestCategories.APPIUM) public void testSetAppiumDriverWithDriver() { - AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); try (AppiumTestObject appiumTestObject = new AppiumTestObject(defaultMobileDriver, this.getLogger(), this.getFullyQualifiedTestClassName())) { int hashCode = appiumTestObject.getAppiumDriver().hashCode(); @@ -87,7 +86,7 @@ public void testSetAppiumDriverWithDriver() { */ @Test(groups = TestCategories.APPIUM) public void testSetAppiumDriverWithSupplier() { - AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver defaultMobileDriver = AppiumDriverFactory.getDefaultMobileDriver(); try (AppiumTestObject appiumTestObject = new AppiumTestObject(defaultMobileDriver, this.getLogger(), this.getFullyQualifiedTestClassName())) { int hashCode = appiumTestObject.getAppiumDriver().hashCode(); diff --git a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumUtilitiesUnitTest.java b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumUtilitiesUnitTest.java index fb34b07b6..e6528d151 100644 --- a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumUtilitiesUnitTest.java +++ b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/AppiumUtilitiesUnitTest.java @@ -17,15 +17,12 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Locale; -import org.openqa.selenium.WebElement; import org.testng.Assert; -import org.testng.annotations.Ignore; import org.testng.annotations.Test; /** * The Appium Utilities unit test class. */ -@Ignore public class AppiumUtilitiesUnitTest extends BaseGenericTest { /** @@ -38,7 +35,7 @@ public class AppiumUtilitiesUnitTest extends BaseGenericTest { */ @Test(groups = TestCategories.APPIUM) public void testCaptureScreenshotNoAppend() { - AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); FileLogger fileLogger = (FileLogger) this.getTestObject().getLogger(); AppiumTestObject testObject = new AppiumTestObject(appiumDriver, fileLogger, this.getTestObject().getFullyQualifiedTestName()); @@ -57,7 +54,7 @@ public void testCaptureScreenshotNoAppend() { */ @Test(groups = TestCategories.APPIUM) public void testCaptureScreenshotAppend() { - AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); FileLogger fileLogger = (FileLogger) this.getTestObject().getLogger(); AppiumTestObject testObject = new AppiumTestObject(appiumDriver, fileLogger, this.getTestObject().getFullyQualifiedTestName()); @@ -76,7 +73,7 @@ public void testCaptureScreenshotAppend() { */ @Test(groups = TestCategories.APPIUM) public void testCaptureScreenshotConsoleLogger() { - AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); ConsoleLogger consoleLogger = new ConsoleLogger(); AppiumTestObject testObject = new AppiumTestObject(appiumDriver, consoleLogger, this.getTestObject().getFullyQualifiedTestName()); @@ -95,7 +92,7 @@ public void testCaptureScreenshotConsoleLogger() { */ @Test(groups = TestCategories.APPIUM) public void testCaptureScreenshotCustomDirectoryFileName() { - AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); FileLogger fileLogger = (FileLogger) this.getTestObject().getLogger(); AppiumTestObject testObject = new AppiumTestObject(appiumDriver, fileLogger, this.getTestObject().getFullyQualifiedTestName()); @@ -119,7 +116,7 @@ public void testCaptureScreenshotCustomDirectoryFileName() { */ @Test(groups = TestCategories.APPIUM) public void testSavePageSourceNoAppend() { - AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); FileLogger fileLogger = (FileLogger) this.getTestObject().getLogger(); AppiumTestObject testObject = new AppiumTestObject(appiumDriver, fileLogger, this.getTestObject().getFullyQualifiedTestName()); @@ -138,7 +135,7 @@ public void testSavePageSourceNoAppend() { */ @Test(groups = TestCategories.APPIUM) public void testSavePageSourceAppend() { - AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); FileLogger fileLogger = (FileLogger) this.getTestObject().getLogger(); AppiumTestObject testObject = new AppiumTestObject(appiumDriver, fileLogger, this.getTestObject().getFullyQualifiedTestName()); @@ -157,7 +154,7 @@ public void testSavePageSourceAppend() { */ @Test(groups = TestCategories.APPIUM) public void testSavePageSourceCustomDirectoryFileName() { - AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); FileLogger fileLogger = (FileLogger) this.getTestObject().getLogger(); AppiumTestObject testObject = new AppiumTestObject(appiumDriver, fileLogger, this.getTestObject().getFullyQualifiedTestName()); @@ -181,7 +178,7 @@ public void testSavePageSourceCustomDirectoryFileName() { */ @Test(groups = TestCategories.APPIUM) public void testSavePageSourceConsoleLogger() { - AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); ConsoleLogger consoleLogger = new ConsoleLogger(); AppiumTestObject testObject = new AppiumTestObject(appiumDriver, consoleLogger, this.getTestObject().getFullyQualifiedTestName()); @@ -200,7 +197,7 @@ public void testSavePageSourceConsoleLogger() { */ @Test(groups = TestCategories.APPIUM) public void testKillDriver() { - AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); + AppiumDriver appiumDriver = AppiumDriverFactory.getDefaultMobileDriver(); FileLogger fileLogger = (FileLogger) this.getTestObject().getLogger(); AppiumTestObject testObject = new AppiumTestObject(appiumDriver, fileLogger, this.getTestObject().getFullyQualifiedTestName()); diff --git a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/BaseAppiumTestUnitTest.java b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/BaseAppiumTestUnitTest.java index 0328bd85c..a59921de6 100644 --- a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/BaseAppiumTestUnitTest.java +++ b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/BaseAppiumTestUnitTest.java @@ -9,7 +9,7 @@ import org.testng.annotations.Test; /** - * The Base Appium unit test class. + * The Base Appium Test unit test class. */ public class BaseAppiumTestUnitTest extends BaseAppiumTest { diff --git a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/MobileDriverManagerUnitTest.java b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/MobileDriverManagerUnitTest.java index 1c73d8e08..823155b7d 100644 --- a/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/MobileDriverManagerUnitTest.java +++ b/maqs-appium/src/test/java/com/cognizantsoftvision/maqs/appium/MobileDriverManagerUnitTest.java @@ -7,7 +7,6 @@ import com.cognizantsoftvision.maqs.base.BaseGenericTest; import io.appium.java_client.AppiumDriver; import java.util.function.Supplier; -import org.openqa.selenium.WebElement; import org.testng.Assert; import org.testng.annotations.Test; @@ -21,11 +20,11 @@ public class MobileDriverManagerUnitTest extends BaseGenericTest { */ @Test public void testGetMobileDriver() { - Supplier> supplier = AppiumDriverFactory::getDefaultMobileDriver; + Supplier supplier = AppiumDriverFactory::getDefaultMobileDriver; AppiumTestObject appiumTestObject = new AppiumTestObject(supplier, this.getLogger(), this.getTestObject().getFullyQualifiedTestName()); - try (MobileDriverManager mobileDriverManager = new MobileDriverManager(supplier, appiumTestObject)) { + try (MobileDriverManager mobileDriverManager = new MobileDriverManager(supplier.get(), appiumTestObject)) { Assert.assertNotNull(mobileDriverManager.getMobileDriver(), "Expected Mobile Driver to not be null."); } } @@ -35,8 +34,8 @@ public void testGetMobileDriver() { */ @Test public void testClose() { - Supplier> supplier = AppiumDriverFactory::getDefaultMobileDriver; - MobileDriverManager mobileDriverManager = new MobileDriverManager(supplier, this.getTestObject()); + Supplier supplier = AppiumDriverFactory::getDefaultMobileDriver; + MobileDriverManager mobileDriverManager = new MobileDriverManager(supplier.get(), this.getTestObject()); mobileDriverManager.close(); Assert.assertNull(mobileDriverManager.getBaseDriver(), "Expected Mobile Driver to be null."); @@ -58,8 +57,8 @@ public void testCloseWithInstantiatedDriver() { */ @Test public void testCloseNullBaseDriver() { - Supplier> supplier = AppiumDriverFactory::getDefaultMobileDriver; - MobileDriverManager mobileDriverManager = new MobileDriverManager(supplier, this.getTestObject()); + Supplier supplier = AppiumDriverFactory::getDefaultMobileDriver; + MobileDriverManager mobileDriverManager = new MobileDriverManager(supplier.get(), this.getTestObject()); // Close once to make Base Driver null mobileDriverManager.close(); diff --git a/maqs-playwright/pom.xml b/maqs-playwright/pom.xml index 5ec8c6aa8..9dcb566f5 100644 --- a/maqs-playwright/pom.xml +++ b/maqs-playwright/pom.xml @@ -20,14 +20,14 @@ - - com.cognizantsoftvision.maqs.base - maqs-base - com.cognizantsoftvision.maqs.utilities maqs-utilities + + com.cognizantsoftvision.maqs.base + maqs-base + org.testng testng diff --git a/maqs-selenium/pom.xml b/maqs-selenium/pom.xml index 7e881af9b..a89ada29d 100644 --- a/maqs-selenium/pom.xml +++ b/maqs-selenium/pom.xml @@ -86,13 +86,13 @@ org.slf4j slf4j-api - 1.7.32 + ${slf4j.version} compile org.slf4j slf4j-simple - 1.7.32 + ${slf4j.version} compile diff --git a/pom.xml b/pom.xml index bd6bbd48e..5838aa675 100644 --- a/pom.xml +++ b/pom.xml @@ -268,15 +268,12 @@ 9.2.1 0.8.7 7.5 - 4.1.1 - - 3.141.59 + 4.5.0 + 3.0.0-M1 8.29 11 - 94.0.4606.41 - 0.28.0 - 5.16299 + 1.7.32