From c3fcd0373a35837bd707ee754544b8229005edc8 Mon Sep 17 00:00:00 2001 From: utkarsh Date: Sun, 1 Feb 2026 22:31:59 +0530 Subject: [PATCH 1/3] Fix issue with [issue/feature name] --- .idea/.gitignore | 3 + .idea/compiler.xml | 13 +++ .idea/encodings.xml | 7 ++ .idea/jarRepositories.xml | 20 ++++ .idea/misc.xml | 12 ++ .idea/vcs.xml | 6 + pom.xml | 95 +++++----------- src/test/java/vanilla_android.java | 93 ++++++++------- src/test/java/vanilla_ios.java | 107 +++++++----------- target/AppTesting-1.0-SNAPSHOT.jar | Bin 0 -> 2062 bytes target/maven-archiver/pom.properties | 3 + .../default-testCompile/createdFiles.lst | 2 + .../default-testCompile/inputFiles.lst | 2 + target/test-classes/vanilla_android.class | Bin 0 -> 4519 bytes target/test-classes/vanilla_ios.class | Bin 0 -> 3989 bytes 15 files changed, 185 insertions(+), 178 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 target/AppTesting-1.0-SNAPSHOT.jar create mode 100644 target/maven-archiver/pom.properties create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 target/test-classes/vanilla_android.class create mode 100644 target/test-classes/vanilla_ios.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..e6f7b76 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..74cb00e --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8e2731f..968716f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,89 +10,46 @@ UTF-8 + + + 4.11.0 - - - - - - org.seleniumhq.selenium - selenium-java - 3.141.59 - + + + + org.seleniumhq.selenium + selenium-bom + ${selenium.version} + pom + import + + + + - - com.github.lambdatest - lambdatest-tunnel-binary - 1.0.10 - - - - io.github.bonigarcia - webdrivermanager - 4.3.1 - + + + - commons-io - commons-io - 2.11.0 + io.appium + java-client + 8.6.0 + org.seleniumhq.selenium - selenium-support - 2.52.0 - - - io.appium - java-client - 7.6.0 + selenium-java + + org.testng testng - 7.6.1 - - - commons-lang - commons-lang - 2.6 - - - - org.apache.commons - commons-lang3 - 3.0 - - - - info.cukes - cucumber-java - 1.2.5 - - - - junit - junit - 4.12 + 7.9.0 test - - org.json - json - 20160810 - - - org.seleniumhq.selenium - selenium-remote-driver - 3.141.59 - - - io.rest-assured - rest-assured - 4.3.0 - diff --git a/src/test/java/vanilla_android.java b/src/test/java/vanilla_android.java index 6009380..1ad8b52 100644 --- a/src/test/java/vanilla_android.java +++ b/src/test/java/vanilla_android.java @@ -1,91 +1,96 @@ import io.appium.java_client.AppiumDriver; import io.appium.java_client.MobileBy; -import io.appium.java_client.MobileElement; +//import io.appium.java_client.WebElement; +import org.openqa.selenium.WebElement; +import io.appium.java_client.AppiumBy; +import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.remote.DesiredCapabilities; import java.net.MalformedURLException; import java.net.URL; +import java.util.HashMap; public class vanilla_android { - public static String userName = System.getenv("LT_USERNAME") == null ? "YOUR_USERNAME" // Add username here - : System.getenv("LT_USERNAME"); - public static String accessKey = System.getenv("LT_ACCESS_KEY") == null ? "YOUR_ACCESS_KEY" // Add accessKey here - : System.getenv("LT_ACCESS_KEY"); + public static String userName = System.getenv("LT_USERNAME") == null ? "YOUR_USERNAME" : System.getenv("LT_USERNAME"); + public static String accessKey = System.getenv("LT_ACCESS_KEY") == null ? "YOUR_ACCESS_KEY" : System.getenv("LT_ACCESS_KEY"); - private static AppiumDriver driver; + static AppiumDriver driver; public static void main(String args[]) throws MalformedURLException, InterruptedException { try { DesiredCapabilities capabilities = new DesiredCapabilities(); - capabilities.setCapability("deviceName", "Galaxy S20"); - capabilities.setCapability("platformVersion", "11"); - capabilities.setCapability("platformName", "Android"); - capabilities.setCapability("isRealMobile", true); - capabilities.setCapability("app", "APP_URL"); // Enter your app url - capabilities.setCapability("deviceOrientation", "PORTRAIT"); - capabilities.setCapability("build", "Java Vanilla - Android"); - capabilities.setCapability("name", "Sample Test Java"); - capabilities.setCapability("console", true); - capabilities.setCapability("network", false); - capabilities.setCapability("visual", true); - capabilities.setCapability("devicelog", true); - - driver = new AppiumDriver( + HashMap ltOptions = new HashMap(); + ltOptions.put("deviceName", "Galaxy.*"); // You can specify a particular model, or use a wildcard. + ltOptions.put("platformVersion", "14"); // Make sure this matches the device's OS version. + ltOptions.put("platformName", "Android"); + ltOptions.put("isRealMobile", true); // Ensures that the test runs on a real device. + ltOptions.put("app", "lt://APP10160622431766424164986229"); // Your app URL from LambdaTest. + ltOptions.put("deviceOrientation", "PORTRAIT"); + ltOptions.put("build", "Java Vanilla - Android"); + ltOptions.put("name", "Sample Test Java"); + ltOptions.put("console", true); + ltOptions.put("autoGrantPermissions", true); // Auto grants permissions on the app. + ltOptions.put("network", false); + ltOptions.put("visual", true); + ltOptions.put("devicelog", true); + capabilities.setCapability("lt:options", ltOptions); + + // Initialize Appium driver with the LambdaTest server URL and capabilities + driver = new AndroidDriver( new URL("https://" + userName + ":" + accessKey + "@mobile-hub.lambdatest.com/wd/hub"), capabilities); - MobileElement color = (MobileElement) driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/color")); + // Interact with elements using their IDs + WebElement color = driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/color")); color.click(); - MobileElement text = (MobileElement) driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/Text")); - // Changes the text to proverbial + WebElement text = driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/Text")); text.click(); - // toast is visible - MobileElement toast = (MobileElement) driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/toast")); + // Interact with Toast message element + WebElement toast = driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/toast")); toast.click(); - // notification is visible - MobileElement notification = (MobileElement) driver - .findElement(MobileBy.id("com.lambdatest.proverbial:id/notification")); + // Interact with Notification element + WebElement notification = driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/notification")); notification.click(); - // Open the geolocation page - MobileElement geo = (MobileElement) driver - .findElement(MobileBy.id("com.lambdatest.proverbial:id/geoLocation")); + // Open the Geolocation page + WebElement geo = driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/geoLocation")); geo.click(); Thread.sleep(5000); - // takes back to home page - MobileElement el3 = (MobileElement) driver.findElementByAccessibilityId("Home"); - + // Go back to the home page driver.navigate().back(); Thread.sleep(2000); - // Takes to speed test page - MobileElement speedtest = (MobileElement) driver - .findElement(MobileBy.id("com.lambdatest.proverbial:id/speedTest")); + // Navigate to the Speed Test page + WebElement speedtest = driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/speedTest")); speedtest.click(); Thread.sleep(5000); driver.navigate().back(); - // Opens the browser - MobileElement browser = (MobileElement) driver.findElement(MobileBy.AccessibilityId("Browser")); + // Open the Browser and perform actions + WebElement browser = driver.findElement(MobileBy.AccessibilityId("Browser")); browser.click(); - MobileElement url = (MobileElement) driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/url")); + WebElement url = driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/url")); url.sendKeys("https://www.lambdatest.com"); - MobileElement find = (MobileElement) driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/find")); + + WebElement find = driver.findElement(MobileBy.id("com.lambdatest.proverbial:id/find")); find.click(); } catch (AssertionError a) { + // Mark the status as failed if there's an error ((JavascriptExecutor) driver).executeScript("lambda-status=failed"); a.printStackTrace(); + } finally { + // Ensure the driver quits to avoid the session hanging + if (driver != null) { + driver.quit(); + } } - // The driver.quit statement is required, otherwise the test continues to - // execute, leading to a timeout. - driver.quit(); } } diff --git a/src/test/java/vanilla_ios.java b/src/test/java/vanilla_ios.java index cb51dd4..bbf8556 100644 --- a/src/test/java/vanilla_ios.java +++ b/src/test/java/vanilla_ios.java @@ -1,100 +1,77 @@ -import io.appium.java_client.MobileBy; -import io.appium.java_client.MobileElement; +import io.appium.java_client.AppiumBy; import io.appium.java_client.ios.IOSDriver; - +import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; - import java.net.URL; +import java.time.Duration; +import java.util.HashMap; public class vanilla_ios { - public static String userName = System.getenv("LT_USERNAME") == null ? "YOUR_USERNAME" // Add username here - : System.getenv("LT_USERNAME"); - public static String accessKey = System.getenv("LT_ACCESS_KEY") == null ? "YOUR_ACCESS_KEY" // Add accessKey here - : System.getenv("LT_ACCESS_KEY"); + public static String userName = System.getenv("LT_USERNAME") == null ? "YOUR_USERNAME" : System.getenv("LT_USERNAME"); + public static String accessKey = System.getenv("LT_ACCESS_KEY") == null ? "YOUR_ACCESS_KEY" : System.getenv("LT_ACCESS_KEY"); - public static final String URL = "https://" + userName + ":" + accessKey + "@mobile-hub.lambdatest.com/wd/hub"; public static IOSDriver driver = null; public static void main(String[] args) throws Exception { try { DesiredCapabilities caps = new DesiredCapabilities(); - caps.setCapability("platformVersion", "15"); - caps.setCapability("deviceName", "iPhone 12"); - caps.setCapability("isRealMobile", true); - caps.setCapability("app", "APP_URL"); // Enter your app url - caps.setCapability("platformName", "iOS"); - caps.setCapability("build", "Java Vanilla - iOS"); - caps.setCapability("name", "Sample Test Java"); - caps.setCapability("devicelog", true); - caps.setCapability("network", false); + HashMap ltOptions = new HashMap(); + + ltOptions.put("w3c", true); + ltOptions.put("platformName", "iOS"); + ltOptions.put("deviceName", "iPhone.*"); // Updated to a newer model for better stability + ltOptions.put("platformVersion", "17"); + ltOptions.put("isRealMobile", true); + ltOptions.put("app", "lt://APP1016018631760361477812757"); // Use your iOS App URL + ltOptions.put("build", "Java Vanilla - iOS"); + ltOptions.put("name", "Sample Test Java iOS"); + ltOptions.put("devicelog", true); + ltOptions.put("autoAcceptAlerts", true); + ltOptions.put("network", false); + ltOptions.put("visual", true); + + caps.setCapability("lt:options", ltOptions); driver = new IOSDriver( new URL("https://" + userName + ":" + accessKey + "@mobile-hub.lambdatest.com/wd/hub"), caps); - Thread.sleep(2000); - - // Changes color + // Wait utility + WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(30)); - driver.findElement(MobileBy.id("color")).click(); - Thread.sleep(1000); - - // Back to black color - driver.navigate().back(); + // 1. Changes color + wait.until(ExpectedConditions.elementToBeClickable(AppiumBy.id("color"))).click(); - Thread.sleep(1000); + // 2. Changes the text + driver.findElement(AppiumBy.id("Text")).click(); - // Changes the text to proverbial - driver.findElement(MobileBy.id("Text")).click(); - Thread.sleep(1000); + // 3. Toast + driver.findElement(AppiumBy.id("toast")).click(); - // toast is visible - driver.findElement(MobileBy.id("toast")).click(); - Thread.sleep(1000); + // 4. Notification + driver.findElement(AppiumBy.id("notification")).click(); +// Thread.sleep(2000); - // notification is visible - driver.findElement(MobileBy.id("notification")).click(); - Thread.sleep(2000); - - // Open the geolocation page - driver.findElement(MobileBy.id("geoLocation")).click(); - Thread.sleep(4000); - driver.navigate().back(); - Thread.sleep(1000); - - // Takes to speed test page - driver.findElement(MobileBy.id("speedTest")).click(); + // 5. Geolocation + driver.findElement(AppiumBy.id("geoLocation")).click(); Thread.sleep(5000); driver.navigate().back(); - Thread.sleep(1000); - // Opens the browser - MobileElement browser = (MobileElement) driver.findElementByAccessibilityId("Browser"); - browser.click(); - Thread.sleep(3000); - WebDriverWait el7 = new WebDriverWait(driver, 30); - el7.until(ExpectedConditions.elementToBeClickable(MobileBy.id("url"))); - driver.findElementById("url").sendKeys("https://www.lambdatest.com/"); - // Clicks on the text box - WebDriverWait el = new WebDriverWait(driver, 90); - MobileElement el4 = (MobileElement) driver.findElementByAccessibilityId("find"); - el.until(ExpectedConditions.elementToBeClickable(el4)); - el4.click(); - el4.sendKeys("Lambdatest"); - // ((JavascriptExecutor) driver).executeScript("lambda-status=passed"); - driver.quit(); } catch (Exception t) { - System.out.println(t); - driver.quit(); - + System.out.println("Test Failed: " + t.getMessage()); + t.printStackTrace(); + } finally { + if (driver != null) { + driver.quit(); + } } } -} +} \ No newline at end of file diff --git a/target/AppTesting-1.0-SNAPSHOT.jar b/target/AppTesting-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..6824ff70af7c1045b9ecccd84af1660b88bf3dac GIT binary patch literal 2062 zcmWIWW@h1HVBlb2@L1;<`|Nw>w2!y0-bG$-U9EFx&TkGfxMKX^X_20nua2kh#nM$)v|4k|CkvV%p@5Y zR0--W$j{ZQ$jx~h5ubnCOrT!>!utn5W0#~Zj}+6;>PkGywk5kU>T*dMF?xp`3u^UX>yhMx^ z?GJ6_%ALdXM`PK;et#Ag!?T+GzIUpf>Oa}Mjtc!%c3$;tYf{t+c9G6C8wI5Om0g2R zMNZ7!Z{{7Nzeo1wHqvD&^?P3%G|7Oo6VYyHD5zxU_T zxh}jMsoks^hg|J-_@sTe97pLr_<9X5&VU%7Ay579?juSS;YI{>=uReChdOCj!U^; zDodxI_%5h2P54V~*QFrWdE6@#)%HZ%ZRJ!;_L#>!Rc}3`zL(@vh1zE|DQ+%)ZU zU0K|HDbC=pGbdT98l>*7@Gy(<3#@SBUo}sAs?(0OH(t%Ya69P=~x z32JEV3wYeBq_xR(>iugi{XGuXwx=GHnz~bZ-obyd2P40hZ#p@Rt7Nr>!ji{7PAe+w zdbmF0mE0BH7;S&Gc5`r3^P3G84iEMIoIWc0BGxeQ^8ef2DrZ}k&8z0J`Bb`V4)^&Nt z+uGlEJtAlAPn=ZM_e;>dWX?tx@6Xmzkre@d-=|I4IiYCUtkVUv0<}v_?_88lQTfrP z+PcN~FT;VRJ7===B8<<5y%t=eX0-5@;_9yr0e@y(VGO?>eKw`%^%85o=hBbo{mY1Z z_jTuH3l*DbO*4fO)t6rMf2O?s;F5Q;{d1yRtmV(V@!!5AKtp)<#qhfJU7~qa{>tZ5 zSv4f3#Dg*!`US5yXGgJ3r(MO152kDWitdSc~trJ@>!I;XWPy4;dlV! zf=QN&r#K$(U-qns?|aK;6V?A_krg&fpSrvX{JwnKcJ*ELY=Q3O5<&?c9nmW;21)Mo zyzQ>OmU;dciJCQe0VjSax)L-CS}Q;T2NJy4QU=1vHdaE;0~v`(Cjs89 QY#`n2K==XZ91buK01=GzPXGV_ literal 0 HcmV?d00001 diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..e8780e7 --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=AppTesting +groupId=App +version=1.0-SNAPSHOT diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..9d6976f --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1,2 @@ +vanilla_ios.class +vanilla_android.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..0038495 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1,2 @@ +D:\LT-appium-java-ADO\src\test\java\vanilla_ios.java +D:\LT-appium-java-ADO\src\test\java\vanilla_android.java diff --git a/target/test-classes/vanilla_android.class b/target/test-classes/vanilla_android.class new file mode 100644 index 0000000000000000000000000000000000000000..0f554d0bd1a815da122af9e63665c835dcb17935 GIT binary patch literal 4519 zcmai2dwd*K75;8sGrO6PvMq%GEuj`j+9unyA#IcLNYc=zq)o}DDJfu`-Mvi)W_PwT zvq=NKP(*${P<;CnQSpI-587&)QUQxt6cs^5QG8qRg{UZ?|A^n6*(4jfEy*u4XU;uy z&+9wq+{vT=yYB%2t@v*gWhmEBVW1LK0`sml$IQ5GW=G=v$!lfG7pPiqWi9_=f%1mN zAq~1fv*V7$ot(_>G2@=JW!B1P;;zg%zKm~>p5@APx0y4OmTmc#^rFy|ifVyVgWdDK zWyd#}-sl!H7ey51I!+OYrsbHGl3UG;)G<#$-)P$A-ihXAN+f1rJ{Hh~T%H!KZRmTY znH|S-8jok`SSV1NvrT`u<7S4W>sd}##~A`;Ev-7v6fmY2Lp#nE&^ohe*Rj$%7IWG1 z2Bc|kap;?jq8{gJSYqHcSUT-o5V|hMv89>i%VVaUm;Jj17B=iGHmD%cq2qjdW#)1^ z8U&WuetSILxoum^%9gg3ZL3zbu5MY=*4DbJwWY0f-C8o%=~zZpVXXRHOJ;r351d%R zkZtQ97#!&A9n{e*P?^kIHqBm1<(rw+`XMuG*|u5VR6pa=DuIe@5b;*#K4E5ZwyYnN zo?oxt(9uR0Qcl*RJ37`1EHLxFv(YuP{x<1mEKkMH)6q_`tn|kn_c|Tx37Ij=%bT_i zq9zjBYC9u3E@hhOqLWi52e{}m(2WfOHJUe%3$=Br;7K=%UWLys z4DP7!=RBrIvHA^c!xeOtYGpPp&{V?S;(X89v?GE91~qIqFoYdM4fK(uKzpKP|xOfqfy%xZJW z$;8LgadMRxuQOmGNo~Fp?#u)?9B*|;6dRFN4T9#JR?5+#D0(oWBt`{R7bFVd?dU7j zEoO4f{?O4lq+Geyz;&=0({zw1fu((=^V%7tI!q@Eh-J2feigf!a~-BSX_&*Ql?c0)^P{BYM1MbvlS@x ze$v3F6m)AlgHpGG@jB7V4*zL^`jc*&cWn)yHao8 zK3-f)+*pC@3kL4SJq)48e#bWB37p+=!s=*3M3k?yGUp3jK%M9D#i1cN4jINZhs962XPrRbqU7eYT~L|pv%T?+pncK0;`YRI8QTvP1|_M+C+jg8)+5(g zQ+!`xn6ubq{S?*0T+k{#raQuj%`Zk$Au0^k+!#;frsKTsc=y&9X(?<_#3>;0Vrr}j zz{eAIkTVT`ruNyYVyAS*RYo-&&ak17a!k56&l z1@D#14npiBQHJmHs+NHoJjSaL3g8ELoKF!vfge(eFP9&sTn!*zJPd94AR>K-5#`<3 zvLaR!tDVHDJ66O_i=7@4b+NNTVo}8u&I!r$Vi$x&V{CayG{xc}(Gpu75*N;jubCy+ zmCtO_G0VMZnp_^cWW^*p52I)JFgEh9mv&tq>zl;Z{TSdic4a{BROB_hOk&qTq?RAV z?gOy)!-{35;7lUFwdoLU5Kx>qhn)6`x{4XzTME3&y2=^eO$A<6UDXWl<^oTv(*oWC z+%koCaMww^_YginFyNyhBlfX^s9vX+7FD)4wH2hi>5^uv>O2< z5;E$H2lt_Zx!*62a0saTF1u2gN%V>g`o#78xVaJi;#O=EcVIx= zgM`?RtHczprZ?NgL;SpW0#}MB$$Of-W4u4h`}6$HcmcbDsDFPGsK{DPE5>#o5sN$Ip}Eq+BR zLd%xo*QBDfO~Y?URnw~Z^!#_K8pVtFJyd-Ez&}-=q5fy6|BvJ}qv9oTM8m$MhCjVb zLu)krh5YFsa)FmAEJFTYxlqN&XKAyJf6O$8;h^$?<*^5*@Qp{H$By2`i+VVKf!MbT z%tsYdJsiN!*%qSy%L1H&(@+~2WuT&FgNA?Bstect#nm$Wn@I%!+aY+|d=dYtiu@l0 CKnOtq literal 0 HcmV?d00001 diff --git a/target/test-classes/vanilla_ios.class b/target/test-classes/vanilla_ios.class new file mode 100644 index 0000000000000000000000000000000000000000..ca665f2745d6030eb3844bbcb5d509a38b88f519 GIT binary patch literal 3989 zcmb7HXH*>575*MYGc1E7ubO39GO`*-zzP+R0V@WCB8deQfl#oWD8urAk!ELBv$G(g zI8NdeIkD{Ya?-2PltfYj$RxH?EGJH{PIY>3Kl3B!#QEOLvb$L86wYDhy*u~a`rUiq zKK`!<9|Euoe~+L9r5ef%lw*;=(i7%{8M94iEY>%CLMD8HMQxU2`FjOQYib8I=mHI{ zHx_eK(m7?u($bcWl}W}tnRI;_+b7eOCr3KXlsRnKmT$>)1e#J&DR5mNJ>y$;?0}gb z?=e#mL{O?@F{MxLOhm90*J+3vScc{E?13>Iu4_xv5zr<~J0tr>1y9|3_NZF=8>UzmuGbwf4NU2s|zm9bRkr6pz zC1m)aT0plBkGqa+*s9}ZfhF??2c?&`Tt~-7fs)2%9h)iDN*|G?-QzMylv+cnW-6s) ztH65OZ;8d)4cGD30%cBM@(zLJ{bn*{%jyA{_NxQ#fM=ILMd*X=j_GJ({>_Z(?=|o&+$K2NO}=;DU=;#ipG6Em1cYusoOvtJ@km`q%$H=U&PKrTr3dUT7f#h8B9+B*s{*+I4U4ol!Rjjo~w>mn2dTl-7Tkd+)fnS zmJF~_Kb{$Gu+8M~i0LzV4GA|Hn;eOesyw*U!1M5YYV+MtGE-f1t;H;gPP{;sxGAur zn3IDMv?HN77>1o$j%;XKTg{H4qOc>1E=6I(n0=xE6F~T@l1tF2G$+zmkHMy zVOCbv9Lh##0Tbh6!B^gA1e$7!`kON#i`<0*Y6o>pvM3X-?GkQNc%g;d+Mw$YD__juF(>N^%VwQiB~Z+8HatJwr2edrod>%Nho__ z`?Cvb$=7hU4QsfUK`iDXbJ7)hQHis7je+~r3@c~HNU&Gk&ki^sPx}hmuQl*Gyq-lm zYB?j>GXgFDr?Yu|tvcRFO}=ZUeI0LRGjd$t8nqGu=ybf5s>Y-ncSAxJu*=Ry@D99F z!@CT;8}C^#ZU@FaX%YwJXN>5a1vORR zQ@E(%l7Y+k^a9`dr_#Pma>lu89n2cZ!pVja=0}rWw7Mik98b?-2$+jIO;}HX&SLQDXX#GCD8t}{n z=k6Dorue||qy1e+dfR)tBJ|)<16T1Fn-~>JXF_0e(ZbC8pKIw~q5VUBM~~#h>G zl;7Uj+11~Fyt`{i$Jc2`z?CO5u$}G*^SUH%IkGpC9G2cdSdLMJAbZgCEVa)P%lvVR z6v?nqwy{FpNtFf-PZE$hQ)#2##-5{Y$r}E!5c$Dnhur;c#!JZk z1UA1H$>wg0hBDKTH-SkK{G!g*MV3UwFZszO~Vf;T5} z@P(ZPiy-g~?qYlkzRS1HKwRXa1mEOSeFiG=Ek2Eq0pG@VxU0Z-@jY_!aLJ?OV?Pt; z=AaGDpdvnp2;W9eU9_rf7E7kF;#ggDb#zU*SR1`5T&$072p603Tw9{GA#GcvO9 zF@xjVW-xpiat_weCCKGCIg8{B(!KT3iCLVU#fzu$@<(v?3SKQhhUhs`r}02;|AwdS z-}JQoTMG8e@wQpKol>Up-YfWEAn+=B0>VenV_*CdJ~?mqXK3NJY0QL%PUAst9wz5i ztexjy-clA2Dni2QvWG9Cj45do-E4R2eTL6&VF&Ls;x6?jhf4DO*udus=vc{LTi0U^ zR%0V>Ks{GYxRKp{Ee>HF(Q^~-L^W@8>*3*M+{JTeu?Y`g3maq|o*;_;j2-wVc8f~> zNLa()1KV(`XvAL8h6AF5*X?dz)8pt8OT-8J^^+pYvbAH01vU`F}~uW|aLybZfZ4 zd*QF1LKVt2{DySyfTzeL!u@YaE92=4jKuG9m0>Ck{EJ1uFpDoe20i-a^L(hyW%NcL z&l10;h-z~ggMuK+*U(}XA*gi)7Go;|tV}XcR<%#V@0X|tE%+m8CHND=2mV+UoX>y3 I-xgK;8`a@haR2}S literal 0 HcmV?d00001 From f52853008b42916f57dd9ce7ea3f97e10fa2c8fc Mon Sep 17 00:00:00 2001 From: utkarshbh785 Date: Sun, 1 Feb 2026 22:38:51 +0530 Subject: [PATCH 2/3] Set up CI with Azure Pipelines [skip ci] --- azure-pipelines.yml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000..ac7e597 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,33 @@ +trigger: + branches: + include: + - main + - master + - fix/appium-tests # Add any other branches you want to trigger the pipeline + +pool: + name: 'Default' + +# ============================== +# Variable Group +# ============================== +variables: + - group: LambdaTest-Credentials # Assuming you have a variable group for credentials + +# ============================== +# Steps +# ============================== +steps: + + # Checkout the repo to get the latest changes + - checkout: self + clean: true + + # Run Android tests with the 'android' profile + - script: | + echo Running Android Tests with Appium + mvn test -P android # Run the tests with the 'android' profile + displayName: 'Run Android Tests' + env: + LT_USERNAME: $(LT_USERNAME) # LambdaTest username (securely injected from variable group) + LT_ACCESS_KEY: $(LT_ACCESS_KEY) # LambdaTest access key (securely injected from variable group) From fa19783e4d67d9e5e3dfe5f6c16825d66dd03ab8 Mon Sep 17 00:00:00 2001 From: utkarshbh785 Date: Sun, 1 Feb 2026 22:42:34 +0530 Subject: [PATCH 3/3] Update azure-pipelines.yml for Azure Pipelines --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ac7e597..276516c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -26,7 +26,7 @@ steps: # Run Android tests with the 'android' profile - script: | echo Running Android Tests with Appium - mvn test -P android # Run the tests with the 'android' profile + mvn test -P android displayName: 'Run Android Tests' env: LT_USERNAME: $(LT_USERNAME) # LambdaTest username (securely injected from variable group)