diff --git a/src/main/java/testUI/Utils/AppiumHelps.java b/src/main/java/testUI/Utils/AppiumHelps.java index 1348e12..dde7371 100644 --- a/src/main/java/testUI/Utils/AppiumHelps.java +++ b/src/main/java/testUI/Utils/AppiumHelps.java @@ -299,28 +299,28 @@ public static void sleep(long milliseconds) { } private static List getMobileElementList(String locator) { - switch (locator.split(": ")[0]) { + switch (locator.split(": ", 2)[0]) { case "accessibilityId": - return getDriver().findElements(AppiumBy.accessibilityId(locator.split(": ")[1])); + return getDriver().findElements(AppiumBy.accessibilityId(locator.split(": ", 2)[1])); case "className": - return getDriver().findElements(By.className(locator.split(": ")[1])); + return getDriver().findElements(By.className(locator.split(": ", 2)[1])); case "androidUIAutomator": - return getAndroidTestUIDriver().findElements(AppiumBy.androidUIAutomator(locator.split(": ")[1])); + return getAndroidTestUIDriver().findElements(AppiumBy.androidUIAutomator(locator.split(": ", 2)[1])); case "predicate": - return getIOSTestUIDriver().findElements(AppiumBy.iOSNsPredicateString(locator.split(": ")[1])); + return getIOSTestUIDriver().findElements(AppiumBy.iOSNsPredicateString(locator.split(": ", 2)[1])); case "classChain": - return getIOSTestUIDriver().findElements(AppiumBy.iOSClassChain(locator.split(": ")[1])); + return getIOSTestUIDriver().findElements(AppiumBy.iOSClassChain(locator.split(": ", 2)[1])); case "name": - return getDriver().findElements(By.name(locator.split(": ")[1])); + return getDriver().findElements(By.name(locator.split(": ", 2)[1])); case "xpath": - return getDriver().findElements(By.xpath(locator.split(": ")[1])); + return getDriver().findElements(By.xpath(locator.split(": ", 2)[1])); case "id": - return getDriver().findElements(By.id(locator.split(": ")[1])); + return getDriver().findElements(By.id(locator.split(": ", 2)[1])); case "css": - return getDriver().findElements(By.cssSelector(locator.split(": ")[1])); + return getDriver().findElements(By.cssSelector(locator.split(": ", 2)[1])); default: UIAssert("The type of locator is not valid! " + - locator.split(": ")[0], + locator.split(": ", 2)[0], false ); return new ArrayList<>(); @@ -328,29 +328,29 @@ private static List getMobileElementList(String locator) { } private static WebElement getMobileElement(String locator) { - switch (locator.split(": ")[0]) { + switch (locator.split(": ", 2)[0]) { case "accessibilityId": - return getDriver().findElement(AppiumBy.accessibilityId(locator.split(": ")[1])); + return getDriver().findElement(AppiumBy.accessibilityId(locator.split(": ", 2)[1])); case "className": - return getDriver().findElement(By.className(locator.split(": ")[1])); + return getDriver().findElement(By.className(locator.split(": ", 2)[1])); case "androidUIAutomator": - return getAndroidTestUIDriver().findElement(AppiumBy.androidUIAutomator(locator.split(": ")[1])); + return getAndroidTestUIDriver().findElement(AppiumBy.androidUIAutomator(locator.split(": ", 2)[1])); case "predicate": - return getIOSTestUIDriver().findElement(AppiumBy.iOSNsPredicateString(locator.split(": ")[1])); + return getIOSTestUIDriver().findElement(AppiumBy.iOSNsPredicateString(locator.split(": ", 2)[1])); case "classChain": - return getIOSTestUIDriver().findElement(AppiumBy.iOSClassChain(locator.split(": ")[1])); + return getIOSTestUIDriver().findElement(AppiumBy.iOSClassChain(locator.split(": ", 2)[1])); case "name": - return getDriver().findElement(By.name(locator.split(": ")[1])); + return getDriver().findElement(By.name(locator.split(": ", 2)[1])); case "xpath": - return getIOSTestUIDriver().findElement(By.xpath(locator.split(": ")[1])); + return getIOSTestUIDriver().findElement(By.xpath(locator.split(": ", 2)[1])); case "id": - return getDriver().findElement(By.id(locator.split(": ")[1])); + return getDriver().findElement(By.id(locator.split(": ", 2)[1])); case "css": - return getDriver().findElement(By.cssSelector(locator.split(": ")[1])); + return getDriver().findElement(By.cssSelector(locator.split(": ", 2)[1])); default: UIAssert( "The type of locator is not valid! " + - locator.split(": ")[0], + locator.split(": ", 2)[0], false ); return getAndroidTestUIDriver().findElement(By.name("")); diff --git a/src/main/java/testUI/Utils/WaitUntil.java b/src/main/java/testUI/Utils/WaitUntil.java index 36266ac..e752f1b 100644 --- a/src/main/java/testUI/Utils/WaitUntil.java +++ b/src/main/java/testUI/Utils/WaitUntil.java @@ -11,7 +11,6 @@ import static testUI.UIUtils.getDevicesNames; import static testUI.UIUtils.getIOSDevices; import static testUI.Utils.AppiumHelps.*; -import static testUI.Utils.Logger.putSoftAssert; import static testUI.elements.TestUI.setScreenshotTaken; public class WaitUntil { @@ -65,8 +64,8 @@ private static void assertFunction( errorMessage = "The element '" + element + "' " + reason; } else { errorMessage = "The element 'By." + - accesibility.split(": ")[0] + ": " + - accesibility.split(": ")[1] + "' " + + accesibility.split(": ", 2)[0] + ": " + + accesibility.split(": ", 2)[1] + "' " + reason; } TestUIException.handleError(errorMessage); diff --git a/src/main/java/testUI/collections/TestUI.java b/src/main/java/testUI/collections/TestUI.java index c4e3ba2..e9226f5 100644 --- a/src/main/java/testUI/collections/TestUI.java +++ b/src/main/java/testUI/collections/TestUI.java @@ -214,31 +214,31 @@ private List getElementList() { case "accessibilityId": return getDriver(). findElements(AppiumBy.accessibilityId( - getAccessibilityId().split(": ")[1])); + getAccessibilityId().split(": ", 2)[1])); case "className": return getDriver(). - findElements(By.className(getAccessibilityId().split(": ")[1])); + findElements(By.className(getAccessibilityId().split(": ", 2)[1])); case "androidUIAutomator": return getAndroidTestUIDriver(). findElements(AppiumBy.androidUIAutomator( - getAccessibilityId().split(": ")[1])); + getAccessibilityId().split(": ", 2)[1])); case "predicate": return getIOSTestUIDriver(). - findElements(AppiumBy.iOSNsPredicateString(getAccessibilityId().split(": ")[1])); + findElements(AppiumBy.iOSNsPredicateString(getAccessibilityId().split(": ", 2)[1])); case "classChain": return getIOSTestUIDriver(). - findElements(AppiumBy.iOSClassChain(getAccessibilityId().split(": ")[1])); + findElements(AppiumBy.iOSClassChain(getAccessibilityId().split(": ", 2)[1])); case "name": return getDriver(). - findElements(By.name(getAccessibilityId().split(": ")[1])); + findElements(By.name(getAccessibilityId().split(": ", 2)[1])); case "xpath": return getDriver() - .findElements(By.xpath(getAccessibilityId().split(": ")[1])); + .findElements(By.xpath(getAccessibilityId().split(": ", 2)[1])); case "id": - return getDriver().findElements(By.id(getAccessibilityId().split(": ")[1])); + return getDriver().findElements(By.id(getAccessibilityId().split(": ", 2)[1])); case "css": return getDriver() - .findElements(By.cssSelector(getAccessibilityId().split(": ")[1])); + .findElements(By.cssSelector(getAccessibilityId().split(": ", 2)[1])); default: UIAssert("The type of locator is not valid! " + getAccessibilityId().split(": ")[0], diff --git a/src/test/java/TestRunners/TestJUnit.java b/src/test/java/TestRunners/TestJUnit.java index f8ef644..329f046 100644 --- a/src/test/java/TestRunners/TestJUnit.java +++ b/src/test/java/TestRunners/TestJUnit.java @@ -5,8 +5,10 @@ import org.junit.Test; import pages.GoogleLandingPage; import testUI.Configuration; +import testUI.Utils.By; import static testUI.UIOpen.open; +import static testUI.elements.TestUI.E; public class TestJUnit { private GoogleLandingPage googleLandingPage = new GoogleLandingPage(); @@ -39,6 +41,7 @@ public void testIOSApp() { Configuration.useNewWDA = false; Configuration.bundleId = "com.apple.Preferences"; open(); + E(By.byAccesibilityId("message: 2123")).waitFor(1).untilNotVisible(); } @Test