From dcfdbbeb547f3e41cb1393383bfb96cd8219a423 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Mon, 25 Jul 2022 15:00:36 +0530 Subject: [PATCH 01/23] refactor!: Migrated all tests to JUnit 5 --- build.gradle | 9 +- .../AndroidAbilityToUseSupplierTest.java | 34 +++-- .../android/AndroidActivityTest.java | 33 ++-- .../android/AndroidAppStringsTest.java | 10 +- .../android/AndroidConnectionTest.java | 14 +- .../android/AndroidContextTest.java | 31 ++-- .../android/AndroidDataMatcherTest.java | 12 +- .../android/AndroidDriverTest.java | 17 +-- .../android/AndroidElementTest.java | 50 ++++--- .../android/AndroidFunctionTest.java | 50 ++++--- .../android/AndroidLogcatListenerTest.java | 12 +- .../android/AndroidScreenRecordTest.java | 14 +- .../android/AndroidSearchingTest.java | 34 +++-- .../java_client/android/AndroidTouchTest.java | 67 +++++---- .../android/AndroidViewMatcherTest.java | 12 +- .../java_client/android/BaseAndroidTest.java | 11 +- .../java_client/android/BaseEspressoTest.java | 12 +- .../java_client/android/BatteryTest.java | 2 +- .../java_client/android/ClipboardTest.java | 12 +- .../android/ExecuteCDPCommandTest.java | 13 +- .../android/ExecuteDriverScriptTest.java | 8 +- .../java_client/android/FingerPrintTest.java | 25 ++-- .../android/ImagesComparisonTest.java | 23 +-- .../java_client/android/IntentTest.java | 28 ++-- .../java_client/android/KeyCodeTest.java | 14 +- .../java_client/android/LogEventTest.java | 16 +- .../android/OpenNotificationsTest.java | 9 +- .../java_client/android/SettingTest.java | 65 ++++---- .../java_client/android/UIAutomator2Test.java | 17 ++- .../drivers/options/OptionsBuildingTest.java | 11 +- .../java_client/events/EventsFiringTest.java | 10 +- .../java_client/internal/ConfigTest.java | 17 ++- .../appium/java_client/ios/ClipboardTest.java | 7 +- .../appium/java_client/ios/IOSAlertTest.java | 20 +-- .../java_client/ios/IOSAppStringsTest.java | 13 +- .../java_client/ios/IOSContextTest.java | 30 ++-- .../appium/java_client/ios/IOSDriverTest.java | 56 +++---- .../java_client/ios/IOSElementTest.java | 25 ++-- .../ios/IOSNativeWebTapSettingTest.java | 14 +- .../java_client/ios/IOSScreenRecordTest.java | 10 +- .../java_client/ios/IOSSearchingTest.java | 16 +- .../ios/IOSSyslogListenerTest.java | 12 +- .../appium/java_client/ios/IOSTouchTest.java | 36 ++--- .../java_client/ios/IOSWebViewTest.java | 4 +- .../java_client/ios/ImagesComparisonTest.java | 23 +-- .../appium/java_client/ios/RotationTest.java | 17 ++- .../appium/java_client/ios/SettingTest.java | 62 ++++---- .../AndroidPageObjectTest.java | 141 +++++++++++------- .../DesktopBrowserCompatibilityTest.java | 27 ++-- .../MobileBrowserCompatibilityTest.java | 18 +-- .../pagefactory_tests/TimeoutTest.java | 45 +++--- .../pagefactory_tests/XCUITModeTest.java | 63 ++++---- .../widget/tests/ExtendedWidgetTest.java | 12 +- .../widget/tests/WidgetTest.java | 10 +- .../java_client/remote/MobileOptionsTest.java | 4 +- .../service/local/ServerBuilderTest.java | 51 +++---- .../local/StartingAppLocallyAndroidTest.java | 6 +- .../local/StartingAppLocallyIosTest.java | 11 +- .../service/local/ThreadSafetyTest.java | 26 ++-- .../java_client/touch/TouchOptionsTests.java | 43 +++--- 60 files changed, 799 insertions(+), 695 deletions(-) diff --git a/build.gradle b/build.gradle index 016aeaefe..ebe95db70 100644 --- a/build.gradle +++ b/build.gradle @@ -57,7 +57,8 @@ dependencies { implementation 'commons-io:commons-io:2.11.0' implementation 'org.slf4j:slf4j-api:1.7.36' - testImplementation 'junit:junit:4.13.2' + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' testImplementation 'org.hamcrest:hamcrest:2.2' testImplementation (group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.2.1') { exclude group: 'org.seleniumhq.selenium' @@ -192,7 +193,7 @@ processResources { } task xcuiTest( type: Test ) { - useJUnit() + useJUnitPlatform() testLogging.showStandardStreams = true testLogging.exceptionFormat = 'full' filter { @@ -207,7 +208,7 @@ task xcuiTest( type: Test ) { } task uiAutomationTest( type: Test ) { - useJUnit() + useJUnitPlatform() testLogging.showStandardStreams = true testLogging.exceptionFormat = 'full' filter { @@ -223,7 +224,7 @@ task uiAutomationTest( type: Test ) { } task miscTest( type: Test ) { - useJUnit() + useJUnitPlatform() testLogging.showStandardStreams = true testLogging.exceptionFormat = 'full' filter { diff --git a/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java b/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java index 0626c4f9d..db8c72926 100644 --- a/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java @@ -1,21 +1,21 @@ package io.appium.java_client.android; -import static io.appium.java_client.TestUtils.getCenter; -import static io.appium.java_client.touch.WaitOptions.waitOptions; -import static io.appium.java_client.touch.offset.ElementOption.element; -import static java.time.Duration.ofSeconds; -import static org.junit.Assert.assertNotEquals; - import io.appium.java_client.AppiumBy; import io.appium.java_client.functions.ActionSupplier; import io.appium.java_client.touch.offset.ElementOption; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.Point; import org.openqa.selenium.WebElement; import java.util.List; +import static io.appium.java_client.TestUtils.getCenter; +import static io.appium.java_client.touch.WaitOptions.waitOptions; +import static io.appium.java_client.touch.offset.ElementOption.element; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + public class AndroidAbilityToUseSupplierTest extends BaseAndroidTest { private final ActionSupplier horizontalSwipe = () -> { @@ -26,8 +26,8 @@ public class AndroidAbilityToUseSupplierTest extends BaseAndroidTest { Point location = gallery.getLocation(); Point center = getCenter(gallery, location); - ElementOption pressOption = element(images.get(2),-10,center.y - location.y); - ElementOption moveOption = element(gallery, 10,center.y - location.y); + ElementOption pressOption = element(images.get(2), -10, center.y - location.y); + ElementOption moveOption = element(gallery, 10, center.y - location.y); return new AndroidTouchAction(driver) .press(pressOption) @@ -37,15 +37,16 @@ public class AndroidAbilityToUseSupplierTest extends BaseAndroidTest { }; private final ActionSupplier verticalSwiping = () -> - new AndroidTouchAction(driver) - .press(element(driver.findElement(AppiumBy.accessibilityId("Gallery")))) + new AndroidTouchAction(driver) + .press(element(driver.findElement(AppiumBy.accessibilityId("Gallery")))) - .waitAction(waitOptions(ofSeconds(2))) + .waitAction(waitOptions(ofSeconds(2))) - .moveTo(element(driver.findElement(AppiumBy.accessibilityId("Auto Complete")))) - .release(); + .moveTo(element(driver.findElement(AppiumBy.accessibilityId("Auto Complete")))) + .release(); - @Test public void horizontalSwipingWithSupplier() { + @Test + public void horizontalSwipingWithSupplier() { Activity activity = new Activity("io.appium.android.apis", ".view.Gallery1"); driver.startActivity(activity); WebElement gallery = driver.findElement(By.id("io.appium.android.apis:id/gallery")); @@ -58,7 +59,8 @@ public class AndroidAbilityToUseSupplierTest extends BaseAndroidTest { gallery.findElements(AppiumBy.className("android.widget.ImageView")).size()); } - @Test public void verticalSwipingWithSupplier() throws Exception { + @Test + public void verticalSwipingWithSupplier() throws Exception { driver.resetApp(); driver.findElement(AppiumBy.accessibilityId("Views")).click(); diff --git a/src/test/java/io/appium/java_client/android/AndroidActivityTest.java b/src/test/java/io/appium/java_client/android/AndroidActivityTest.java index 0acfd0b49..f2932ed7f 100644 --- a/src/test/java/io/appium/java_client/android/AndroidActivityTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidActivityTest.java @@ -16,39 +16,43 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertEquals; - import io.appium.java_client.android.nativekey.AndroidKey; import io.appium.java_client.android.nativekey.KeyEvent; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; public class AndroidActivityTest extends BaseAndroidTest { - @Before public void setUp() { + @BeforeEach + public void setUp() { Activity activity = new Activity("io.appium.android.apis", ".ApiDemos"); driver.startActivity(activity); } - @Test public void startActivityInThisAppTestCase() { + @Test + public void startActivityInThisAppTestCase() { Activity activity = new Activity("io.appium.android.apis", - ".accessibility.AccessibilityNodeProviderActivity"); + ".accessibility.AccessibilityNodeProviderActivity"); driver.startActivity(activity); assertEquals(driver.currentActivity(), - ".accessibility.AccessibilityNodeProviderActivity"); + ".accessibility.AccessibilityNodeProviderActivity"); } - @Test public void startActivityWithWaitingAppTestCase() { + @Test + public void startActivityWithWaitingAppTestCase() { final Activity activity = new Activity("io.appium.android.apis", - ".accessibility.AccessibilityNodeProviderActivity") + ".accessibility.AccessibilityNodeProviderActivity") .setAppWaitPackage("io.appium.android.apis") .setAppWaitActivity(".accessibility.AccessibilityNodeProviderActivity"); driver.startActivity(activity); assertEquals(driver.currentActivity(), - ".accessibility.AccessibilityNodeProviderActivity"); + ".accessibility.AccessibilityNodeProviderActivity"); } - @Test public void startActivityInNewAppTestCase() { + @Test + public void startActivityInNewAppTestCase() { Activity activity = new Activity("com.android.settings", ".Settings"); driver.startActivity(activity); assertEquals(driver.currentActivity(), ".Settings"); @@ -56,9 +60,10 @@ public class AndroidActivityTest extends BaseAndroidTest { assertEquals(driver.currentActivity(), ".ApiDemos"); } - @Test public void startActivityInNewAppTestCaseWithoutClosingApp() { + @Test + public void startActivityInNewAppTestCaseWithoutClosingApp() { Activity activity = new Activity("io.appium.android.apis", - ".accessibility.AccessibilityNodeProviderActivity"); + ".accessibility.AccessibilityNodeProviderActivity"); driver.startActivity(activity); assertEquals(driver.currentActivity(), ".accessibility.AccessibilityNodeProviderActivity"); diff --git a/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java b/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java index 87eafb978..f57b30f19 100644 --- a/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java @@ -16,17 +16,19 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertNotEquals; +import org.junit.jupiter.api.Test; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertNotEquals; public class AndroidAppStringsTest extends BaseAndroidTest { - @Test public void getAppStrings() { + @Test + public void getAppStrings() { assertNotEquals(0, driver.getAppStringMap().size()); } - @Test public void getGetAppStringsUsingLang() { + @Test + public void getGetAppStringsUsingLang() { assertNotEquals(0, driver.getAppStringMap("en").size()); } } diff --git a/src/test/java/io/appium/java_client/android/AndroidConnectionTest.java b/src/test/java/io/appium/java_client/android/AndroidConnectionTest.java index f1eb1043a..4c8f03cd4 100644 --- a/src/test/java/io/appium/java_client/android/AndroidConnectionTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidConnectionTest.java @@ -16,16 +16,16 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - import io.appium.java_client.android.connection.ConnectionState; import io.appium.java_client.android.connection.ConnectionStateBuilder; -import org.junit.FixMethodOrder; -import org.junit.Test; -import org.junit.runners.MethodSorters; +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; -@FixMethodOrder(MethodSorters.NAME_ASCENDING) +@TestMethodOrder(MethodOrderer.MethodName.class) public class AndroidConnectionTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/AndroidContextTest.java b/src/test/java/io/appium/java_client/android/AndroidContextTest.java index 60e423fe8..27b45691d 100644 --- a/src/test/java/io/appium/java_client/android/AndroidContextTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidContextTest.java @@ -16,29 +16,34 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertEquals; - import io.appium.java_client.NoSuchContextException; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; public class AndroidContextTest extends BaseAndroidTest { - @BeforeClass public static void beforeClass2() throws Exception { + @BeforeAll + public static void beforeClass2() throws Exception { Activity activity = new Activity("io.appium.android.apis", ".view.WebView1"); driver.startActivity(activity); Thread.sleep(20000); } - @Test public void testGetContext() { + @Test + public void testGetContext() { assertEquals("NATIVE_APP", driver.getContext()); } - @Test public void testGetContextHandles() { + @Test + public void testGetContextHandles() { assertEquals(driver.getContextHandles().size(), 2); } - @Test public void testSwitchContext() { + @Test + public void testSwitchContext() { driver.getContextHandles(); driver.context("WEBVIEW_io.appium.android.apis"); assertEquals(driver.getContext(), "WEBVIEW_io.appium.android.apis"); @@ -46,9 +51,13 @@ public class AndroidContextTest extends BaseAndroidTest { assertEquals(driver.getContext(), "NATIVE_APP"); } - @Test(expected = NoSuchContextException.class) public void testContextError() { - driver.context("Planet of the Ape-ium"); - assertEquals("Planet of the Ape-ium", driver.getContext()); + @Test + public void testContextError() { + assertThrows(NoSuchContextException.class, + () -> { + driver.context("Planet of the Ape-ium"); + assertEquals("Planet of the Ape-ium", driver.getContext()); + }); } } diff --git a/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java b/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java index afe0b7653..423e2d4a5 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java @@ -19,14 +19,14 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.appium.java_client.AppiumBy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.json.Json; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import java.time.Duration; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; public class AndroidDataMatcherTest extends BaseEspressoTest { @@ -34,15 +34,15 @@ public class AndroidDataMatcherTest extends BaseEspressoTest { public void testFindByDataMatcher() { final WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10)); wait.until(ExpectedConditions - .elementToBeClickable(AppiumBy.accessibilityId("Graphics"))); + .elementToBeClickable(AppiumBy.accessibilityId("Graphics"))); driver.findElement(AppiumBy.accessibilityId("Graphics")).click(); String selector = new Json().toJson(ImmutableMap.of( - "name", "hasEntry", - "args", ImmutableList.of("title", "Sweep") + "name", "hasEntry", + "args", ImmutableList.of("title", "Sweep") )); assertNotNull(wait.until(ExpectedConditions - .presenceOfElementLocated(AppiumBy.androidDataMatcher(selector)))); + .presenceOfElementLocated(AppiumBy.androidDataMatcher(selector)))); } } diff --git a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java index c94669138..3a1f72f1d 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java @@ -16,21 +16,11 @@ package io.appium.java_client.android; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.lessThan; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - import io.appium.java_client.appmanagement.ApplicationState; import org.apache.commons.codec.binary.Base64; import org.apache.commons.io.FileUtils; import org.hamcrest.Matchers; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.ScreenOrientation; import org.openqa.selenium.html5.Location; @@ -39,6 +29,11 @@ import java.util.ArrayList; import java.util.List; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.lessThan; +import static org.junit.jupiter.api.Assertions.*; + public class AndroidDriverTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/AndroidElementTest.java b/src/test/java/io/appium/java_client/android/AndroidElementTest.java index 911dd8150..9b28f3e66 100644 --- a/src/test/java/io/appium/java_client/android/AndroidElementTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidElementTest.java @@ -16,51 +16,53 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNotNull; - import io.appium.java_client.AppiumBy; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.RemoteWebElement; +import static org.junit.jupiter.api.Assertions.*; + public class AndroidElementTest extends BaseAndroidTest { - @Before public void setup() { + @BeforeEach + public void setup() { Activity activity = new Activity("io.appium.android.apis", ".ApiDemos"); driver.startActivity(activity); } - @Test public void findByAccessibilityIdTest() { + @Test + public void findByAccessibilityIdTest() { assertNotEquals(driver.findElement(By.id("android:id/content")) - .findElement(AppiumBy.accessibilityId("Graphics")).getText(), null); + .findElement(AppiumBy.accessibilityId("Graphics")).getText(), null); assertEquals(driver.findElement(By.id("android:id/content")) - .findElements(AppiumBy.accessibilityId("Graphics")).size(), 1); + .findElements(AppiumBy.accessibilityId("Graphics")).size(), 1); } - @Test public void findByAndroidUIAutomatorTest() { + @Test + public void findByAndroidUIAutomatorTest() { assertNotEquals(driver.findElement(By.id("android:id/content")) - .findElement(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).getText(), null); + .findElement(AppiumBy + .androidUIAutomator("new UiSelector().clickable(true)")).getText(), null); assertNotEquals(driver.findElement(By.id("android:id/content")) - .findElements(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).size(), 0); + .findElements(AppiumBy + .androidUIAutomator("new UiSelector().clickable(true)")).size(), 0); assertNotEquals(driver.findElement(By.id("android:id/content")) - .findElements(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).size(), 1); + .findElements(AppiumBy + .androidUIAutomator("new UiSelector().clickable(true)")).size(), 1); } - @Test public void replaceValueTest() { + @Test + public void replaceValueTest() { String originalValue = "original value"; Activity activity = new Activity("io.appium.android.apis", ".view.Controls1"); driver.startActivity(activity); WebElement editElement = driver - .findElement(AppiumBy.androidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")")); + .findElement(AppiumBy.androidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")")); editElement.sendKeys(originalValue); assertEquals(originalValue, editElement.getText()); String replacedValue = "replaced value"; @@ -68,23 +70,25 @@ public class AndroidElementTest extends BaseAndroidTest { assertEquals(replacedValue, editElement.getText()); } - @Test public void scrollingToSubElement() { + @Test + public void scrollingToSubElement() { driver.findElement(AppiumBy.accessibilityId("Views")).click(); WebElement list = driver.findElement(By.id("android:id/list")); WebElement radioGroup = list .findElement(AppiumBy .androidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView(" - + "new UiSelector().text(\"Radio Group\"));")); + + "new UiSelector().text(\"Radio Group\"));")); assertNotNull(radioGroup.getLocation()); } - @Test public void setValueTest() { + @Test + public void setValueTest() { String value = "new value"; Activity activity = new Activity("io.appium.android.apis", ".view.Controls1"); driver.startActivity(activity); WebElement editElement = driver - .findElement(AppiumBy.androidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")")); + .findElement(AppiumBy.androidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")")); editElement.sendKeys(value); assertEquals(value, editElement.getText()); } diff --git a/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java b/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java index e86a58c05..82db05398 100644 --- a/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java @@ -1,17 +1,10 @@ package io.appium.java_client.android; -import static java.time.Duration.ofMillis; -import static java.time.Duration.ofSeconds; -import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.StringContains.containsString; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; - import io.appium.java_client.functions.AppiumFunction; import io.appium.java_client.functions.ExpectedCondition; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.TimeoutException; import org.openqa.selenium.WebDriver; @@ -25,6 +18,14 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import static java.time.Duration.ofMillis; +import static java.time.Duration.ofSeconds; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.StringContains.containsString; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class AndroidFunctionTest extends BaseAndroidTest { private final AppiumFunction> searchingFunction = input -> { @@ -65,7 +66,7 @@ public class AndroidFunctionTest extends BaseAndroidTest { return null; }; - @BeforeClass + @BeforeAll public static void startWebViewActivity() { if (driver != null) { Activity activity = new Activity("io.appium.android.apis", ".view.WebView1"); @@ -73,7 +74,7 @@ public static void startWebViewActivity() { } } - @Before + @BeforeEach public void setUp() { driver.context("NATIVE_APP"); @@ -92,7 +93,8 @@ public void complexWaitingTestWithPreCondition() { assertThat("WebView is expected", driver.getContext(), containsString("WEBVIEW")); } - @Test public void complexWaitingTestWithPostConditions() { + @Test + public void complexWaitingTestWithPostConditions() { final List calls = new ArrayList<>(); AppiumFunction waitingForContext = input -> { @@ -127,17 +129,23 @@ public void complexWaitingTestWithPreCondition() { assertThat("There should be 3 calls", calls.size(), is(3)); } - @Test(expected = TimeoutException.class) + @Test public void nullPointerExceptionSafetyTestWithPrecondition() { - Wait wait = new FluentWait<>(Pattern.compile("Fake_context")) - .withTimeout(ofSeconds(30)).pollingEvery(ofMillis(500)); - assertTrue(wait.until(searchingFunction.compose(contextFunction)).size() > 0); + assertThrows(TimeoutException.class, + () -> { + Wait wait = new FluentWait<>(Pattern.compile("Fake_context")) + .withTimeout(ofSeconds(30)).pollingEvery(ofMillis(500)); + assertTrue(wait.until(searchingFunction.compose(contextFunction)).size() > 0); + }); } - @Test(expected = TimeoutException.class) + @Test public void nullPointerExceptionSafetyTestWithPostConditions() { - Wait wait = new FluentWait<>(Pattern.compile("Fake_context")) - .withTimeout(ofSeconds(30)).pollingEvery(ofMillis(500)); - assertTrue(wait.until(contextFunction.andThen(searchingFunction).andThen(filteringFunction)).size() > 0); + assertThrows(TimeoutException.class, + () -> { + Wait wait = new FluentWait<>(Pattern.compile("Fake_context")) + .withTimeout(ofSeconds(30)).pollingEvery(ofMillis(500)); + assertTrue(wait.until(contextFunction.andThen(searchingFunction).andThen(filteringFunction)).size() > 0); + }); } } diff --git a/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java b/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java index 5cfdee5c2..0aa4f8df9 100644 --- a/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java @@ -1,14 +1,14 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertTrue; - import org.apache.commons.lang3.time.DurationFormatUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.Duration; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class AndroidLogcatListenerTest extends BaseAndroidTest { @Test @@ -25,9 +25,9 @@ public void verifyLogcatListenerCanBeAssigned() { messageSemaphore.acquire(); // This is needed for pushing some internal log messages driver.runAppInBackground(Duration.ofSeconds(1)); - assertTrue(String.format("Didn't receive any log message after %s timeout", - DurationFormatUtils.formatDuration(timeout.toMillis(), "H:mm:ss", true)), - messageSemaphore.tryAcquire(timeout.toMillis(), TimeUnit.MILLISECONDS)); + assertTrue(messageSemaphore.tryAcquire(timeout.toMillis(), TimeUnit.MILLISECONDS), + String.format("Didn't receive any log message after %s timeout", + DurationFormatUtils.formatDuration(timeout.toMillis(), "H:mm:ss", true))); } catch (InterruptedException e) { throw new IllegalStateException(e); } finally { diff --git a/src/test/java/io/appium/java_client/android/AndroidScreenRecordTest.java b/src/test/java/io/appium/java_client/android/AndroidScreenRecordTest.java index be34c67b9..f258b4eef 100644 --- a/src/test/java/io/appium/java_client/android/AndroidScreenRecordTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidScreenRecordTest.java @@ -1,19 +1,17 @@ package io.appium.java_client.android; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.emptyString; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.not; - -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriverException; import java.time.Duration; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.*; + public class AndroidScreenRecordTest extends BaseAndroidTest { - @Before + @BeforeEach public void setUp() { Activity activity = new Activity("io.appium.android.apis", ".ApiDemos"); driver.startActivity(activity); diff --git a/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java b/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java index e96ac64e7..f4d67c40e 100644 --- a/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java @@ -16,53 +16,55 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNotNull; - import io.appium.java_client.AppiumBy; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; +import static org.junit.jupiter.api.Assertions.*; + public class AndroidSearchingTest extends BaseAndroidTest { - @Before + @BeforeEach public void setup() { Activity activity = new Activity("io.appium.android.apis", ".ApiDemos"); driver.startActivity(activity); } - @Test public void findByAccessibilityIdTest() { + @Test + public void findByAccessibilityIdTest() { assertNotEquals(driver.findElement(AppiumBy.accessibilityId("Graphics")).getText(), null); assertEquals(driver.findElements(AppiumBy.accessibilityId("Graphics")).size(), 1); } - @Test public void findByAndroidUIAutomatorTest() { + @Test + public void findByAndroidUIAutomatorTest() { assertNotEquals(driver .findElement(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).getText(), null); + .androidUIAutomator("new UiSelector().clickable(true)")).getText(), null); assertNotEquals(driver .findElements(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).size(), 0); + .androidUIAutomator("new UiSelector().clickable(true)")).size(), 0); assertNotEquals(driver .findElements(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).size(), 1); + .androidUIAutomator("new UiSelector().clickable(true)")).size(), 1); } - @Test public void findByXPathTest() { + @Test + public void findByXPathTest() { By byXPath = By.xpath("//android.widget.TextView[contains(@text, 'Animat')]"); assertNotNull(driver.findElement(byXPath).getText()); assertEquals(driver.findElements(byXPath).size(), 1); } - @Test public void findScrollable() { + @Test + public void findScrollable() { driver.findElement(AppiumBy.accessibilityId("Views")).click(); WebElement radioGroup = driver .findElement(AppiumBy.androidUIAutomator("new UiScrollable(new UiSelector()" - + ".resourceId(\"android:id/list\")).scrollIntoView(" - + "new UiSelector().text(\"Radio Group\"));")); + + ".resourceId(\"android:id/list\")).scrollIntoView(" + + "new UiSelector().text(\"Radio Group\"));")); assertNotNull(radioGroup.getLocation()); } } diff --git a/src/test/java/io/appium/java_client/android/AndroidTouchTest.java b/src/test/java/io/appium/java_client/android/AndroidTouchTest.java index e03485bbf..6d40eab43 100644 --- a/src/test/java/io/appium/java_client/android/AndroidTouchTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidTouchTest.java @@ -1,35 +1,35 @@ package io.appium.java_client.android; -import static io.appium.java_client.TestUtils.getCenter; -import static io.appium.java_client.touch.LongPressOptions.longPressOptions; -import static io.appium.java_client.touch.TapOptions.tapOptions; -import static io.appium.java_client.touch.WaitOptions.waitOptions; -import static io.appium.java_client.touch.offset.ElementOption.element; -import static io.appium.java_client.touch.offset.PointOption.point; -import static java.time.Duration.ofSeconds; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; - import io.appium.java_client.AppiumBy; import io.appium.java_client.MultiTouchAction; import io.appium.java_client.TouchAction; - -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.Point; import org.openqa.selenium.WebElement; import java.util.List; +import static io.appium.java_client.TestUtils.getCenter; +import static io.appium.java_client.touch.LongPressOptions.longPressOptions; +import static io.appium.java_client.touch.TapOptions.tapOptions; +import static io.appium.java_client.touch.WaitOptions.waitOptions; +import static io.appium.java_client.touch.offset.ElementOption.element; +import static io.appium.java_client.touch.offset.PointOption.point; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + public class AndroidTouchTest extends BaseAndroidTest { - @Before + @BeforeEach public void setUp() { driver.resetApp(); } - @Test public void dragNDropByElementTest() { + @Test + public void dragNDropByElementTest() { Activity activity = new Activity("io.appium.android.apis", ".view.DragAndDropDemo"); driver.startActivity(activity); WebElement dragDot1 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_1")); @@ -39,14 +39,15 @@ public void setUp() { assertEquals("Drag text not empty", "", dragText.getText()); TouchAction dragNDrop = new TouchAction(driver) - .longPress(element(dragDot1)) - .moveTo(element(dragDot3)) - .release(); + .longPress(element(dragDot1)) + .moveTo(element(dragDot3)) + .release(); dragNDrop.perform(); assertNotEquals("Drag text empty", "", dragText.getText()); } - @Test public void dragNDropByElementAndDurationTest() { + @Test + public void dragNDropByElementAndDurationTest() { Activity activity = new Activity("io.appium.android.apis", ".view.DragAndDropDemo"); driver.startActivity(activity); WebElement dragDot1 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_1")); @@ -65,7 +66,8 @@ public void setUp() { assertNotEquals("Drag text empty", "", dragText.getText()); } - @Test public void dragNDropByCoordinatesTest() { + @Test + public void dragNDropByCoordinatesTest() { Activity activity = new Activity("io.appium.android.apis", ".view.DragAndDropDemo"); driver.startActivity(activity); WebElement dragDot1 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_1")); @@ -85,7 +87,8 @@ public void setUp() { assertNotEquals("Drag text empty", "", dragText.getText()); } - @Test public void dragNDropByCoordinatesAndDurationTest() { + @Test + public void dragNDropByCoordinatesAndDurationTest() { Activity activity = new Activity("io.appium.android.apis", ".view.DragAndDropDemo"); driver.startActivity(activity); WebElement dragDot1 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_1")); @@ -107,7 +110,8 @@ public void setUp() { assertNotEquals("Drag text empty", "", dragText.getText()); } - @Test public void pressByCoordinatesTest() { + @Test + public void pressByCoordinatesTest() { Activity activity = new Activity("io.appium.android.apis", ".view.Buttons1"); driver.startActivity(activity); Point point = driver.findElement(By.id("io.appium.android.apis:id/button_toggle")).getLocation(); @@ -119,7 +123,8 @@ public void setUp() { assertEquals("ON", driver.findElement(By.id("io.appium.android.apis:id/button_toggle")).getText()); } - @Test public void pressByElementTest() { + @Test + public void pressByElementTest() { Activity activity = new Activity("io.appium.android.apis", ".view.Buttons1"); driver.startActivity(activity); new TouchAction(driver) @@ -130,7 +135,8 @@ public void setUp() { assertEquals("ON", driver.findElement(By.id("io.appium.android.apis:id/button_toggle")).getText()); } - @Test public void tapActionTestByElement() throws Exception { + @Test + public void tapActionTestByElement() throws Exception { Activity activity = new Activity("io.appium.android.apis", ".view.ChronometerDemo"); driver.startActivity(activity); WebElement chronometer = driver.findElement(By.id("io.appium.android.apis:id/chronometer")); @@ -148,7 +154,8 @@ public void setUp() { assertEquals(time, chronometer.getText()); } - @Test public void tapActionTestByCoordinates() throws Exception { + @Test + public void tapActionTestByCoordinates() throws Exception { Activity activity = new Activity("io.appium.android.apis", ".view.ChronometerDemo"); driver.startActivity(activity); WebElement chronometer = driver.findElement(By.id("io.appium.android.apis:id/chronometer")); @@ -166,7 +173,8 @@ public void setUp() { assertEquals(time, chronometer.getText()); } - @Test public void horizontalSwipingTest() { + @Test + public void horizontalSwipingTest() { Activity activity = new Activity("io.appium.android.apis", ".view.Gallery1"); driver.startActivity(activity); @@ -177,16 +185,17 @@ public void setUp() { Point center = getCenter(gallery); TouchAction swipe = new TouchAction(driver) - .press(element(images.get(2),-10, center.y - location.y)) + .press(element(images.get(2), -10, center.y - location.y)) .waitAction(waitOptions(ofSeconds(2))) - .moveTo(element(gallery,10,center.y - location.y)) + .moveTo(element(gallery, 10, center.y - location.y)) .release(); swipe.perform(); assertNotEquals(originalImageCount, gallery.findElements(AppiumBy.className("android.widget.ImageView")).size()); } - @Test public void multiTouchTest() { + @Test + public void multiTouchTest() { Activity activity = new Activity("io.appium.android.apis", ".view.Buttons1"); driver.startActivity(activity); TouchAction press = new TouchAction(driver) diff --git a/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java b/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java index 191055553..6892d7027 100644 --- a/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java @@ -19,26 +19,26 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.appium.java_client.AppiumBy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.json.Json; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import java.time.Duration; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; public class AndroidViewMatcherTest extends BaseEspressoTest { @Test public void testFindByViewMatcher() { String selector = new Json().toJson(ImmutableMap.of( - "name", "withText", - "args", ImmutableList.of("Animation"), - "class", "androidx.test.espresso.matcher.ViewMatchers" + "name", "withText", + "args", ImmutableList.of("Animation"), + "class", "androidx.test.espresso.matcher.ViewMatchers" )); final WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10)); assertNotNull(wait.until(ExpectedConditions - .presenceOfElementLocated(AppiumBy.androidViewMatcher(selector)))); + .presenceOfElementLocated(AppiumBy.androidViewMatcher(selector)))); } } diff --git a/src/test/java/io/appium/java_client/android/BaseAndroidTest.java b/src/test/java/io/appium/java_client/android/BaseAndroidTest.java index b6a4e5421..738e70ee7 100644 --- a/src/test/java/io/appium/java_client/android/BaseAndroidTest.java +++ b/src/test/java/io/appium/java_client/android/BaseAndroidTest.java @@ -18,10 +18,9 @@ import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.service.local.AppiumDriverLocalService; - import io.appium.java_client.service.local.AppiumServiceBuilder; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import static io.appium.java_client.TestResources.apiDemosApk; @@ -35,7 +34,8 @@ public class BaseAndroidTest { /** * initialization. */ - @BeforeClass public static void beforeClass() { + @BeforeAll + public static void beforeClass() { service = new AppiumServiceBuilder() .withIPAddress("127.0.0.1") .usingPort(PORT) @@ -52,7 +52,8 @@ public class BaseAndroidTest { /** * finishing. */ - @AfterClass public static void afterClass() { + @AfterAll + public static void afterClass() { if (driver != null) { driver.quit(); } diff --git a/src/test/java/io/appium/java_client/android/BaseEspressoTest.java b/src/test/java/io/appium/java_client/android/BaseEspressoTest.java index 6375ff58e..3294dbf4a 100644 --- a/src/test/java/io/appium/java_client/android/BaseEspressoTest.java +++ b/src/test/java/io/appium/java_client/android/BaseEspressoTest.java @@ -19,8 +19,8 @@ import io.appium.java_client.android.options.EspressoOptions; import io.appium.java_client.service.local.AppiumDriverLocalService; import io.appium.java_client.service.local.AppiumServerHasNotBeenStartedLocallyException; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import static io.appium.java_client.TestResources.apiDemosApk; @@ -32,13 +32,14 @@ public class BaseEspressoTest { /** * initialization. */ - @BeforeClass public static void beforeClass() { + @BeforeAll + public static void beforeClass() { service = AppiumDriverLocalService.buildDefaultService(); service.start(); if (service == null || !service.isRunning()) { throw new AppiumServerHasNotBeenStartedLocallyException( - "An appium server node is not started!"); + "An appium server node is not started!"); } EspressoOptions options = new EspressoOptions() @@ -51,7 +52,8 @@ public class BaseEspressoTest { /** * finishing. */ - @AfterClass public static void afterClass() { + @AfterAll + public static void afterClass() { if (driver != null) { driver.quit(); } diff --git a/src/test/java/io/appium/java_client/android/BatteryTest.java b/src/test/java/io/appium/java_client/android/BatteryTest.java index a48ecc092..619fafac1 100644 --- a/src/test/java/io/appium/java_client/android/BatteryTest.java +++ b/src/test/java/io/appium/java_client/android/BatteryTest.java @@ -21,7 +21,7 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.not; -import org.junit.Test; +import org.junit.jupiter.api.Test; public class BatteryTest extends BaseAndroidTest { diff --git a/src/test/java/io/appium/java_client/android/ClipboardTest.java b/src/test/java/io/appium/java_client/android/ClipboardTest.java index 0e58ae3b6..5b9c590db 100644 --- a/src/test/java/io/appium/java_client/android/ClipboardTest.java +++ b/src/test/java/io/appium/java_client/android/ClipboardTest.java @@ -16,18 +16,20 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import org.junit.Before; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; public class ClipboardTest extends BaseAndroidTest { - @Before public void setUp() { + @BeforeEach + public void setUp() { driver.resetApp(); } - @Test public void verifySetAndGetClipboardText() { + @Test + public void verifySetAndGetClipboardText() { final String text = "Happy testing"; driver.setClipboardText(text); assertEquals(driver.getClipboardText(), text); diff --git a/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java b/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java index 634a9a516..259dd0d4d 100644 --- a/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java +++ b/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java @@ -20,13 +20,12 @@ import io.appium.java_client.remote.MobileBrowserType; import io.appium.java_client.remote.MobileCapabilityType; import io.appium.java_client.service.local.AppiumDriverLocalService; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; -import org.openqa.selenium.remote.RemoteWebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; @@ -34,7 +33,7 @@ import java.util.Map; import static java.time.Duration.ofSeconds; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotNull; public class ExecuteCDPCommandTest { @@ -49,7 +48,7 @@ public class ExecuteCDPCommandTest { /** * The setting up. */ - @Before + @BeforeEach public void setUp() { service = AppiumDriverLocalService.buildDefaultService(); service.start(); @@ -66,7 +65,7 @@ public void setUp() { /** * finishing. */ - @After + @AfterEach public void tearDown() { if (driver != null) { driver.quit(); diff --git a/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java b/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java index 5b8da2938..a9cd24631 100644 --- a/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java +++ b/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java @@ -19,16 +19,16 @@ import io.appium.java_client.driverscripts.ScriptOptions; import io.appium.java_client.driverscripts.ScriptType; import io.appium.java_client.driverscripts.ScriptValue; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Arrays; import java.util.List; import java.util.Map; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; +import static org.junit.jupiter.api.Assertions.assertNotNull; public class ExecuteDriverScriptTest extends BaseAndroidTest { @@ -45,7 +45,7 @@ public void verifyBasicScriptExecution() { //noinspection unchecked assertNotNull(((Map) value.getResult()).get("build")); //noinspection unchecked - assertThat(((List)value.getLogs().get("warn")).get(0), + assertThat(((List) value.getLogs().get("warn")).get(0), is(equalTo("warning message"))); } } diff --git a/src/test/java/io/appium/java_client/android/FingerPrintTest.java b/src/test/java/io/appium/java_client/android/FingerPrintTest.java index 42d696b58..ee4b52c4a 100644 --- a/src/test/java/io/appium/java_client/android/FingerPrintTest.java +++ b/src/test/java/io/appium/java_client/android/FingerPrintTest.java @@ -16,22 +16,17 @@ package io.appium.java_client.android; -import static io.appium.java_client.AppiumBy.androidUIAutomator; - import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.service.local.AppiumDriverLocalService; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.*; import org.openqa.selenium.By; import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebElement; import java.time.Duration; +import static io.appium.java_client.AppiumBy.androidUIAutomator; + public class FingerPrintTest { private static AppiumDriverLocalService service; private static AndroidDriver driver; @@ -48,7 +43,8 @@ private static void initDriver() { /** * initialization. */ - @BeforeClass public static void beforeClass() { + @BeforeAll + public static void beforeClass() { service = AppiumDriverLocalService.buildDefaultService(); service.start(); @@ -60,7 +56,8 @@ private static void initDriver() { /** * finishing. */ - @AfterClass public static void afterClass() { + @AfterAll + public static void afterClass() { if (service != null) { service.stop(); } @@ -68,7 +65,7 @@ private static void initDriver() { private WebElement findElementByText(String text) { return driver.findElements(By.id("android:id/title")).stream().filter(androidElement -> - text.equals(androidElement.getText())).findFirst() + text.equals(androidElement.getText())).findFirst() .orElseThrow(() -> new NoSuchElementException(String.format("There is no element with the text '%s'", text))); } @@ -98,7 +95,7 @@ private void clickOnSecurity() { /** * enable system security which is required for finger print activation. */ - @Before + @BeforeEach public void before() { initDriver(); clickOnSecurity(); @@ -123,14 +120,14 @@ public void fingerPrintTest() { try { clickNext(); } catch (Exception e) { - Assert.fail("fingerprint command fail to execute"); + Assertions.fail("fingerprint command fail to execute"); } } /** * disabling pin lock mode. */ - @After + @AfterEach public void after() { driver.quit(); diff --git a/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java b/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java index 388b32cf1..1005a1b4c 100644 --- a/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java +++ b/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java @@ -16,24 +16,17 @@ package io.appium.java_client.android; -import static org.hamcrest.Matchers.greaterThan; -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; - -import io.appium.java_client.imagecomparison.FeatureDetector; -import io.appium.java_client.imagecomparison.FeaturesMatchingOptions; -import io.appium.java_client.imagecomparison.FeaturesMatchingResult; -import io.appium.java_client.imagecomparison.MatchingFunction; -import io.appium.java_client.imagecomparison.OccurrenceMatchingOptions; -import io.appium.java_client.imagecomparison.OccurrenceMatchingResult; -import io.appium.java_client.imagecomparison.SimilarityMatchingOptions; -import io.appium.java_client.imagecomparison.SimilarityMatchingResult; +import io.appium.java_client.imagecomparison.*; import org.apache.commons.codec.binary.Base64; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.OutputType; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThan; +import static org.hamcrest.core.Is.is; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; + public class ImagesComparisonTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/IntentTest.java b/src/test/java/io/appium/java_client/android/IntentTest.java index ea10811e6..7545f5e41 100644 --- a/src/test/java/io/appium/java_client/android/IntentTest.java +++ b/src/test/java/io/appium/java_client/android/IntentTest.java @@ -1,18 +1,18 @@ package io.appium.java_client.android; -import static io.appium.java_client.TestResources.intentExampleApk; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.service.local.AppiumDriverLocalService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import java.util.function.Predicate; +import static io.appium.java_client.TestResources.intentExampleApk; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class IntentTest { private static AppiumDriverLocalService service; protected static AndroidDriver driver; @@ -20,7 +20,8 @@ public class IntentTest { /** * initialization. */ - @BeforeClass public static void beforeClass() { + @BeforeAll + public static void beforeClass() { service = AppiumDriverLocalService.buildDefaultService(); service.start(); @@ -37,7 +38,8 @@ public class IntentTest { /** * finishing. */ - @AfterClass public static void afterClass() { + @AfterAll + public static void afterClass() { if (driver != null) { driver.quit(); } @@ -47,7 +49,8 @@ public class IntentTest { } - @Test public void startActivityWithIntent() { + @Test + public void startActivityWithIntent() { Predicate predicate = driver -> { Activity activity = new Activity("com.android.mms", ".ui.ComposeMessageActivity") @@ -62,7 +65,8 @@ public class IntentTest { } - @Test public void startActivityWithDefaultIntentAndDefaultCategoryWithOptionalArgs() { + @Test + public void startActivityWithDefaultIntentAndDefaultCategoryWithOptionalArgs() { final Activity activity = new Activity("com.prgguru.android", ".GreetingActivity") .setIntentAction("android.intent.action.MAIN") .setIntentCategory("android.intent.category.DEFAULT") @@ -70,6 +74,6 @@ public class IntentTest { .setOptionalIntentArguments("--es \"USERNAME\" \"AppiumIntentTest\" -t \"text/plain\""); driver.startActivity(activity); assertEquals(driver.findElement(By.id("com.prgguru.android:id/textView1")).getText(), - "Welcome AppiumIntentTest"); + "Welcome AppiumIntentTest"); } } diff --git a/src/test/java/io/appium/java_client/android/KeyCodeTest.java b/src/test/java/io/appium/java_client/android/KeyCodeTest.java index 9a6b8ed1e..7c50f4ceb 100644 --- a/src/test/java/io/appium/java_client/android/KeyCodeTest.java +++ b/src/test/java/io/appium/java_client/android/KeyCodeTest.java @@ -16,22 +16,22 @@ package io.appium.java_client.android; -import static org.hamcrest.Matchers.containsString; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; - import io.appium.java_client.android.nativekey.AndroidKey; import io.appium.java_client.android.nativekey.KeyEvent; import io.appium.java_client.android.nativekey.KeyEventFlag; import io.appium.java_client.android.nativekey.KeyEventMetaModifier; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class KeyCodeTest extends BaseAndroidTest { private static final By PRESS_RESULT_VIEW = By.id("io.appium.android.apis:id/text"); - @Before + @BeforeEach public void setUp() { final Activity activity = new Activity(driver.getCurrentPackage(), ".text.KeyEventText"); driver.startActivity(activity); diff --git a/src/test/java/io/appium/java_client/android/LogEventTest.java b/src/test/java/io/appium/java_client/android/LogEventTest.java index ab4b0350a..ad3951200 100644 --- a/src/test/java/io/appium/java_client/android/LogEventTest.java +++ b/src/test/java/io/appium/java_client/android/LogEventTest.java @@ -16,15 +16,15 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; - import io.appium.java_client.serverevents.CommandEvent; import io.appium.java_client.serverevents.CustomEvent; -import io.appium.java_client.serverevents.TimedEvent; import io.appium.java_client.serverevents.ServerEvents; +import io.appium.java_client.serverevents.TimedEvent; import org.hamcrest.Matchers; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.jupiter.api.Assertions.assertTrue; public class LogEventTest extends BaseAndroidTest { @@ -36,11 +36,11 @@ public void verifyLoggingCustomEvents() { driver.logEvent(evt); ServerEvents events = driver.getEvents(); boolean hasCustomEvent = events.events.stream().anyMatch((TimedEvent event) -> - event.name.equals("appium:funEvent") && - event.occurrences.get(0).intValue() > 0 + event.name.equals("appium:funEvent") && + event.occurrences.get(0).intValue() > 0 ); boolean hasCommandName = events.commands.stream().anyMatch((CommandEvent event) -> - event.name.equals("logCustomEvent") + event.name.equals("logCustomEvent") ); assertTrue(hasCustomEvent); assertTrue(hasCommandName); diff --git a/src/test/java/io/appium/java_client/android/OpenNotificationsTest.java b/src/test/java/io/appium/java_client/android/OpenNotificationsTest.java index 293479e53..1eee13f51 100644 --- a/src/test/java/io/appium/java_client/android/OpenNotificationsTest.java +++ b/src/test/java/io/appium/java_client/android/OpenNotificationsTest.java @@ -1,16 +1,15 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertNotEquals; -import static org.openqa.selenium.By.id; - -import org.junit.Test; - +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.WebDriverWait; import java.time.Duration; import java.util.List; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.openqa.selenium.By.id; + public class OpenNotificationsTest extends BaseAndroidTest { @Test public void openNotification() { diff --git a/src/test/java/io/appium/java_client/android/SettingTest.java b/src/test/java/io/appium/java_client/android/SettingTest.java index 52963e566..f6847d573 100644 --- a/src/test/java/io/appium/java_client/android/SettingTest.java +++ b/src/test/java/io/appium/java_client/android/SettingTest.java @@ -1,18 +1,19 @@ package io.appium.java_client.android; import io.appium.java_client.Setting; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.Duration; import java.util.EnumMap; import java.util.HashMap; import java.util.Map; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class SettingTest extends BaseAndroidTest { - @Test public void ignoreUnimportantViewsTest() { + @Test + public void ignoreUnimportantViewsTest() { driver.ignoreUnimportantViews(true); assertEquals(true, driver.getSettings() .get(Setting.IGNORE_UNIMPORTANT_VIEWS.toString())); @@ -22,7 +23,8 @@ public class SettingTest extends BaseAndroidTest { .get(Setting.IGNORE_UNIMPORTANT_VIEWS.toString())); } - @Test public void configuratorTest() { + @Test + public void configuratorTest() { driver.configuratorSetActionAcknowledgmentTimeout(Duration.ofMillis(500)); assertJSONElementContains(Setting.WAIT_ACTION_ACKNOWLEDGMENT_TIMEOUT, 500); @@ -39,63 +41,71 @@ public class SettingTest extends BaseAndroidTest { assertJSONElementContains(Setting.WAIT_FOR_SELECTOR_TIMEOUT, 1000); } - @Test public void testNormalizeTagNames() { + @Test + public void testNormalizeTagNames() { assertEquals(false, driver.getSettings() - .get(Setting.NORMALIZE_TAG_NAMES.toString())); + .get(Setting.NORMALIZE_TAG_NAMES.toString())); driver.normalizeTagNames(true); assertEquals(true, driver.getSettings() - .get(Setting.NORMALIZE_TAG_NAMES.toString())); + .get(Setting.NORMALIZE_TAG_NAMES.toString())); } - @Test public void testSetShouldUseCompactResponses() { + @Test + public void testSetShouldUseCompactResponses() { assertEquals(true, driver.getSettings() - .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); + .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); driver.setShouldUseCompactResponses(false); assertEquals(false, driver.getSettings() - .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); + .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); } - @Test public void testSetElementResponseAttributes() { + @Test + public void testSetElementResponseAttributes() { assertEquals("", driver.getSettings() - .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); + .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); driver.setElementResponseAttributes("type,label"); assertEquals("type,label", driver.getSettings() - .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); + .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); } - @Test public void testAllowInvisibleElements() { + @Test + public void testAllowInvisibleElements() { assertEquals(false, driver.getSettings() - .get(Setting.ALLOW_INVISIBLE_ELEMENTS.toString())); + .get(Setting.ALLOW_INVISIBLE_ELEMENTS.toString())); driver.allowInvisibleElements(true); assertEquals(true, driver.getSettings() - .get(Setting.ALLOW_INVISIBLE_ELEMENTS.toString())); + .get(Setting.ALLOW_INVISIBLE_ELEMENTS.toString())); } - @Test public void testEnableNotificationListener() { + @Test + public void testEnableNotificationListener() { assertEquals(true, driver.getSettings() - .get(Setting.ENABLE_NOTIFICATION_LISTENER.toString())); + .get(Setting.ENABLE_NOTIFICATION_LISTENER.toString())); driver.enableNotificationListener(false); assertEquals(false, driver.getSettings() - .get(Setting.ENABLE_NOTIFICATION_LISTENER.toString())); + .get(Setting.ENABLE_NOTIFICATION_LISTENER.toString())); } - @Test public void testShutdownOnPowerDisconnect() { + @Test + public void testShutdownOnPowerDisconnect() { assertEquals(true, driver.getSettings() - .get(Setting.SHUTDOWN_ON_POWER_DISCONNECT.toString())); + .get(Setting.SHUTDOWN_ON_POWER_DISCONNECT.toString())); driver.shutdownOnPowerDisconnect(false); assertEquals(false, driver.getSettings() - .get(Setting.SHUTDOWN_ON_POWER_DISCONNECT.toString())); + .get(Setting.SHUTDOWN_ON_POWER_DISCONNECT.toString())); } - @Test public void testSetTrackScrollEvents() { + @Test + public void testSetTrackScrollEvents() { assertEquals(true, driver.getSettings() - .get(Setting.TRACK_SCROLL_EVENTS.toString())); + .get(Setting.TRACK_SCROLL_EVENTS.toString())); driver.setTrackScrollEvents(false); assertEquals(false, driver.getSettings() - .get(Setting.TRACK_SCROLL_EVENTS.toString())); + .get(Setting.TRACK_SCROLL_EVENTS.toString())); } - @Test public void testSettingByString() { + @Test + public void testSettingByString() { assertEquals(true, driver.getSettings() .get("shouldUseCompactResponses")); driver.setSetting("shouldUseCompactResponses", false); @@ -106,7 +116,8 @@ public class SettingTest extends BaseAndroidTest { .get("shouldUseCompactResponses")); } - @Test public void setMultipleSettings() { + @Test + public void setMultipleSettings() { EnumMap enumSettings = new EnumMap<>(Setting.class); enumSettings.put(Setting.IGNORE_UNIMPORTANT_VIEWS, true); enumSettings.put(Setting.ELEMENT_RESPONSE_ATTRIBUTES, "type,label"); diff --git a/src/test/java/io/appium/java_client/android/UIAutomator2Test.java b/src/test/java/io/appium/java_client/android/UIAutomator2Test.java index 85b91ab30..0d9da052d 100644 --- a/src/test/java/io/appium/java_client/android/UIAutomator2Test.java +++ b/src/test/java/io/appium/java_client/android/UIAutomator2Test.java @@ -1,12 +1,9 @@ package io.appium.java_client.android; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - import io.appium.java_client.AppiumBy; -import org.junit.After; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.DeviceRotation; import org.openqa.selenium.WebElement; @@ -15,9 +12,12 @@ import java.time.Duration; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + public class UIAutomator2Test extends BaseAndroidTest { - @After + @AfterEach public void afterMethod() { driver.rotate(new DeviceRotation(0, 0, 0)); } @@ -55,7 +55,8 @@ public void testPortraitUpsideDown() { /** * ignoring. */ - @Ignore + @Disabled + @Test public void testToastMSGIsDisplayed() { final WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(30)); Activity activity = new Activity("io.appium.android.apis", ".view.PopupMenu1"); diff --git a/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java b/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java index 8b842ee32..a3940e9ea 100644 --- a/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java +++ b/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java @@ -35,17 +35,14 @@ import io.appium.java_client.safari.options.WebrtcData; import io.appium.java_client.windows.options.PowerShellData; import io.appium.java_client.windows.options.WindowsOptions; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.Platform; import java.net.MalformedURLException; import java.net.URL; import java.time.Duration; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.*; @SuppressWarnings("ConstantConditions") public class OptionsBuildingTest { @@ -112,7 +109,7 @@ public void canBuildEspressoOptions() { assertEquals(Duration.ofSeconds(10), options.getNewCommandTimeout().orElse(null)); assertEquals("CN", options.getAppLocale().orElse(null).getCountry().orElse(null)); assertEquals(2, options.getEspressoBuildConfig().orElse(null) - .left().getAdditionalAppDependencies().orElse(null).size()); + .left().getAdditionalAppDependencies().orElse(null).size()); assertTrue(options.doesForceEspressoRebuild().orElse(false)); } @@ -154,7 +151,7 @@ public void canBuildGeckoOptions() { options.setNewCommandTimeout(Duration.ofSeconds(10)) .setVerbosity(Verbosity.TRACE) .setMozFirefoxOptions(ImmutableMap.of( - "profile", "yolo" + "profile", "yolo" )); assertEquals(Duration.ofSeconds(10), options.getNewCommandTimeout().orElse(null)); assertEquals(Verbosity.TRACE, options.getVerbosity().orElse(null)); diff --git a/src/test/java/io/appium/java_client/events/EventsFiringTest.java b/src/test/java/io/appium/java_client/events/EventsFiringTest.java index f6d0d2890..cd00dce37 100644 --- a/src/test/java/io/appium/java_client/events/EventsFiringTest.java +++ b/src/test/java/io/appium/java_client/events/EventsFiringTest.java @@ -17,20 +17,20 @@ package io.appium.java_client.events; import io.appium.java_client.events.stubs.EmptyWebDriver; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.support.events.EventFiringDecorator; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; public class EventsFiringTest { private final WebDriver emptyWebDriver = new EmptyWebDriver(); private CustomListener listener; private WebDriver decorated; - @Before + @BeforeEach public void beforeTest() { listener = new CustomListener(); decorated = new EventFiringDecorator(listener).decorate(emptyWebDriver); diff --git a/src/test/java/io/appium/java_client/internal/ConfigTest.java b/src/test/java/io/appium/java_client/internal/ConfigTest.java index d9185dc5f..e4a74ef57 100644 --- a/src/test/java/io/appium/java_client/internal/ConfigTest.java +++ b/src/test/java/io/appium/java_client/internal/ConfigTest.java @@ -1,11 +1,10 @@ package io.appium.java_client.internal; +import org.junit.jupiter.api.Test; + import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.greaterThan; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.*; public class ConfigTest { private static final String EXISTING_KEY = "selenium.version"; @@ -17,14 +16,16 @@ public void verifyGettingExistingValue() { assertTrue(Config.main().getOptionalValue(EXISTING_KEY, String.class).isPresent()); } - @Test(expected = IllegalArgumentException.class) + @Test public void verifyGettingNonExistingValue() { - assertThat(Config.main().getValue(MISSING_KEY, String.class).length(), greaterThan(0)); + assertThrows(IllegalArgumentException.class, + () -> assertThat(Config.main().getValue(MISSING_KEY, String.class).length(), greaterThan(0))); } - @Test(expected = ClassCastException.class) + @Test public void verifyGettingExistingValueWithWrongClass() { - assertThat(Config.main().getValue(EXISTING_KEY, Integer.class), greaterThan(0)); + assertThrows(ClassCastException.class, + () -> assertThat(Config.main().getValue(EXISTING_KEY, Integer.class), greaterThan(0))); } @Test diff --git a/src/test/java/io/appium/java_client/ios/ClipboardTest.java b/src/test/java/io/appium/java_client/ios/ClipboardTest.java index ac7618fd8..edfd9ba9a 100644 --- a/src/test/java/io/appium/java_client/ios/ClipboardTest.java +++ b/src/test/java/io/appium/java_client/ios/ClipboardTest.java @@ -16,13 +16,14 @@ package io.appium.java_client.ios; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; public class ClipboardTest extends AppIOSTest { - @Test public void verifySetAndGetClipboardText() { + @Test + public void verifySetAndGetClipboardText() { final String text = "Happy testing"; driver.setClipboardText(text); assertEquals(driver.getClipboardText(), text); diff --git a/src/test/java/io/appium/java_client/ios/IOSAlertTest.java b/src/test/java/io/appium/java_client/ios/IOSAlertTest.java index 8fa3afd13..7e1fb6528 100644 --- a/src/test/java/io/appium/java_client/ios/IOSAlertTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSAlertTest.java @@ -16,16 +16,12 @@ package io.appium.java_client.ios; -import static junit.framework.TestCase.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.openqa.selenium.support.ui.ExpectedConditions.alertIsPresent; - import io.appium.java_client.AppiumBy; import org.apache.commons.lang3.StringUtils; -import org.junit.After; -import org.junit.FixMethodOrder; -import org.junit.Test; -import org.junit.runners.MethodSorters; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; import org.openqa.selenium.TimeoutException; import org.openqa.selenium.WebDriverException; import org.openqa.selenium.support.ui.WebDriverWait; @@ -33,7 +29,11 @@ import java.time.Duration; import java.util.function.Supplier; -@FixMethodOrder(MethodSorters.NAME_ASCENDING) +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.openqa.selenium.support.ui.ExpectedConditions.alertIsPresent; + +@TestMethodOrder(MethodOrderer.MethodName.class) public class IOSAlertTest extends AppIOSTest { private static final Duration ALERT_TIMEOUT = Duration.ofSeconds(5); @@ -63,7 +63,7 @@ private void ensureAlertPresence() { } } - @After + @AfterEach public void afterEach() { try { driver.switchTo().alert().accept(); diff --git a/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java b/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java index d1cb976d0..499c078e8 100644 --- a/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java @@ -16,21 +16,24 @@ package io.appium.java_client.ios; -import static org.junit.Assert.assertNotEquals; +import org.junit.jupiter.api.Test; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertNotEquals; public class IOSAppStringsTest extends AppIOSTest { - @Test public void getAppStrings() { + @Test + public void getAppStrings() { assertNotEquals(0, driver.getAppStringMap().size()); } - @Test public void getGetAppStringsUsingLang() { + @Test + public void getGetAppStringsUsingLang() { assertNotEquals(0, driver.getAppStringMap("en").size()); } - @Test public void getAppStringsUsingLangAndFileStrings() { + @Test + public void getAppStringsUsingLangAndFileStrings() { assertNotEquals(0, driver.getAppStringMap("en", "Localizable.strings").size()); } } diff --git a/src/test/java/io/appium/java_client/ios/IOSContextTest.java b/src/test/java/io/appium/java_client/ios/IOSContextTest.java index 369ea3292..381ef96d9 100644 --- a/src/test/java/io/appium/java_client/ios/IOSContextTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSContextTest.java @@ -16,32 +16,40 @@ package io.appium.java_client.ios; -import static org.hamcrest.core.StringContains.containsString; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; - import io.appium.java_client.NoSuchContextException; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.core.StringContains.containsString; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; public class IOSContextTest extends BaseIOSWebViewTest { - @Test public void testGetContext() { + @Test + public void testGetContext() { assertEquals("NATIVE_APP", driver.getContext()); } - @Test public void testGetContextHandles() { + @Test + public void testGetContextHandles() { assertEquals(driver.getContextHandles().size(), 2); } - @Test public void testSwitchContext() throws InterruptedException { + @Test + public void testSwitchContext() throws InterruptedException { driver.getContextHandles(); findAndSwitchToWebView(); assertThat(driver.getContext(), containsString("WEBVIEW")); driver.context("NATIVE_APP"); } - @Test(expected = NoSuchContextException.class) public void testContextError() { - driver.context("Planet of the Ape-ium"); - assertEquals("Planet of the Ape-ium", driver.getContext()); + @Test + public void testContextError() { + assertThrows(NoSuchContextException.class, + () -> { + driver.context("Planet of the Ape-ium"); + assertEquals("Planet of the Ape-ium", driver.getContext()); + }); } } diff --git a/src/test/java/io/appium/java_client/ios/IOSDriverTest.java b/src/test/java/io/appium/java_client/ios/IOSDriverTest.java index f06e5b882..d4b090b8e 100644 --- a/src/test/java/io/appium/java_client/ios/IOSDriverTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSDriverTest.java @@ -16,21 +16,12 @@ package io.appium.java_client.ios; -import static io.appium.java_client.TestUtils.waitUntilTrue; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.greaterThan; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - import com.google.common.collect.ImmutableMap; import io.appium.java_client.appmanagement.ApplicationState; import io.appium.java_client.remote.HideKeyboardStrategy; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.ScreenOrientation; import org.openqa.selenium.WebElement; @@ -43,8 +34,13 @@ import java.time.Duration; +import static io.appium.java_client.TestUtils.waitUntilTrue; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThan; +import static org.junit.jupiter.api.Assertions.*; + public class IOSDriverTest extends AppIOSTest { - @Before + @BeforeEach public void setupEach() { if (driver.queryAppState(BUNDLE_ID).ordinal() < ApplicationState.RUNNING_IN_FOREGROUND.ordinal()) { driver.activateApp(BUNDLE_ID); @@ -83,19 +79,22 @@ public void getDeviceTimeTest() { assertFalse(time.isEmpty()); } - @Test public void resetTest() { + @Test + public void resetTest() { driver.resetApp(); } - @Test public void hideKeyboardWithParametersTest() { + @Test + public void hideKeyboardWithParametersTest() { new WebDriverWait(driver, Duration.ofSeconds(30)) .until(ExpectedConditions.presenceOfElementLocated(By.id("IntegerA"))) .click(); driver.hideKeyboard(HideKeyboardStrategy.PRESS_KEY, "Done"); } - @Ignore - @Test public void geolocationTest() { + @Disabled + @Test + public void geolocationTest() { Location location = new Location(45, 45, 100); try { driver.setLocation(location); @@ -104,14 +103,16 @@ public void getDeviceTimeTest() { } } - @Test public void orientationTest() { + @Test + public void orientationTest() { assertEquals(ScreenOrientation.PORTRAIT, driver.getOrientation()); driver.rotate(ScreenOrientation.LANDSCAPE); assertEquals(ScreenOrientation.LANDSCAPE, driver.getOrientation()); driver.rotate(ScreenOrientation.PORTRAIT); } - @Test public void lockTest() { + @Test + public void lockTest() { try { driver.lockDevice(); assertTrue(driver.isDeviceLocked()); @@ -121,18 +122,20 @@ public void getDeviceTimeTest() { } } - @Test public void pullFileTest() { + @Test + public void pullFileTest() { byte[] data = driver.pullFile(String.format("@%s/TestApp", BUNDLE_ID)); assertThat(data.length, greaterThan(0)); } - @Test public void keyboardTest() { + @Test + public void keyboardTest() { WebElement element = driver.findElement(By.id("IntegerA")); element.click(); assertTrue(driver.isKeyboardShown()); } - @Ignore("The app crashes when restored from the background") + @Disabled("The app crashes when restored from the background") @Test public void putAppIntoBackgroundAndRestoreTest() { final long msStarted = System.currentTimeMillis(); @@ -140,7 +143,7 @@ public void putAppIntoBackgroundAndRestoreTest() { assertThat(System.currentTimeMillis() - msStarted, greaterThan(3000L)); } - @Ignore("The app crashes when restored from the background") + @Disabled("The app crashes when restored from the background") @Test public void applicationsManagementTest() { driver.runAppInBackground(Duration.ofSeconds(-1)); @@ -153,7 +156,7 @@ public void applicationsManagementTest() { Duration.ofSeconds(10), Duration.ofSeconds(1)); } - @Ignore("The app crashes when restored from the background") + @Disabled("The app crashes when restored from the background") @Test public void putAIntoBackgroundWithoutRestoreTest() { waitUntilTrue(() -> !driver.findElements(By.id("IntegerA")).isEmpty(), @@ -164,8 +167,9 @@ public void putAIntoBackgroundWithoutRestoreTest() { driver.activateApp(BUNDLE_ID); } - @Ignore - @Test public void touchIdTest() { + @Disabled + @Test + public void touchIdTest() { driver.toggleTouchIDEnrollment(true); driver.performTouchID(true); driver.performTouchID(false); diff --git a/src/test/java/io/appium/java_client/ios/IOSElementTest.java b/src/test/java/io/appium/java_client/ios/IOSElementTest.java index ca57c4cb4..5d3d943a5 100644 --- a/src/test/java/io/appium/java_client/ios/IOSElementTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSElementTest.java @@ -1,22 +1,21 @@ package io.appium.java_client.ios; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.IsNot.not; -import static org.junit.Assert.assertEquals; - -import org.junit.FixMethodOrder; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runners.MethodSorters; +import io.appium.java_client.AppiumBy; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.WebDriverWait; -import io.appium.java_client.AppiumBy; - import java.time.Duration; -@FixMethodOrder(MethodSorters.NAME_ASCENDING) +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.IsNot.not; +import static org.junit.jupiter.api.Assertions.assertEquals; + +@TestMethodOrder(MethodOrderer.MethodName.class) public class IOSElementTest extends AppIOSTest { @Test @@ -25,7 +24,7 @@ public void findByAccessibilityIdTest() { } // FIXME: Stabilize the test on CI - @Ignore + @Disabled @Test public void setValueTest() { WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(20)); diff --git a/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java b/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java index 67f388d34..922dbb7cd 100644 --- a/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java @@ -1,20 +1,20 @@ package io.appium.java_client.ios; -import static org.junit.Assert.assertTrue; - -import java.time.Duration; - -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; +import java.time.Duration; + +import static org.junit.jupiter.api.Assertions.assertTrue; + public class IOSNativeWebTapSettingTest extends BaseSafariTest { @Test - @Ignore("https://github.com/appium/appium/issues/17014") + @Disabled("https://github.com/appium/appium/issues/17014") public void nativeWebTapSettingTest() { assertTrue(driver.isBrowser()); driver.get("https://saucelabs.com/test/guinea-pig"); diff --git a/src/test/java/io/appium/java_client/ios/IOSScreenRecordTest.java b/src/test/java/io/appium/java_client/ios/IOSScreenRecordTest.java index 5657b1ff2..fc4dc248f 100644 --- a/src/test/java/io/appium/java_client/ios/IOSScreenRecordTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSScreenRecordTest.java @@ -1,14 +1,12 @@ package io.appium.java_client.ios; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.emptyString; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.not; - -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.Duration; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.*; + public class IOSScreenRecordTest extends AppIOSTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java b/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java index a90196bbe..86ca39fbc 100644 --- a/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java @@ -16,15 +16,15 @@ package io.appium.java_client.ios; -import static org.junit.Assert.assertNotEquals; - -import org.junit.Test; - import io.appium.java_client.AppiumBy; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotEquals; public class IOSSearchingTest extends AppIOSTest { - @Test public void findByAccessibilityIdTest() { + @Test + public void findByAccessibilityIdTest() { assertNotEquals(driver .findElement(AppiumBy.accessibilityId("ComputeSumButton")) .getText(), null); @@ -33,7 +33,8 @@ public class IOSSearchingTest extends AppIOSTest { .size(), 0); } - @Test public void findByByIosPredicatesTest() { + @Test + public void findByByIosPredicatesTest() { assertNotEquals(driver .findElement(AppiumBy.iOSNsPredicateString("name like 'Answer'")) .getText(), null); @@ -42,7 +43,8 @@ public class IOSSearchingTest extends AppIOSTest { .size(), 0); } - @Test public void findByByIosClassChainTest() { + @Test + public void findByByIosClassChainTest() { assertNotEquals(driver .findElement(AppiumBy.iOSClassChain("**/XCUIElementTypeButton")) .getText(), null); diff --git a/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java b/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java index ce627e8f9..ba5e9931c 100644 --- a/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java @@ -1,14 +1,14 @@ package io.appium.java_client.ios; -import static org.junit.Assert.assertTrue; - import org.apache.commons.lang3.time.DurationFormatUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.time.Duration; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class IOSSyslogListenerTest extends AppIOSTest { @Test @@ -25,9 +25,9 @@ public void verifySyslogListenerCanBeAssigned() { messageSemaphore.acquire(); // This is needed for pushing some internal log messages driver.runAppInBackground(Duration.ofSeconds(1)); - assertTrue(String.format("Didn't receive any log message after %s timeout", - DurationFormatUtils.formatDuration(timeout.toMillis(), "H:mm:ss", true)), - messageSemaphore.tryAcquire(timeout.toMillis(), TimeUnit.MILLISECONDS)); + assertTrue(messageSemaphore.tryAcquire(timeout.toMillis(), TimeUnit.MILLISECONDS), + String.format("Didn't receive any log message after %s timeout", + DurationFormatUtils.formatDuration(timeout.toMillis(), "H:mm:ss", true))); } catch (InterruptedException e) { throw new IllegalStateException(e); } finally { diff --git a/src/test/java/io/appium/java_client/ios/IOSTouchTest.java b/src/test/java/io/appium/java_client/ios/IOSTouchTest.java index dab6dde45..48fc3a338 100644 --- a/src/test/java/io/appium/java_client/ios/IOSTouchTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSTouchTest.java @@ -1,26 +1,26 @@ package io.appium.java_client.ios; -import static io.appium.java_client.ios.touch.IOSPressOptions.iosPressOptions; -import static io.appium.java_client.touch.TapOptions.tapOptions; -import static io.appium.java_client.touch.WaitOptions.waitOptions; -import static io.appium.java_client.touch.offset.ElementOption.element; -import static java.time.Duration.ofMillis; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.openqa.selenium.support.ui.ExpectedConditions.alertIsPresent; - import io.appium.java_client.AppiumBy; import io.appium.java_client.MultiTouchAction; -import org.junit.FixMethodOrder; -import org.junit.Test; -import org.junit.runners.MethodSorters; +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.WebDriverWait; import java.time.Duration; -@FixMethodOrder(MethodSorters.NAME_ASCENDING) +import static io.appium.java_client.ios.touch.IOSPressOptions.iosPressOptions; +import static io.appium.java_client.touch.TapOptions.tapOptions; +import static io.appium.java_client.touch.WaitOptions.waitOptions; +import static io.appium.java_client.touch.offset.ElementOption.element; +import static java.time.Duration.ofMillis; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.openqa.selenium.support.ui.ExpectedConditions.alertIsPresent; + +@TestMethodOrder(MethodOrderer.MethodName.class) public class IOSTouchTest extends AppIOSTest { @Test @@ -49,15 +49,16 @@ public void touchWithPressureTest() { WebElement e = driver.findElement(AppiumBy.accessibilityId("ComputeSumButton")); new IOSTouchAction(driver) .press(iosPressOptions() - .withElement(element(e)) - .withPressure(1)) + .withElement(element(e)) + .withPressure(1)) .waitAction(waitOptions(ofMillis(100))) .release() .perform(); assertEquals(driver.findElement(By.xpath("//*[@name = \"Answer\"]")).getText(), "6"); } - @Test public void multiTouchTest() { + @Test + public void multiTouchTest() { WebElement e = driver.findElement(AppiumBy.accessibilityId("ComputeSumButton")); WebElement e2 = driver.findElement(AppiumBy.accessibilityId("show alert")); @@ -71,7 +72,8 @@ public void touchWithPressureTest() { driver.switchTo().alert().accept(); } - @Test public void doubleTapTest() { + @Test + public void doubleTapTest() { WebElement firstField = driver.findElement(By.id("IntegerA")); firstField.sendKeys("2"); diff --git a/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java b/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java index 4afb89cd1..d03f1acdc 100644 --- a/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java @@ -1,11 +1,11 @@ package io.appium.java_client.ios; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.time.Duration; import io.appium.java_client.AppiumBy; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; diff --git a/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java b/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java index b3bbcf0c2..c885c6933 100644 --- a/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java +++ b/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java @@ -16,24 +16,17 @@ package io.appium.java_client.ios; -import static org.hamcrest.Matchers.greaterThan; -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; - -import io.appium.java_client.imagecomparison.FeatureDetector; -import io.appium.java_client.imagecomparison.FeaturesMatchingOptions; -import io.appium.java_client.imagecomparison.FeaturesMatchingResult; -import io.appium.java_client.imagecomparison.MatchingFunction; -import io.appium.java_client.imagecomparison.OccurrenceMatchingOptions; -import io.appium.java_client.imagecomparison.OccurrenceMatchingResult; -import io.appium.java_client.imagecomparison.SimilarityMatchingOptions; -import io.appium.java_client.imagecomparison.SimilarityMatchingResult; +import io.appium.java_client.imagecomparison.*; import org.apache.commons.codec.binary.Base64; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.OutputType; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThan; +import static org.hamcrest.core.Is.is; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; + public class ImagesComparisonTest extends AppIOSTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/RotationTest.java b/src/test/java/io/appium/java_client/ios/RotationTest.java index 7e65b12b7..bf6ad5827 100644 --- a/src/test/java/io/appium/java_client/ios/RotationTest.java +++ b/src/test/java/io/appium/java_client/ios/RotationTest.java @@ -16,25 +16,28 @@ package io.appium.java_client.ios; -import static org.junit.Assert.assertEquals; - -import org.junit.After; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.DeviceRotation; +import static org.junit.jupiter.api.Assertions.assertEquals; + public class RotationTest extends AppIOSTest { - @After public void afterMethod() { + @AfterEach + public void afterMethod() { driver.rotate(new DeviceRotation(0, 0, 0)); } - @Test public void testLandscapeRightRotation() { + @Test + public void testLandscapeRightRotation() { DeviceRotation landscapeRightRotation = new DeviceRotation(0, 0, 90); driver.rotate(landscapeRightRotation); assertEquals(driver.rotation(), landscapeRightRotation); } - @Test public void testLandscapeLeftRotation() { + @Test + public void testLandscapeLeftRotation() { DeviceRotation landscapeLeftRotation = new DeviceRotation(0, 0, 270); driver.rotate(landscapeLeftRotation); assertEquals(driver.rotation(), landscapeLeftRotation); diff --git a/src/test/java/io/appium/java_client/ios/SettingTest.java b/src/test/java/io/appium/java_client/ios/SettingTest.java index 9d0fbcf80..31a897141 100644 --- a/src/test/java/io/appium/java_client/ios/SettingTest.java +++ b/src/test/java/io/appium/java_client/ios/SettingTest.java @@ -18,75 +18,84 @@ import io.appium.java_client.Setting; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; import java.util.EnumMap; import java.util.HashMap; import java.util.Map; +import static org.junit.jupiter.api.Assertions.assertEquals; + public class SettingTest extends AppIOSTest { - @Test public void testSetShouldUseCompactResponses() { + @Test + public void testSetShouldUseCompactResponses() { assertEquals(true, driver.getSettings() - .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); + .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); driver.setShouldUseCompactResponses(false); assertEquals(false, driver.getSettings() - .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); + .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); } - @Test public void testSetElementResponseAttributes() { + @Test + public void testSetElementResponseAttributes() { assertEquals("", driver.getSettings() - .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); + .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); driver.setElementResponseAttributes("type,label"); assertEquals("type,label", driver.getSettings() - .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); + .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); } - @Test public void testSetMjpegServerScreenshotQuality() { + @Test + public void testSetMjpegServerScreenshotQuality() { assertEquals(25L, driver.getSettings() - .get(Setting.MJPEG_SERVER_SCREENSHOT_QUALITY.toString())); + .get(Setting.MJPEG_SERVER_SCREENSHOT_QUALITY.toString())); driver.setMjpegServerScreenshotQuality(0); assertEquals(0L, driver.getSettings() - .get(Setting.MJPEG_SERVER_SCREENSHOT_QUALITY.toString())); + .get(Setting.MJPEG_SERVER_SCREENSHOT_QUALITY.toString())); } - @Test public void testSetMjpegServerFramerate() { + @Test + public void testSetMjpegServerFramerate() { assertEquals(10L, driver.getSettings() - .get(Setting.MJPEG_SERVER_FRAMERATE.toString())); + .get(Setting.MJPEG_SERVER_FRAMERATE.toString())); driver.setMjpegServerFramerate(60); assertEquals(60L, driver.getSettings() - .get(Setting.MJPEG_SERVER_FRAMERATE.toString())); + .get(Setting.MJPEG_SERVER_FRAMERATE.toString())); } - @Test public void testSetScreenshotQuality() { + @Test + public void testSetScreenshotQuality() { assertEquals(1L, driver.getSettings() - .get(Setting.SCREENSHOT_QUALITY.toString())); + .get(Setting.SCREENSHOT_QUALITY.toString())); driver.setScreenshotQuality(2); assertEquals(2L, driver.getSettings() - .get(Setting.SCREENSHOT_QUALITY.toString())); + .get(Setting.SCREENSHOT_QUALITY.toString())); } - @Test public void testSetMjpegScalingFactor() { + @Test + public void testSetMjpegScalingFactor() { driver.setMjpegScalingFactor(1); assertEquals(1L, driver.getSettings() - .get(Setting.MJPEG_SCALING_FACTOR.toString())); + .get(Setting.MJPEG_SCALING_FACTOR.toString())); } - @Test public void testSetKeyboardAutocorrection() { + @Test + public void testSetKeyboardAutocorrection() { driver.setKeyboardAutocorrection(true); assertEquals(true, driver.getSettings() - .get(Setting.KEYBOARD_AUTOCORRECTION.toString())); + .get(Setting.KEYBOARD_AUTOCORRECTION.toString())); } - @Test public void testSetKeyboardPrediction() { + @Test + public void testSetKeyboardPrediction() { driver.setKeyboardPrediction(true); assertEquals(true, driver.getSettings() - .get(Setting.KEYBOARD_PREDICTION.toString())); + .get(Setting.KEYBOARD_PREDICTION.toString())); } - @Test public void testSettingByString() { + @Test + public void testSettingByString() { assertEquals(true, driver.getSettings() .get("shouldUseCompactResponses")); driver.setSetting("shouldUseCompactResponses", false); @@ -97,7 +106,8 @@ public class SettingTest extends AppIOSTest { .get("shouldUseCompactResponses")); } - @Test public void setMultipleSettings() { + @Test + public void setMultipleSettings() { EnumMap enumSettings = new EnumMap<>(Setting.class); enumSettings.put(Setting.IGNORE_UNIMPORTANT_VIEWS, true); enumSettings.put(Setting.ELEMENT_RESPONSE_ATTRIBUTES, "type,label"); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java index 56c423ab4..a47ef41d7 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java @@ -16,23 +16,10 @@ package io.appium.java_client.pagefactory_tests; -import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; -import static java.time.Duration.ofSeconds; -import static junit.framework.TestCase.assertNotNull; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertTrue; - import io.appium.java_client.android.BaseAndroidTest; - -import io.appium.java_client.pagefactory.AndroidBy; -import io.appium.java_client.pagefactory.AndroidFindAll; -import io.appium.java_client.pagefactory.AndroidFindBy; -import io.appium.java_client.pagefactory.AndroidFindBys; -import io.appium.java_client.pagefactory.AppiumFieldDecorator; -import io.appium.java_client.pagefactory.HowToUseLocators; -import org.junit.Before; -import org.junit.Test; +import io.appium.java_client.pagefactory.*; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebElement; import org.openqa.selenium.WrapsDriver; @@ -44,6 +31,10 @@ import java.util.ArrayList; import java.util.List; +import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.*; + public class AndroidPageObjectTest extends BaseAndroidTest { private boolean populated = false; @@ -221,7 +212,8 @@ public class AndroidPageObjectTest extends BaseAndroidTest { /** * The setting up. */ - @Before public void setUp() { + @BeforeEach + public void setUp() { if (!populated) { //This time out is set because test can be run on slow Android SDK emulator PageFactory.initElements(new AppiumFieldDecorator(driver, ofSeconds(5)), this); @@ -230,153 +222,190 @@ public class AndroidPageObjectTest extends BaseAndroidTest { populated = true; } - @Test public void findByElementsTest() { + @Test + public void findByElementsTest() { assertNotEquals(0, textVieWs.size()); } - @Test public void findByElementTest() { + @Test + public void findByElementTest() { assertNotEquals(null, textView.getAttribute("text")); } - @Test public void androidFindByElementsTest() { + @Test + public void androidFindByElementsTest() { assertNotEquals(0, androidTextViews.size()); } - @Test public void androidFindByElementTest() { + @Test + public void androidFindByElementTest() { assertNotEquals(null, androidTextView.getAttribute("text")); } - @Test public void androidOrIOSFindByElementsTest() { + @Test + public void androidOrIOSFindByElementsTest() { assertNotEquals(0, androidOriOsTextViews.size()); } - @Test public void androidOrIOSFindByElementTest() { + @Test + public void androidOrIOSFindByElementTest() { assertNotEquals(null, androidOriOsTextView.getAttribute("text")); } - @Test public void androidFindByUIAutomatorElementsTest() { + @Test + public void androidFindByUIAutomatorElementsTest() { assertNotEquals(0, androidUIAutomatorViews.size()); } - @Test public void androidFindByUIAutomatorElementTest() { + @Test + public void androidFindByUIAutomatorElementTest() { assertNotEquals(null, androidUIAutomatorView.getAttribute("text")); } - @Test public void areMobileElementsTest() { + @Test + public void areMobileElementsTest() { assertNotEquals(0, mobileElementViews.size()); } - @Test public void isMobileElementTest() { + @Test + public void isMobileElementTest() { assertNotEquals(null, mobileElementView.getAttribute("text")); } - @Test public void areMobileElementsFindByTest() { + @Test + public void areMobileElementsFindByTest() { assertNotEquals(0, mobiletextVieWs.size()); } - @Test public void isMobileElementFindByTest() { + @Test + public void isMobileElementFindByTest() { assertNotEquals(null, mobiletextVieW.getAttribute("text")); } - @Test public void areRemoteElementsTest() { + @Test + public void areRemoteElementsTest() { assertNotEquals(0, remoteElementViews.size()); } - @Test public void isRemoteElementTest() { + @Test + public void isRemoteElementTest() { assertNotEquals(null, remotetextVieW.getAttribute("text")); } - @Test public void androidChainSearchElementsTest() { + @Test + public void androidChainSearchElementsTest() { assertNotEquals(0, chainElementViews.size()); } - @Test public void androidChainSearchElementTest() { + @Test + public void androidChainSearchElementTest() { assertNotEquals(null, chainElementView.getAttribute("text")); } - @Test public void androidOrIOSFindByElementsTestChainSearches() { + @Test + public void androidOrIOSFindByElementsTestChainSearches() { assertNotEquals(0, chainAndroidOrIOSUIAutomatorViews.size()); } - @Test public void androidOrIOSFindByElementTestChainSearches() { + @Test + public void androidOrIOSFindByElementTestChainSearches() { assertNotEquals(null, chainAndroidOrIOSUIAutomatorView.getAttribute("text")); } - @Test public void isAndroidElementTest() { + @Test + public void isAndroidElementTest() { assertNotEquals(null, androidElementView.getAttribute("text")); } - @Test public void areAndroidElementsTest() { + @Test + public void areAndroidElementsTest() { assertNotEquals(0, androidElementViews.size()); } - @Test public void findAllElementTest() { + @Test + public void findAllElementTest() { assertNotEquals(null, findAllElementView.getAttribute("text")); } - @Test public void findAllElementsTest() { + @Test + public void findAllElementsTest() { assertNotEquals(0, findAllElementViews.size()); } - @Test public void findByAndroidAnnotationOnlyTest() { + @Test + public void findByAndroidAnnotationOnlyTest() { assertNotEquals(null, textAndroidId.getAttribute("text")); } - @Test(expected = NoSuchElementException.class) public void checkThatTestWillNotBeFailedBecauseOfInvalidFindBy() { - assertNotNull( - elementWhenAndroidLocatorIsNotDefinedAndThereIsInvalidFindBy.getAttribute("text")); + @Test + public void checkThatTestWillNotBeFailedBecauseOfInvalidFindBy() { + assertThrows(NoSuchElementException.class, + () -> assertNotNull( + elementWhenAndroidLocatorIsNotDefinedAndThereIsInvalidFindBy.getAttribute("text"))); } - @Test public void checkThatTestWillNotBeFailedBecauseOfInvalidFindByList() { + @Test + public void checkThatTestWillNotBeFailedBecauseOfInvalidFindByList() { assertEquals(0, elementsWhenAndroidLocatorIsNotDefinedAndThereIsInvalidFindBy.size()); } - @Test public void checkThatClassObjectMethodsDoNotInvokeTheSearching() { + @Test + public void checkThatClassObjectMethodsDoNotInvokeTheSearching() { assertTrue(WebElement.class.isAssignableFrom(fakeElement.getClass())); assertNotEquals(WebElement.class, fakeElement.getClass()); assertEquals(driver, ((WrapsDriver) fakeElement).getWrappedDriver()); } - @Test public void checkThatClassObjectMethodsDoNotInvokeTheSearchingOfElementLest() { + @Test + public void checkThatClassObjectMethodsDoNotInvokeTheSearchingOfElementLest() { assertTrue(List.class.isAssignableFrom(fakeElements.getClass())); assertNotEquals(ArrayList.class, fakeElements.getClass()); } - @Test public void checkCached() { + @Test + public void checkCached() { assertEquals(((RemoteWebElement) cached).getId(), ((RemoteWebElement) cached).getId()); } - @Test(expected = NoSuchElementException.class) + @Test public void checkThatElementSearchingThrowsExpectedExceptionIfChainedLocatorIsInvalid() { - assertNotNull(elementFoundByInvalidChainedSelector.getAttribute("text")); + assertThrows(NoSuchElementException.class, + () -> assertNotNull(elementFoundByInvalidChainedSelector.getAttribute("text"))); } - @Test public void checkThatListSearchingWorksIfChainedLocatorIsInvalid() { + @Test + public void checkThatListSearchingWorksIfChainedLocatorIsInvalid() { assertEquals(0, elementsFoundByInvalidChainedSelector.size()); } - @Test public void checkMixedElementSearching1() { + @Test + public void checkMixedElementSearching1() { assertNotNull(androidElementViewFoundByMixedSearching.getAttribute("text")); } - @Test public void checkMixedElementsSearching1() { + @Test + public void checkMixedElementsSearching1() { assertNotEquals(0, androidElementsViewFoundByMixedSearching.size()); } - @Test public void checkMixedElementSearching2() { + @Test + public void checkMixedElementSearching2() { assertNotNull(androidElementViewFoundByMixedSearching2.getAttribute("text")); } - @Test public void checkMixedElementsSearching2() { + @Test + public void checkMixedElementsSearching2() { assertNotEquals(0, androidElementsViewFoundByMixedSearching2.size()); } - @Test public void checkMixedElementSearching3() { + @Test + public void checkMixedElementSearching3() { assertNotNull(androidElementViewFoundByMixedSearching3.getAttribute("text")); } - @Test public void checkMixedElementsSearching3() { + @Test + public void checkMixedElementsSearching3() { assertNotEquals(0, androidElementsViewFoundByMixedSearching3.size()); } } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java index 81b3be1cf..5aa4a248d 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java @@ -16,20 +16,13 @@ package io.appium.java_client.pagefactory_tests; -import static io.appium.java_client.TestResources.helloAppiumHtml; -import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; -import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; -import static java.time.Duration.ofSeconds; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNull; - import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.pagefactory.HowToUseLocators; import io.appium.java_client.pagefactory.iOSXCUITFindBy; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; @@ -39,11 +32,19 @@ import java.util.List; +import static io.appium.java_client.TestResources.helloAppiumHtml; +import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; +import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + public class DesktopBrowserCompatibilityTest { @HowToUseLocators(iOSXCUITAutomation = ALL_POSSIBLE) @AndroidFindBy(className = "someClass") - @iOSXCUITFindBy(xpath = "//selector[1]") @iOSXCUITFindBy(xpath = "//someTag") + @iOSXCUITFindBy(xpath = "//selector[1]") + @iOSXCUITFindBy(xpath = "//someTag") @FindBys({@FindBy(id = "main"), @FindBy(tagName = "p")}) private List foundLinks; private List main; //this list is located by id="main" @@ -53,11 +54,13 @@ public class DesktopBrowserCompatibilityTest { /** * The starting. */ - @BeforeClass public static void beforeClass() { + @BeforeAll + public static void beforeClass() { chromedriver().setup(); } - @Test public void chromeTest() { + @Test + public void chromeTest() { WebDriver driver = new ChromeDriver(); try { PageFactory.initElements(new AppiumFieldDecorator(driver, ofSeconds(15)), this); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java index d9f4b6707..bf67dd9e7 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java @@ -16,18 +16,15 @@ package io.appium.java_client.pagefactory_tests; -import static java.time.Duration.ofSeconds; - import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.pagefactory.AndroidFindBy; import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.remote.MobileBrowserType; import io.appium.java_client.service.local.AppiumDriverLocalService; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.RemoteWebElement; @@ -37,6 +34,9 @@ import java.util.List; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + public class MobileBrowserCompatibilityTest { private WebDriver driver; @@ -58,7 +58,7 @@ public class MobileBrowserCompatibilityTest { /** * The setting up. */ - @Before + @BeforeEach public void setUp() { service = AppiumDriverLocalService.buildDefaultService(); service.start(); @@ -74,7 +74,7 @@ public void setUp() { /** * finishing. */ - @After + @AfterEach public void tearDown() { if (driver != null) { driver.quit(); @@ -91,7 +91,7 @@ public void test() { searchTextField.sendKeys("Hello"); btnG.click(); - Assert.assertNotEquals(0, foundLinks.size()); + assertNotEquals(0, foundLinks.size()); } } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java index ea2300e09..f11b9324c 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java @@ -16,24 +16,12 @@ package io.appium.java_client.pagefactory_tests; -import static io.appium.java_client.pagefactory.AppiumFieldDecorator.DEFAULT_WAITING_TIMEOUT; -import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; -import static java.lang.Math.abs; -import static java.lang.String.format; -import static java.lang.System.currentTimeMillis; -import static java.time.Duration.ofSeconds; -import static java.time.temporal.ChronoUnit.SECONDS; -import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; -import static org.hamcrest.Matchers.lessThanOrEqualTo; -import static org.junit.Assert.assertThat; -import static org.openqa.selenium.support.PageFactory.initElements; - import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.pagefactory.WithTimeout; -import org.junit.After; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; @@ -43,6 +31,18 @@ import java.time.Duration; import java.util.List; +import static io.appium.java_client.pagefactory.AppiumFieldDecorator.DEFAULT_WAITING_TIMEOUT; +import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; +import static java.lang.Math.abs; +import static java.lang.String.format; +import static java.lang.System.currentTimeMillis; +import static java.time.Duration.ofSeconds; +import static java.time.temporal.ChronoUnit.SECONDS; +import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.lessThanOrEqualTo; +import static org.openqa.selenium.support.PageFactory.initElements; + public class TimeoutTest { private static final long ACCEPTABLE_TIME_DIFF_MS = 1500; @@ -69,7 +69,7 @@ private static long getPerformanceDiff(long expectedMs, Runnable runnable) { long startMark = currentTimeMillis(); runnable.run(); long endMark = currentTimeMillis(); - return abs(expectedMs - (endMark - startMark)); + return abs(expectedMs - (endMark - startMark)); } private static String assertionMessage(Duration expectedDuration) { @@ -77,7 +77,7 @@ private static String assertionMessage(Duration expectedDuration) { formatDuration(expectedDuration.toMillis(), "H:mm:ss:SSS", true)); } - @BeforeClass + @BeforeAll public static void beforeAll() { chromedriver().setup(); } @@ -85,7 +85,8 @@ public static void beforeAll() { /** * The setting up. */ - @Before public void setUp() { + @BeforeEach + public void setUp() { driver = new ChromeDriver(); timeOutDuration = DEFAULT_WAITING_TIMEOUT; initElements(new AppiumFieldDecorator(driver, timeOutDuration), this); @@ -94,11 +95,13 @@ public static void beforeAll() { /** * finishing. */ - @After public void tearDown() { + @AfterEach + public void tearDown() { driver.quit(); } - @Test public void withCustomizedTimeOutTest() { + @Test + public void withCustomizedTimeOutTest() { assertThat(assertionMessage(DEFAULT_WAITING_TIMEOUT), getPerformanceDiff(getExpectedMillis(DEFAULT_WAITING_TIMEOUT), () -> stubElements.size()), lessThanOrEqualTo(ACCEPTABLE_TIME_DIFF_MS)); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java index b56f67859..5058208bd 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java @@ -16,31 +16,26 @@ package io.appium.java_client.pagefactory_tests; -import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; -import static io.appium.java_client.pagefactory.LocatorGroupStrategy.CHAIN; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.greaterThan; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - import io.appium.java_client.ios.AppIOSTest; import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.pagefactory.HowToUseLocators; import io.appium.java_client.pagefactory.iOSXCUITFindBy; -import org.junit.Before; -import org.junit.FixMethodOrder; -import org.junit.Test; -import org.junit.runners.MethodSorters; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.PageFactory; import java.util.List; -@FixMethodOrder(MethodSorters.NAME_ASCENDING) +import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; +import static io.appium.java_client.pagefactory.LocatorGroupStrategy.CHAIN; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.*; +import static org.junit.jupiter.api.Assertions.*; + +@TestMethodOrder(MethodOrderer.MethodName.class) public class XCUITModeTest extends AppIOSTest { private boolean populated = false; @@ -91,7 +86,8 @@ public class XCUITModeTest extends AppIOSTest { /** * The setting up. */ - @Before public void setUp() { + @BeforeEach + public void setUp() { if (!populated) { PageFactory.initElements(new AppiumFieldDecorator(driver), this); } @@ -99,47 +95,58 @@ public class XCUITModeTest extends AppIOSTest { populated = true; } - @Test public void findByXCUITSelectorTest() { + @Test + public void findByXCUITSelectorTest() { assertNotEquals(null, computeButton.getText()); } - @Test public void findElementByNameTest() { + @Test + public void findElementByNameTest() { assertEquals("TextField1", textField1.getText()); } - @Test public void findElementByClassNameTest() { + @Test + public void findElementByClassNameTest() { assertEquals("50%", slider.getAttribute("value")); } - @Test public void pageObjectChainingTest() { + @Test + public void pageObjectChainingTest() { assertTrue(contactAlert.isDisplayed()); } - @Test public void findElementByIdTest() { + @Test + public void findElementByIdTest() { assertTrue(locationStatus.isDisplayed()); } - @Test public void nativeSelectorTest() { + @Test + public void nativeSelectorTest() { assertTrue(locationAlert.isDisplayed()); } - @Test public void findElementByClassChain() { + @Test + public void findElementByClassChain() { assertThat(secondTextField.getAttribute("name"), equalTo("IntegerB")); } - @Test public void findElementByClassChainWithNegativeIndex() { + @Test + public void findElementByClassChainWithNegativeIndex() { assertThat(lastButton.getAttribute("name"), equalTo("Check calendar authorized")); } - @Test public void findMultipleElementsByClassChain() { + @Test + public void findMultipleElementsByClassChain() { assertThat(allButtons.size(), is(greaterThan(1))); } - @Test public void findElementByXUISelectorTest() { + @Test + public void findElementByXUISelectorTest() { assertNotNull(gesture.getText()); } - @Test public void setValueTest() { + @Test + public void setValueTest() { textField1.sendKeys("2"); textField2.sendKeys("4"); driver.hideKeyboard(); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java index d8d3a7b60..6d0a42ae5 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java @@ -1,16 +1,16 @@ package io.appium.java_client.pagefactory_tests.widget.tests; -import static java.util.stream.Collectors.toList; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.containsString; -import static org.junit.Assert.assertThat; - -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import java.util.List; +import static java.util.stream.Collectors.toList; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.containsString; + public abstract class ExtendedWidgetTest extends WidgetTest { protected ExtendedWidgetTest(ExtendedApp app, WebDriver driver) { diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index 6ef019438..0d901cb46 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -1,17 +1,17 @@ package io.appium.java_client.pagefactory_tests.widget.tests; -import static java.util.Arrays.copyOf; -import static org.openqa.selenium.support.PageFactory.initElements; - import io.appium.java_client.pagefactory.AppiumFieldDecorator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; +import static java.util.Arrays.copyOf; +import static org.openqa.selenium.support.PageFactory.initElements; + public abstract class WidgetTest { protected final AbstractApp app; - protected static Object[] dataArray(Object...objects) { + protected static Object[] dataArray(Object... objects) { return copyOf(objects, objects.length); } diff --git a/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java b/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java index ab2b776e1..6708c200a 100644 --- a/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java +++ b/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java @@ -16,7 +16,7 @@ package io.appium.java_client.remote; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.MutableCapabilities; import org.openqa.selenium.ScreenOrientation; @@ -24,7 +24,7 @@ import java.net.URL; import java.time.Duration; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; public class MobileOptionsTest { private MobileOptions mobileOptions = new MobileOptions<>(); diff --git a/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java b/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java index 3c3fed15e..864dc7082 100644 --- a/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java +++ b/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java @@ -1,14 +1,25 @@ package io.appium.java_client.service.local; +import com.google.common.collect.ImmutableMap; +import io.appium.java_client.android.options.UiAutomator2Options; +import io.github.bonigarcia.wdm.WebDriverManager; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStream; +import java.nio.file.Path; +import java.time.Duration; +import java.util.ArrayList; +import java.util.List; + import static io.appium.java_client.TestResources.apiDemosApk; import static io.appium.java_client.TestUtils.getLocalIp4Address; import static io.appium.java_client.service.local.AppiumDriverLocalService.buildDefaultService; -import static io.appium.java_client.service.local.AppiumServiceBuilder.APPIUM_PATH; -import static io.appium.java_client.service.local.AppiumServiceBuilder.BROADCAST_IP_ADDRESS; -import static io.appium.java_client.service.local.AppiumServiceBuilder.DEFAULT_APPIUM_PORT; -import static io.appium.java_client.service.local.flags.GeneralServerFlag.BASEPATH; -import static io.appium.java_client.service.local.flags.GeneralServerFlag.CALLBACK_ADDRESS; -import static io.appium.java_client.service.local.flags.GeneralServerFlag.SESSION_OVERRIDE; +import static io.appium.java_client.service.local.AppiumServiceBuilder.*; +import static io.appium.java_client.service.local.flags.GeneralServerFlag.*; import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; import static java.lang.System.getProperty; import static java.lang.System.setProperty; @@ -16,28 +27,10 @@ import static java.util.Arrays.asList; import static java.util.Optional.ofNullable; import static java.util.concurrent.TimeUnit.SECONDS; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertThrows; -import static org.junit.Assert.assertTrue; - -import com.google.common.collect.ImmutableMap; -import io.appium.java_client.android.options.UiAutomator2Options; -import io.github.bonigarcia.wdm.WebDriverManager; -import org.junit.After; -import org.junit.BeforeClass; -import org.junit.Test; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.OutputStream; -import java.nio.file.Path; -import java.time.Duration; -import java.util.ArrayList; -import java.util.List; +import static org.junit.jupiter.api.Assertions.*; @SuppressWarnings("ResultOfMethodCallIgnored") public class ServerBuilderTest { @@ -67,14 +60,14 @@ public class ServerBuilderTest { /** * initialization. */ - @BeforeClass + @BeforeAll public static void beforeClass() throws Exception { testIP = getLocalIp4Address(); chromeManager = chromedriver(); chromeManager.setup(); } - @After + @AfterEach public void tearDown() throws Exception { ofNullable(service).ifPresent(AppiumDriverLocalService::stop); @@ -340,7 +333,7 @@ public void checkAbilityToStartServiceUsingValidBasePathWithSinglePathParams() { @Test public void checkAbilityToValidateBasePathForEmptyBasePath() { assertThrows(IllegalArgumentException.class, () -> { - new AppiumServiceBuilder().withArgument(BASEPATH, "").build(); + new AppiumServiceBuilder().withArgument(BASEPATH, "").build(); }); } diff --git a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java index 34b0e2565..fd718b405 100644 --- a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java +++ b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java @@ -23,16 +23,14 @@ import io.appium.java_client.remote.MobilePlatform; import io.appium.java_client.service.local.flags.GeneralServerFlag; import io.github.bonigarcia.wdm.WebDriverManager; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.Capabilities; import java.time.Duration; import static io.appium.java_client.TestResources.apiDemosApk; import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.*; public class StartingAppLocallyAndroidTest { diff --git a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyIosTest.java b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyIosTest.java index b7bc4786c..90b586d76 100644 --- a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyIosTest.java +++ b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyIosTest.java @@ -16,12 +16,6 @@ package io.appium.java_client.service.local; -import static io.appium.java_client.TestResources.uiCatalogAppZip; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - import io.appium.java_client.ios.BaseIOSTest; import io.appium.java_client.ios.IOSDriver; import io.appium.java_client.ios.options.XCUITestOptions; @@ -29,10 +23,13 @@ import io.appium.java_client.remote.MobileCapabilityType; import io.appium.java_client.remote.MobilePlatform; import io.appium.java_client.service.local.flags.GeneralServerFlag; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.Capabilities; import org.openqa.selenium.Platform; +import static io.appium.java_client.TestResources.uiCatalogAppZip; +import static org.junit.jupiter.api.Assertions.*; + public class StartingAppLocallyIosTest { @Test public void startingIOSAppWithCapabilitiesOnlyTest() { diff --git a/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java b/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java index fa1ba1d5c..2803184dc 100644 --- a/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java +++ b/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java @@ -1,38 +1,38 @@ package io.appium.java_client.service.local; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import org.junit.jupiter.api.Test; -import io.appium.java_client.service.local.AppiumDriverLocalService; -import io.appium.java_client.service.local.AppiumServerHasNotBeenStartedLocallyException; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.*; public class ThreadSafetyTest { private final AppiumDriverLocalService service = AppiumDriverLocalService.buildDefaultService(); private final Action run = new Action() { - @Override protected String perform() { + @Override + protected String perform() { service.start(); return "OK"; } }; private final Action run2 = run.clone(); private final Action isRunning = new Action() { - @Override protected Boolean perform() { + @Override + protected Boolean perform() { return service.isRunning(); } }; private final Action isRunning2 = isRunning.clone(); private final Action stop = new Action() { - @Override protected String perform() { + @Override + protected String perform() { service.stop(); return "OK"; } }; private final Action stop2 = stop.clone(); - @Test public void whenFewTreadsDoTheSameWork() throws Throwable { + @Test + public void whenFewTreadsDoTheSameWork() throws Throwable { TestThread runTestThread = new TestThread<>(run); TestThread runTestThread2 = new TestThread<>(run2); @@ -116,7 +116,8 @@ public class ThreadSafetyTest { } - @Test public void whenFewTreadsDoDifferentWork() throws Throwable { + @Test + public void whenFewTreadsDoDifferentWork() throws Throwable { TestThread runTestThread = new TestThread<>(run); TestThread runTestThread2 = new TestThread<>(run2); @@ -221,7 +222,8 @@ private static class TestThread implements Runnable { this.action = action; } - @Override public void run() { + @Override + public void run() { try { result = action.perform(); } catch (Throwable t) { diff --git a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java index 1500e2f81..843fe5a6d 100644 --- a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java +++ b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java @@ -1,5 +1,16 @@ package io.appium.java_client.touch; +import io.appium.java_client.touch.offset.ElementOption; +import io.appium.java_client.touch.offset.PointOption; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.Point; +import org.openqa.selenium.remote.RemoteWebElement; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import static io.appium.java_client.touch.FailsWithMatcher.failsWith; import static io.appium.java_client.touch.LongPressOptions.longPressOptions; import static io.appium.java_client.touch.TapOptions.tapOptions; @@ -8,36 +19,32 @@ import static io.appium.java_client.touch.offset.PointOption.point; import static java.time.Duration.ofMillis; import static java.time.Duration.ofSeconds; -import static junit.framework.TestCase.fail; import static org.hamcrest.CoreMatchers.everyItem; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.in; import static org.hamcrest.Matchers.is; - -import io.appium.java_client.touch.offset.ElementOption; -import io.appium.java_client.touch.offset.PointOption; -import org.junit.Test; -import org.openqa.selenium.Point; -import org.openqa.selenium.remote.RemoteWebElement; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.fail; public class TouchOptionsTests { private static final RemoteWebElement DUMMY_ELEMENT = new DummyElement(); - @Test(expected = IllegalArgumentException.class) + @Test public void invalidEmptyPointOptionsShouldFailOnBuild() { - new PointOption<>().build(); - fail("The exception throwing was expected"); + assertThrows(IllegalArgumentException.class, + () -> { + new PointOption<>().build(); + fail("The exception throwing was expected"); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void invalidEmptyElementOptionsShouldFailOnBuild() { - new ElementOption().build(); - fail("The exception throwing was expected"); + assertThrows(IllegalArgumentException.class, + () -> { + new ElementOption().build(); + fail("The exception throwing was expected"); + }); } @Test From ca0378b77885bc3fbfc9dc1e7b885ee482b042c4 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Mon, 25 Jul 2022 16:19:50 +0530 Subject: [PATCH 02/23] refactor!: updated missing junit tests --- build.gradle | 3 +- .../io/appium/java_client/ios/AppIOSTest.java | 4 +- .../appium/java_client/ios/BaseIOSTest.java | 5 +- .../java_client/ios/BaseIOSWebViewTest.java | 4 +- .../java_client/ios/BaseSafariTest.java | 5 +- .../widget/tests/WidgetTest.java | 5 +- .../tests/combined/CombinedAppTest.java | 50 +++++++-------- .../tests/combined/CombinedWidgetTest.java | 64 +++++++++---------- 8 files changed, 70 insertions(+), 70 deletions(-) diff --git a/build.gradle b/build.gradle index ebe95db70..c831a0b35 100644 --- a/build.gradle +++ b/build.gradle @@ -57,8 +57,7 @@ dependencies { implementation 'commons-io:commons-io:2.11.0' implementation 'org.slf4j:slf4j-api:1.7.36' - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' + testImplementation 'org.junit.jupiter:junit-jupiter:5.8.2' testImplementation 'org.hamcrest:hamcrest:2.2' testImplementation (group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.2.1') { exclude group: 'org.seleniumhq.selenium' diff --git a/src/test/java/io/appium/java_client/ios/AppIOSTest.java b/src/test/java/io/appium/java_client/ios/AppIOSTest.java index e84ae96fa..bd6872b72 100644 --- a/src/test/java/io/appium/java_client/ios/AppIOSTest.java +++ b/src/test/java/io/appium/java_client/ios/AppIOSTest.java @@ -1,7 +1,7 @@ package io.appium.java_client.ios; import io.appium.java_client.ios.options.XCUITestOptions; -import org.junit.BeforeClass; +import org.junit.jupiter.api.BeforeAll; import org.openqa.selenium.SessionNotCreatedException; import java.time.Duration; @@ -12,7 +12,7 @@ public class AppIOSTest extends BaseIOSTest { public static final String BUNDLE_ID = "io.appium.TestApp"; - @BeforeClass + @BeforeAll public static void beforeClass() throws Exception { startAppiumServer(); diff --git a/src/test/java/io/appium/java_client/ios/BaseIOSTest.java b/src/test/java/io/appium/java_client/ios/BaseIOSTest.java index 2f4d1f5f1..fd6200667 100644 --- a/src/test/java/io/appium/java_client/ios/BaseIOSTest.java +++ b/src/test/java/io/appium/java_client/ios/BaseIOSTest.java @@ -18,7 +18,7 @@ import io.appium.java_client.service.local.AppiumDriverLocalService; import io.appium.java_client.service.local.AppiumServiceBuilder; -import org.junit.AfterClass; +import org.junit.jupiter.api.AfterAll; import java.time.Duration; @@ -52,7 +52,8 @@ public static AppiumDriverLocalService startAppiumServer() { /** * finishing. */ - @AfterClass public static void afterClass() { + @AfterAll + public static void afterClass() { if (driver != null) { driver.quit(); } diff --git a/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java b/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java index 7aed47831..c461ded8a 100644 --- a/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java +++ b/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java @@ -17,7 +17,7 @@ package io.appium.java_client.ios; import io.appium.java_client.ios.options.XCUITestOptions; -import org.junit.BeforeClass; +import org.junit.jupiter.api.BeforeAll; import org.openqa.selenium.SessionNotCreatedException; import java.io.IOException; @@ -30,7 +30,7 @@ public class BaseIOSWebViewTest extends BaseIOSTest { private static final Duration WEB_VIEW_DETECT_INTERVAL = Duration.ofSeconds(1); private static final Duration WEB_VIEW_DETECT_DURATION = Duration.ofSeconds(15); - @BeforeClass + @BeforeAll public static void beforeClass() throws IOException { startAppiumServer(); diff --git a/src/test/java/io/appium/java_client/ios/BaseSafariTest.java b/src/test/java/io/appium/java_client/ios/BaseSafariTest.java index 4204cff41..3d08d4374 100644 --- a/src/test/java/io/appium/java_client/ios/BaseSafariTest.java +++ b/src/test/java/io/appium/java_client/ios/BaseSafariTest.java @@ -18,13 +18,14 @@ import io.appium.java_client.ios.options.XCUITestOptions; import io.appium.java_client.remote.MobileBrowserType; -import org.junit.BeforeClass; +import org.junit.jupiter.api.BeforeAll; import java.io.IOException; public class BaseSafariTest extends BaseIOSTest { - @BeforeClass public static void beforeClass() throws IOException { + @BeforeAll + public static void beforeClass() throws IOException { startAppiumServer(); XCUITestOptions options = new XCUITestOptions() diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index 0d901cb46..96e42305d 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -2,6 +2,8 @@ import io.appium.java_client.pagefactory.AppiumFieldDecorator; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import org.openqa.selenium.WebDriver; import static java.util.Arrays.copyOf; @@ -20,6 +22,7 @@ protected WidgetTest(AbstractApp app, WebDriver driver) { initElements(new AppiumFieldDecorator(driver), app); } - @Test + @ParameterizedTest + @MethodSource("data") public abstract void checkThatWidgetsAreCreatedCorrectly(); } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java index 9953578be..ebae3ecb6 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java @@ -1,11 +1,5 @@ package io.appium.java_client.pagefactory_tests.widget.tests.combined; -import static java.util.Arrays.asList; -import static java.util.stream.Collectors.toList; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.equalTo; - import io.appium.java_client.pagefactory.OverrideWidget; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractApp; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; @@ -13,15 +7,19 @@ import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import io.appium.java_client.pagefactory_tests.widget.tests.android.DefaultAndroidWidget; import io.appium.java_client.pagefactory_tests.widget.tests.windows.DefaultWindowsWidget; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.provider.Arguments; import org.openqa.selenium.WebDriver; -import java.util.Collection; import java.util.List; +import java.util.stream.Stream; + +import static java.util.stream.Collectors.toList; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.equalTo; @SuppressWarnings({"unused", "unchecked"}) -@RunWith(Parameterized.class) + public class CombinedAppTest extends WidgetTest { private final Class widgetClass; @@ -31,26 +29,26 @@ public class CombinedAppTest extends WidgetTest { * * @return test parameters */ - @Parameterized.Parameters - public static Collection data() { - return asList( - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), + + public static Stream data() { + return Stream.of( + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultIosXCUITWidget.class), - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), - DefaultFindByWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), + DefaultFindByWidget.class), + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultStubWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultStubWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), - DefaultFindByWidget.class) + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), + DefaultFindByWidget.class) ); } @@ -66,7 +64,7 @@ public void checkThatWidgetsAreCreatedCorrectly() { equalTo(widgetClass)); List> classes = app.getWidgets().stream().map(abstractWidget -> abstractWidget - .getSelfReference().getClass()) + .getSelfReference().getClass()) .collect(toList()); assertThat(classes, contains(widgetClass, widgetClass)); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java index cbae48bcc..4b4ae985d 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java @@ -1,11 +1,5 @@ package io.appium.java_client.pagefactory_tests.widget.tests.combined; -import static java.util.Arrays.asList; -import static java.util.stream.Collectors.toList; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.equalTo; - import io.appium.java_client.pagefactory.OverrideWidget; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractApp; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; @@ -13,18 +7,22 @@ import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import io.appium.java_client.pagefactory_tests.widget.tests.android.DefaultAndroidWidget; import io.appium.java_client.pagefactory_tests.widget.tests.windows.DefaultWindowsWidget; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.provider.Arguments; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import java.util.ArrayList; -import java.util.Collection; import java.util.List; +import java.util.stream.Stream; + +import static java.util.stream.Collectors.toList; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.equalTo; @SuppressWarnings({"unchecked", "unused"}) -@RunWith(Parameterized.class) + public class CombinedWidgetTest extends WidgetTest { private final Class widgetClass; @@ -34,29 +32,29 @@ public class CombinedWidgetTest extends WidgetTest { * * @return test parameters */ - @Parameterized.Parameters - public static Collection data() { - return asList( - dataArray(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - dataArray(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultIosXCUITWidget.class), - dataArray(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), - dataArray(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - dataArray(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultStubWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubWindowsDriver(), DefaultStubWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class) + + public static Stream data() { + return Stream.of( + Arguments.of(new AppWithCombinedWidgets(), + new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), + Arguments.of(new AppWithCombinedWidgets(), + new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultIosXCUITWidget.class), + Arguments.of(new AppWithCombinedWidgets(), + new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), + Arguments.of(new AppWithCombinedWidgets(), + new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), + Arguments.of(new AppWithCombinedWidgets(), + new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class), + Arguments.of(new AppWithPartiallyCombinedWidgets(), + new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), + Arguments.of(new AppWithPartiallyCombinedWidgets(), + new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultStubWidget.class), + Arguments.of(new AppWithPartiallyCombinedWidgets(), + new AbstractStubWebDriver.StubWindowsDriver(), DefaultStubWidget.class), + Arguments.of(new AppWithPartiallyCombinedWidgets(), + new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), + Arguments.of(new AppWithPartiallyCombinedWidgets(), + new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class) ); } From 667f58fcb8cbaa94b7b611fc5cac5deb624c54df Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Mon, 25 Jul 2022 18:26:31 +0530 Subject: [PATCH 03/23] refactor!: updated review comments --- .../java_client/android/AndroidFunctionTest.java | 16 ++++++---------- .../widget/tests/WidgetTest.java | 6 ------ 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java b/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java index 82db05398..7450ba199 100644 --- a/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java @@ -131,21 +131,17 @@ public void complexWaitingTestWithPostConditions() { @Test public void nullPointerExceptionSafetyTestWithPrecondition() { + Wait wait = new FluentWait<>(Pattern.compile("Fake_context")) + .withTimeout(ofSeconds(30)).pollingEvery(ofMillis(500)); assertThrows(TimeoutException.class, - () -> { - Wait wait = new FluentWait<>(Pattern.compile("Fake_context")) - .withTimeout(ofSeconds(30)).pollingEvery(ofMillis(500)); - assertTrue(wait.until(searchingFunction.compose(contextFunction)).size() > 0); - }); + () -> assertTrue(wait.until(searchingFunction.compose(contextFunction)).size() > 0)); } @Test public void nullPointerExceptionSafetyTestWithPostConditions() { + Wait wait = new FluentWait<>(Pattern.compile("Fake_context")) + .withTimeout(ofSeconds(30)).pollingEvery(ofMillis(500)); assertThrows(TimeoutException.class, - () -> { - Wait wait = new FluentWait<>(Pattern.compile("Fake_context")) - .withTimeout(ofSeconds(30)).pollingEvery(ofMillis(500)); - assertTrue(wait.until(contextFunction.andThen(searchingFunction).andThen(filteringFunction)).size() > 0); - }); + () -> assertTrue(wait.until(contextFunction.andThen(searchingFunction).andThen(filteringFunction)).size() > 0)); } } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index 96e42305d..388d8daed 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -1,22 +1,16 @@ package io.appium.java_client.pagefactory_tests.widget.tests; import io.appium.java_client.pagefactory.AppiumFieldDecorator; -import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; import org.openqa.selenium.WebDriver; -import static java.util.Arrays.copyOf; import static org.openqa.selenium.support.PageFactory.initElements; public abstract class WidgetTest { protected final AbstractApp app; - protected static Object[] dataArray(Object... objects) { - return copyOf(objects, objects.length); - } - protected WidgetTest(AbstractApp app, WebDriver driver) { this.app = app; initElements(new AppiumFieldDecorator(driver), app); From ccf1349ca7ac1a29f3cd7e6e8ae4963c4e1d4b81 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Mon, 25 Jul 2022 19:19:17 +0530 Subject: [PATCH 04/23] refactor!: updated import statement order --- .../io/appium/java_client/TestResources.java | 4 +- .../java/io/appium/java_client/TestUtils.java | 6 +-- .../AndroidAbilityToUseSupplierTest.java | 12 +++--- .../android/AndroidActivityTest.java | 4 +- .../android/AndroidAppStringsTest.java | 4 +- .../android/AndroidConnectionTest.java | 6 +-- .../android/AndroidContextTest.java | 6 +-- .../android/AndroidDataMatcherTest.java | 4 +- .../android/AndroidDriverTest.java | 10 ++--- .../android/AndroidElementTest.java | 6 ++- .../android/AndroidFunctionTest.java | 16 ++++---- .../android/AndroidLogcatListenerTest.java | 4 +- .../android/AndroidScreenRecordTest.java | 8 ++-- .../android/AndroidSearchingTest.java | 6 ++- .../java_client/android/AndroidTouchTest.java | 20 ++++----- .../android/AndroidViewMatcherTest.java | 4 +- .../java_client/android/BaseAndroidTest.java | 4 +- .../java_client/android/BaseEspressoTest.java | 4 +- .../java_client/android/BatteryTest.java | 3 +- .../java_client/android/ClipboardTest.java | 4 +- .../android/ExecuteCDPCommandTest.java | 6 +-- .../android/ExecuteDriverScriptTest.java | 10 ++--- .../java_client/android/FingerPrintTest.java | 4 +- .../android/ImagesComparisonTest.java | 10 ++--- .../java_client/android/IntentTest.java | 8 ++-- .../java_client/android/KeyCodeTest.java | 8 ++-- .../java_client/android/LogEventTest.java | 6 +-- .../android/OpenNotificationsTest.java | 6 +-- .../java_client/android/SettingTest.java | 4 +- .../java_client/android/UIAutomator2Test.java | 6 +-- .../drivers/options/OptionsBuildingTest.java | 7 +++- .../java_client/events/EventsFiringTest.java | 6 +-- .../events/stubs/EmptyWebDriver.java | 18 +------- .../events/stubs/StubWebElement.java | 9 +--- .../java_client/internal/ConfigTest.java | 8 ++-- .../io/appium/java_client/ios/AppIOSTest.java | 4 +- .../java_client/ios/BaseIOSWebViewTest.java | 4 +- .../appium/java_client/ios/ClipboardTest.java | 4 +- .../appium/java_client/ios/IOSAlertTest.java | 8 ++-- .../java_client/ios/IOSAppStringsTest.java | 4 +- .../java_client/ios/IOSContextTest.java | 6 +-- .../appium/java_client/ios/IOSDriverTest.java | 10 ++--- .../java_client/ios/IOSElementTest.java | 10 ++--- .../ios/IOSNativeWebTapSettingTest.java | 4 +- .../java_client/ios/IOSScreenRecordTest.java | 8 ++-- .../java_client/ios/IOSSearchingTest.java | 4 +- .../ios/IOSSyslogListenerTest.java | 4 +- .../appium/java_client/ios/IOSTouchTest.java | 18 ++++---- .../java_client/ios/IOSWebViewTest.java | 4 +- .../java_client/ios/ImagesComparisonTest.java | 10 ++--- .../appium/java_client/ios/RotationTest.java | 4 +- .../appium/java_client/ios/SettingTest.java | 4 +- .../AndroidPageObjectTest.java | 8 ++-- .../DesktopBrowserCompatibilityTest.java | 14 +++---- .../MobileBrowserCompatibilityTest.java | 6 +-- .../pagefactory_tests/TimeoutTest.java | 24 +++++------ .../pagefactory_tests/XCUITModeTest.java | 17 +++++--- .../widget/tests/AbstractStubWebDriver.java | 8 +--- .../widget/tests/DefaultStubWidget.java | 1 - .../widget/tests/ExtendedWidgetTest.java | 10 ++--- .../widget/tests/StubWebElement.java | 10 +---- .../widget/tests/WidgetTest.java | 4 +- .../tests/combined/CombinedAppTest.java | 10 ++--- .../tests/combined/CombinedWidgetTest.java | 10 ++--- .../tests/windows/DefaultWindowsWidget.java | 4 +- .../java_client/remote/MobileOptionsTest.java | 6 ++- .../service/local/ServerBuilderTest.java | 41 +++++++++++-------- .../local/StartingAppLocallyAndroidTest.java | 10 +++-- .../local/StartingAppLocallyIosTest.java | 9 ++-- .../service/local/ThreadSafetyTest.java | 6 ++- .../java_client/touch/DummyElement.java | 7 +--- .../java_client/touch/TouchOptionsTests.java | 22 +++++----- 72 files changed, 289 insertions(+), 299 deletions(-) diff --git a/src/test/java/io/appium/java_client/TestResources.java b/src/test/java/io/appium/java_client/TestResources.java index 9d188fb58..3e230fd2e 100644 --- a/src/test/java/io/appium/java_client/TestResources.java +++ b/src/test/java/io/appium/java_client/TestResources.java @@ -1,9 +1,9 @@ package io.appium.java_client; -import java.nio.file.Path; - import static io.appium.java_client.TestUtils.resourcePathToLocalPath; +import java.nio.file.Path; + public class TestResources { public static Path apiDemosApk() { return resourcePathToLocalPath("apps/ApiDemos-debug.apk"); diff --git a/src/test/java/io/appium/java_client/TestUtils.java b/src/test/java/io/appium/java_client/TestUtils.java index f2ed2792e..f5b2a5894 100644 --- a/src/test/java/io/appium/java_client/TestUtils.java +++ b/src/test/java/io/appium/java_client/TestUtils.java @@ -7,11 +7,7 @@ import javax.annotation.Nullable; import java.io.IOException; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.SocketException; -import java.net.URL; -import java.net.UnknownHostException; +import java.net.*; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; diff --git a/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java b/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java index db8c72926..6aa667014 100644 --- a/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java @@ -1,5 +1,11 @@ package io.appium.java_client.android; +import static io.appium.java_client.TestUtils.getCenter; +import static io.appium.java_client.touch.WaitOptions.waitOptions; +import static io.appium.java_client.touch.offset.ElementOption.element; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + import io.appium.java_client.AppiumBy; import io.appium.java_client.functions.ActionSupplier; import io.appium.java_client.touch.offset.ElementOption; @@ -10,12 +16,6 @@ import java.util.List; -import static io.appium.java_client.TestUtils.getCenter; -import static io.appium.java_client.touch.WaitOptions.waitOptions; -import static io.appium.java_client.touch.offset.ElementOption.element; -import static java.time.Duration.ofSeconds; -import static org.junit.jupiter.api.Assertions.assertNotEquals; - public class AndroidAbilityToUseSupplierTest extends BaseAndroidTest { private final ActionSupplier horizontalSwipe = () -> { diff --git a/src/test/java/io/appium/java_client/android/AndroidActivityTest.java b/src/test/java/io/appium/java_client/android/AndroidActivityTest.java index f2932ed7f..1a5b4bc87 100644 --- a/src/test/java/io/appium/java_client/android/AndroidActivityTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidActivityTest.java @@ -16,13 +16,13 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertEquals; + import io.appium.java_client.android.nativekey.AndroidKey; import io.appium.java_client.android.nativekey.KeyEvent; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; - public class AndroidActivityTest extends BaseAndroidTest { @BeforeEach diff --git a/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java b/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java index f57b30f19..e61b52bb4 100644 --- a/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java @@ -16,10 +16,10 @@ package io.appium.java_client.android; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertNotEquals; +import org.junit.jupiter.api.Test; + public class AndroidAppStringsTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/AndroidConnectionTest.java b/src/test/java/io/appium/java_client/android/AndroidConnectionTest.java index 4c8f03cd4..88e1c1d6e 100644 --- a/src/test/java/io/appium/java_client/android/AndroidConnectionTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidConnectionTest.java @@ -16,15 +16,15 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.appium.java_client.android.connection.ConnectionState; import io.appium.java_client.android.connection.ConnectionStateBuilder; import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; - @TestMethodOrder(MethodOrderer.MethodName.class) public class AndroidConnectionTest extends BaseAndroidTest { diff --git a/src/test/java/io/appium/java_client/android/AndroidContextTest.java b/src/test/java/io/appium/java_client/android/AndroidContextTest.java index 27b45691d..80284a58e 100644 --- a/src/test/java/io/appium/java_client/android/AndroidContextTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidContextTest.java @@ -16,13 +16,13 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + import io.appium.java_client.NoSuchContextException; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; - public class AndroidContextTest extends BaseAndroidTest { @BeforeAll diff --git a/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java b/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java index 423e2d4a5..67b856221 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java @@ -16,6 +16,8 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.appium.java_client.AppiumBy; @@ -26,8 +28,6 @@ import java.time.Duration; -import static org.junit.jupiter.api.Assertions.assertNotNull; - public class AndroidDataMatcherTest extends BaseEspressoTest { @Test diff --git a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java index 3a1f72f1d..01effb8a2 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java @@ -16,6 +16,11 @@ package io.appium.java_client.android; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.lessThan; +import static org.junit.jupiter.api.Assertions.*; + import io.appium.java_client.appmanagement.ApplicationState; import org.apache.commons.codec.binary.Base64; import org.apache.commons.io.FileUtils; @@ -29,11 +34,6 @@ import java.util.ArrayList; import java.util.List; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.lessThan; -import static org.junit.jupiter.api.Assertions.*; - public class AndroidDriverTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/AndroidElementTest.java b/src/test/java/io/appium/java_client/android/AndroidElementTest.java index 9b28f3e66..ca345627a 100644 --- a/src/test/java/io/appium/java_client/android/AndroidElementTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidElementTest.java @@ -16,6 +16,10 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import io.appium.java_client.AppiumBy; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -23,8 +27,6 @@ import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.RemoteWebElement; -import static org.junit.jupiter.api.Assertions.*; - public class AndroidElementTest extends BaseAndroidTest { @BeforeEach diff --git a/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java b/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java index 7450ba199..b801c54b4 100644 --- a/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java @@ -1,5 +1,13 @@ package io.appium.java_client.android; +import static java.time.Duration.ofMillis; +import static java.time.Duration.ofSeconds; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.StringContains.containsString; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.appium.java_client.functions.AppiumFunction; import io.appium.java_client.functions.ExpectedCondition; import org.junit.jupiter.api.BeforeAll; @@ -18,14 +26,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import static java.time.Duration.ofMillis; -import static java.time.Duration.ofSeconds; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.StringContains.containsString; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; - public class AndroidFunctionTest extends BaseAndroidTest { private final AppiumFunction> searchingFunction = input -> { diff --git a/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java b/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java index 0aa4f8df9..f87912d6c 100644 --- a/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java @@ -1,5 +1,7 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertTrue; + import org.apache.commons.lang3.time.DurationFormatUtils; import org.junit.jupiter.api.Test; @@ -7,8 +9,6 @@ import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; -import static org.junit.jupiter.api.Assertions.assertTrue; - public class AndroidLogcatListenerTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/AndroidScreenRecordTest.java b/src/test/java/io/appium/java_client/android/AndroidScreenRecordTest.java index f258b4eef..63510fc26 100644 --- a/src/test/java/io/appium/java_client/android/AndroidScreenRecordTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidScreenRecordTest.java @@ -1,14 +1,16 @@ package io.appium.java_client.android; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.emptyString; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriverException; import java.time.Duration; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.*; - public class AndroidScreenRecordTest extends BaseAndroidTest { @BeforeEach diff --git a/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java b/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java index f4d67c40e..b9c23bc42 100644 --- a/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java @@ -16,14 +16,16 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import io.appium.java_client.AppiumBy; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; -import static org.junit.jupiter.api.Assertions.*; - public class AndroidSearchingTest extends BaseAndroidTest { @BeforeEach diff --git a/src/test/java/io/appium/java_client/android/AndroidTouchTest.java b/src/test/java/io/appium/java_client/android/AndroidTouchTest.java index 6d40eab43..e7d8d63b5 100644 --- a/src/test/java/io/appium/java_client/android/AndroidTouchTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidTouchTest.java @@ -1,5 +1,15 @@ package io.appium.java_client.android; +import static io.appium.java_client.TestUtils.getCenter; +import static io.appium.java_client.touch.LongPressOptions.longPressOptions; +import static io.appium.java_client.touch.TapOptions.tapOptions; +import static io.appium.java_client.touch.WaitOptions.waitOptions; +import static io.appium.java_client.touch.offset.ElementOption.element; +import static io.appium.java_client.touch.offset.PointOption.point; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + import io.appium.java_client.AppiumBy; import io.appium.java_client.MultiTouchAction; import io.appium.java_client.TouchAction; @@ -11,16 +21,6 @@ import java.util.List; -import static io.appium.java_client.TestUtils.getCenter; -import static io.appium.java_client.touch.LongPressOptions.longPressOptions; -import static io.appium.java_client.touch.TapOptions.tapOptions; -import static io.appium.java_client.touch.WaitOptions.waitOptions; -import static io.appium.java_client.touch.offset.ElementOption.element; -import static io.appium.java_client.touch.offset.PointOption.point; -import static java.time.Duration.ofSeconds; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotEquals; - public class AndroidTouchTest extends BaseAndroidTest { @BeforeEach diff --git a/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java b/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java index 6892d7027..a36768f42 100644 --- a/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java @@ -16,6 +16,8 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.appium.java_client.AppiumBy; @@ -26,8 +28,6 @@ import java.time.Duration; -import static org.junit.jupiter.api.Assertions.assertNotNull; - public class AndroidViewMatcherTest extends BaseEspressoTest { @Test diff --git a/src/test/java/io/appium/java_client/android/BaseAndroidTest.java b/src/test/java/io/appium/java_client/android/BaseAndroidTest.java index 738e70ee7..3533a13d9 100644 --- a/src/test/java/io/appium/java_client/android/BaseAndroidTest.java +++ b/src/test/java/io/appium/java_client/android/BaseAndroidTest.java @@ -16,14 +16,14 @@ package io.appium.java_client.android; +import static io.appium.java_client.TestResources.apiDemosApk; + import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.service.local.AppiumDriverLocalService; import io.appium.java_client.service.local.AppiumServiceBuilder; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import static io.appium.java_client.TestResources.apiDemosApk; - public class BaseAndroidTest { public static final String APP_ID = "io.appium.android.apis"; protected static final int PORT = 4723; diff --git a/src/test/java/io/appium/java_client/android/BaseEspressoTest.java b/src/test/java/io/appium/java_client/android/BaseEspressoTest.java index 3294dbf4a..356a367d5 100644 --- a/src/test/java/io/appium/java_client/android/BaseEspressoTest.java +++ b/src/test/java/io/appium/java_client/android/BaseEspressoTest.java @@ -16,14 +16,14 @@ package io.appium.java_client.android; +import static io.appium.java_client.TestResources.apiDemosApk; + import io.appium.java_client.android.options.EspressoOptions; import io.appium.java_client.service.local.AppiumDriverLocalService; import io.appium.java_client.service.local.AppiumServerHasNotBeenStartedLocallyException; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import static io.appium.java_client.TestResources.apiDemosApk; - public class BaseEspressoTest { private static AppiumDriverLocalService service; diff --git a/src/test/java/io/appium/java_client/android/BatteryTest.java b/src/test/java/io/appium/java_client/android/BatteryTest.java index 619fafac1..6c31f5d9c 100644 --- a/src/test/java/io/appium/java_client/android/BatteryTest.java +++ b/src/test/java/io/appium/java_client/android/BatteryTest.java @@ -25,7 +25,8 @@ public class BatteryTest extends BaseAndroidTest { - @Test public void veryGettingBatteryInformation() { + @Test + public void veryGettingBatteryInformation() { final AndroidBatteryInfo batteryInfo = driver.getBatteryInfo(); assertThat(batteryInfo.getLevel(), is(greaterThan(0.0))); assertThat(batteryInfo.getState(), is(not(AndroidBatteryInfo.BatteryState.UNKNOWN))); diff --git a/src/test/java/io/appium/java_client/android/ClipboardTest.java b/src/test/java/io/appium/java_client/android/ClipboardTest.java index 5b9c590db..fba5f2ef0 100644 --- a/src/test/java/io/appium/java_client/android/ClipboardTest.java +++ b/src/test/java/io/appium/java_client/android/ClipboardTest.java @@ -16,11 +16,11 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertEquals; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; - public class ClipboardTest extends BaseAndroidTest { @BeforeEach diff --git a/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java b/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java index 259dd0d4d..45884c195 100644 --- a/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java +++ b/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java @@ -16,6 +16,9 @@ package io.appium.java_client.android; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.remote.MobileBrowserType; import io.appium.java_client.remote.MobileCapabilityType; @@ -32,9 +35,6 @@ import java.util.HashMap; import java.util.Map; -import static java.time.Duration.ofSeconds; -import static org.junit.jupiter.api.Assertions.assertNotNull; - public class ExecuteCDPCommandTest { private WebDriver driver; diff --git a/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java b/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java index a9cd24631..7c14a4f49 100644 --- a/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java +++ b/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java @@ -16,6 +16,11 @@ package io.appium.java_client.android; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.core.Is.is; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import io.appium.java_client.driverscripts.ScriptOptions; import io.appium.java_client.driverscripts.ScriptType; import io.appium.java_client.driverscripts.ScriptValue; @@ -25,11 +30,6 @@ import java.util.List; import java.util.Map; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.core.Is.is; -import static org.junit.jupiter.api.Assertions.assertNotNull; - public class ExecuteDriverScriptTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/FingerPrintTest.java b/src/test/java/io/appium/java_client/android/FingerPrintTest.java index ee4b52c4a..39b19bd28 100644 --- a/src/test/java/io/appium/java_client/android/FingerPrintTest.java +++ b/src/test/java/io/appium/java_client/android/FingerPrintTest.java @@ -16,6 +16,8 @@ package io.appium.java_client.android; +import static io.appium.java_client.AppiumBy.androidUIAutomator; + import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.service.local.AppiumDriverLocalService; import org.junit.jupiter.api.*; @@ -25,8 +27,6 @@ import java.time.Duration; -import static io.appium.java_client.AppiumBy.androidUIAutomator; - public class FingerPrintTest { private static AppiumDriverLocalService service; private static AndroidDriver driver; diff --git a/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java b/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java index 1005a1b4c..bc596b2ca 100644 --- a/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java +++ b/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java @@ -16,17 +16,17 @@ package io.appium.java_client.android; -import io.appium.java_client.imagecomparison.*; -import org.apache.commons.codec.binary.Base64; -import org.junit.jupiter.api.Test; -import org.openqa.selenium.OutputType; - import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.core.Is.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; +import io.appium.java_client.imagecomparison.*; +import org.apache.commons.codec.binary.Base64; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.OutputType; + public class ImagesComparisonTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/IntentTest.java b/src/test/java/io/appium/java_client/android/IntentTest.java index 7545f5e41..ac18ebcaa 100644 --- a/src/test/java/io/appium/java_client/android/IntentTest.java +++ b/src/test/java/io/appium/java_client/android/IntentTest.java @@ -1,5 +1,9 @@ package io.appium.java_client.android; +import static io.appium.java_client.TestResources.intentExampleApk; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.service.local.AppiumDriverLocalService; import org.junit.jupiter.api.AfterAll; @@ -9,10 +13,6 @@ import java.util.function.Predicate; -import static io.appium.java_client.TestResources.intentExampleApk; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - public class IntentTest { private static AppiumDriverLocalService service; protected static AndroidDriver driver; diff --git a/src/test/java/io/appium/java_client/android/KeyCodeTest.java b/src/test/java/io/appium/java_client/android/KeyCodeTest.java index 7c50f4ceb..7a3ae47e3 100644 --- a/src/test/java/io/appium/java_client/android/KeyCodeTest.java +++ b/src/test/java/io/appium/java_client/android/KeyCodeTest.java @@ -16,6 +16,10 @@ package io.appium.java_client.android; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.appium.java_client.android.nativekey.AndroidKey; import io.appium.java_client.android.nativekey.KeyEvent; import io.appium.java_client.android.nativekey.KeyEventFlag; @@ -24,10 +28,6 @@ import org.junit.jupiter.api.Test; import org.openqa.selenium.By; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.containsString; -import static org.junit.jupiter.api.Assertions.assertTrue; - public class KeyCodeTest extends BaseAndroidTest { private static final By PRESS_RESULT_VIEW = By.id("io.appium.android.apis:id/text"); diff --git a/src/test/java/io/appium/java_client/android/LogEventTest.java b/src/test/java/io/appium/java_client/android/LogEventTest.java index ad3951200..09fcd9f0b 100644 --- a/src/test/java/io/appium/java_client/android/LogEventTest.java +++ b/src/test/java/io/appium/java_client/android/LogEventTest.java @@ -16,6 +16,9 @@ package io.appium.java_client.android; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.appium.java_client.serverevents.CommandEvent; import io.appium.java_client.serverevents.CustomEvent; import io.appium.java_client.serverevents.ServerEvents; @@ -23,9 +26,6 @@ import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.jupiter.api.Assertions.assertTrue; - public class LogEventTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/OpenNotificationsTest.java b/src/test/java/io/appium/java_client/android/OpenNotificationsTest.java index 1eee13f51..dde09bbc1 100644 --- a/src/test/java/io/appium/java_client/android/OpenNotificationsTest.java +++ b/src/test/java/io/appium/java_client/android/OpenNotificationsTest.java @@ -1,5 +1,8 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.openqa.selenium.By.id; + import org.junit.jupiter.api.Test; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.WebDriverWait; @@ -7,9 +10,6 @@ import java.time.Duration; import java.util.List; -import static org.junit.jupiter.api.Assertions.assertNotEquals; -import static org.openqa.selenium.By.id; - public class OpenNotificationsTest extends BaseAndroidTest { @Test public void openNotification() { diff --git a/src/test/java/io/appium/java_client/android/SettingTest.java b/src/test/java/io/appium/java_client/android/SettingTest.java index f6847d573..69ff76638 100644 --- a/src/test/java/io/appium/java_client/android/SettingTest.java +++ b/src/test/java/io/appium/java_client/android/SettingTest.java @@ -1,5 +1,7 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertEquals; + import io.appium.java_client.Setting; import org.junit.jupiter.api.Test; @@ -8,8 +10,6 @@ import java.util.HashMap; import java.util.Map; -import static org.junit.jupiter.api.Assertions.assertEquals; - public class SettingTest extends BaseAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/android/UIAutomator2Test.java b/src/test/java/io/appium/java_client/android/UIAutomator2Test.java index 0d9da052d..6c2bf0857 100644 --- a/src/test/java/io/appium/java_client/android/UIAutomator2Test.java +++ b/src/test/java/io/appium/java_client/android/UIAutomator2Test.java @@ -1,5 +1,8 @@ package io.appium.java_client.android; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import io.appium.java_client.AppiumBy; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Disabled; @@ -12,9 +15,6 @@ import java.time.Duration; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; - public class UIAutomator2Test extends BaseAndroidTest { @AfterEach diff --git a/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java b/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java index a3940e9ea..f878d917d 100644 --- a/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java +++ b/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java @@ -16,6 +16,11 @@ package io.appium.java_client.drivers.options; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.appium.java_client.android.options.EspressoOptions; @@ -42,8 +47,6 @@ import java.net.URL; import java.time.Duration; -import static org.junit.jupiter.api.Assertions.*; - @SuppressWarnings("ConstantConditions") public class OptionsBuildingTest { @Test diff --git a/src/test/java/io/appium/java_client/events/EventsFiringTest.java b/src/test/java/io/appium/java_client/events/EventsFiringTest.java index cd00dce37..5034b83df 100644 --- a/src/test/java/io/appium/java_client/events/EventsFiringTest.java +++ b/src/test/java/io/appium/java_client/events/EventsFiringTest.java @@ -16,15 +16,15 @@ package io.appium.java_client.events; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.appium.java_client.events.stubs.EmptyWebDriver; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.support.events.EventFiringDecorator; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - public class EventsFiringTest { private final WebDriver emptyWebDriver = new EmptyWebDriver(); private CustomListener listener; diff --git a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java index 5316f56e4..eb2fe21c1 100644 --- a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java +++ b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java @@ -17,23 +17,7 @@ package io.appium.java_client.events.stubs; import com.google.common.collect.ImmutableList; -import org.openqa.selenium.Alert; -import org.openqa.selenium.By; -import org.openqa.selenium.Capabilities; -import org.openqa.selenium.ContextAware; -import org.openqa.selenium.Cookie; -import org.openqa.selenium.DeviceRotation; -import org.openqa.selenium.HasCapabilities; -import org.openqa.selenium.JavascriptExecutor; -import org.openqa.selenium.NoSuchElementException; -import org.openqa.selenium.OutputType; -import org.openqa.selenium.Rotatable; -import org.openqa.selenium.ScreenOrientation; -import org.openqa.selenium.TakesScreenshot; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebDriverException; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.WindowType; +import org.openqa.selenium.*; import org.openqa.selenium.logging.Logs; import org.openqa.selenium.remote.DesiredCapabilities; diff --git a/src/test/java/io/appium/java_client/events/stubs/StubWebElement.java b/src/test/java/io/appium/java_client/events/stubs/StubWebElement.java index 4be313211..6c9cb09d2 100644 --- a/src/test/java/io/appium/java_client/events/stubs/StubWebElement.java +++ b/src/test/java/io/appium/java_client/events/stubs/StubWebElement.java @@ -17,15 +17,10 @@ package io.appium.java_client.events.stubs; import com.google.common.collect.ImmutableList; +import org.openqa.selenium.*; + import java.util.ArrayList; import java.util.List; -import org.openqa.selenium.By; -import org.openqa.selenium.Dimension; -import org.openqa.selenium.OutputType; -import org.openqa.selenium.Point; -import org.openqa.selenium.Rectangle; -import org.openqa.selenium.WebDriverException; -import org.openqa.selenium.WebElement; public class StubWebElement implements WebElement { public StubWebElement() { diff --git a/src/test/java/io/appium/java_client/internal/ConfigTest.java b/src/test/java/io/appium/java_client/internal/ConfigTest.java index e4a74ef57..4ae2feb6c 100644 --- a/src/test/java/io/appium/java_client/internal/ConfigTest.java +++ b/src/test/java/io/appium/java_client/internal/ConfigTest.java @@ -1,10 +1,12 @@ package io.appium.java_client.internal; -import org.junit.jupiter.api.Test; - import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.greaterThan; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; public class ConfigTest { private static final String EXISTING_KEY = "selenium.version"; diff --git a/src/test/java/io/appium/java_client/ios/AppIOSTest.java b/src/test/java/io/appium/java_client/ios/AppIOSTest.java index bd6872b72..e6746d732 100644 --- a/src/test/java/io/appium/java_client/ios/AppIOSTest.java +++ b/src/test/java/io/appium/java_client/ios/AppIOSTest.java @@ -1,13 +1,13 @@ package io.appium.java_client.ios; +import static io.appium.java_client.TestResources.testAppZip; + import io.appium.java_client.ios.options.XCUITestOptions; import org.junit.jupiter.api.BeforeAll; import org.openqa.selenium.SessionNotCreatedException; import java.time.Duration; -import static io.appium.java_client.TestResources.testAppZip; - public class AppIOSTest extends BaseIOSTest { public static final String BUNDLE_ID = "io.appium.TestApp"; diff --git a/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java b/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java index c461ded8a..4581b47c4 100644 --- a/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java +++ b/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java @@ -16,6 +16,8 @@ package io.appium.java_client.ios; +import static io.appium.java_client.TestResources.vodQaAppZip; + import io.appium.java_client.ios.options.XCUITestOptions; import org.junit.jupiter.api.BeforeAll; import org.openqa.selenium.SessionNotCreatedException; @@ -24,8 +26,6 @@ import java.time.Duration; import java.util.function.Supplier; -import static io.appium.java_client.TestResources.vodQaAppZip; - public class BaseIOSWebViewTest extends BaseIOSTest { private static final Duration WEB_VIEW_DETECT_INTERVAL = Duration.ofSeconds(1); private static final Duration WEB_VIEW_DETECT_DURATION = Duration.ofSeconds(15); diff --git a/src/test/java/io/appium/java_client/ios/ClipboardTest.java b/src/test/java/io/appium/java_client/ios/ClipboardTest.java index edfd9ba9a..44e4e23d7 100644 --- a/src/test/java/io/appium/java_client/ios/ClipboardTest.java +++ b/src/test/java/io/appium/java_client/ios/ClipboardTest.java @@ -16,10 +16,10 @@ package io.appium.java_client.ios; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; + public class ClipboardTest extends AppIOSTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/IOSAlertTest.java b/src/test/java/io/appium/java_client/ios/IOSAlertTest.java index 7e1fb6528..3c731e007 100644 --- a/src/test/java/io/appium/java_client/ios/IOSAlertTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSAlertTest.java @@ -16,6 +16,10 @@ package io.appium.java_client.ios; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.openqa.selenium.support.ui.ExpectedConditions.alertIsPresent; + import io.appium.java_client.AppiumBy; import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.AfterEach; @@ -29,10 +33,6 @@ import java.time.Duration; import java.util.function.Supplier; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.openqa.selenium.support.ui.ExpectedConditions.alertIsPresent; - @TestMethodOrder(MethodOrderer.MethodName.class) public class IOSAlertTest extends AppIOSTest { diff --git a/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java b/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java index 499c078e8..a4e939c77 100644 --- a/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java @@ -16,10 +16,10 @@ package io.appium.java_client.ios; -import org.junit.jupiter.api.Test; - import static org.junit.jupiter.api.Assertions.assertNotEquals; +import org.junit.jupiter.api.Test; + public class IOSAppStringsTest extends AppIOSTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/IOSContextTest.java b/src/test/java/io/appium/java_client/ios/IOSContextTest.java index 381ef96d9..728833a7e 100644 --- a/src/test/java/io/appium/java_client/ios/IOSContextTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSContextTest.java @@ -16,14 +16,14 @@ package io.appium.java_client.ios; -import io.appium.java_client.NoSuchContextException; -import org.junit.jupiter.api.Test; - import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.StringContains.containsString; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; +import io.appium.java_client.NoSuchContextException; +import org.junit.jupiter.api.Test; + public class IOSContextTest extends BaseIOSWebViewTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/IOSDriverTest.java b/src/test/java/io/appium/java_client/ios/IOSDriverTest.java index d4b090b8e..db4f6766e 100644 --- a/src/test/java/io/appium/java_client/ios/IOSDriverTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSDriverTest.java @@ -16,6 +16,11 @@ package io.appium.java_client.ios; +import static io.appium.java_client.TestUtils.waitUntilTrue; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThan; +import static org.junit.jupiter.api.Assertions.*; + import com.google.common.collect.ImmutableMap; import io.appium.java_client.appmanagement.ApplicationState; import io.appium.java_client.remote.HideKeyboardStrategy; @@ -34,11 +39,6 @@ import java.time.Duration; -import static io.appium.java_client.TestUtils.waitUntilTrue; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.greaterThan; -import static org.junit.jupiter.api.Assertions.*; - public class IOSDriverTest extends AppIOSTest { @BeforeEach public void setupEach() { diff --git a/src/test/java/io/appium/java_client/ios/IOSElementTest.java b/src/test/java/io/appium/java_client/ios/IOSElementTest.java index 5d3d943a5..84ff65287 100644 --- a/src/test/java/io/appium/java_client/ios/IOSElementTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSElementTest.java @@ -1,5 +1,10 @@ package io.appium.java_client.ios; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.IsNot.not; +import static org.junit.jupiter.api.Assertions.assertEquals; + import io.appium.java_client.AppiumBy; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.MethodOrderer; @@ -10,11 +15,6 @@ import java.time.Duration; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.IsNot.not; -import static org.junit.jupiter.api.Assertions.assertEquals; - @TestMethodOrder(MethodOrderer.MethodName.class) public class IOSElementTest extends AppIOSTest { diff --git a/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java b/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java index 922dbb7cd..ccb5c7850 100644 --- a/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java @@ -1,5 +1,7 @@ package io.appium.java_client.ios; +import static org.junit.jupiter.api.Assertions.assertTrue; + import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.openqa.selenium.By; @@ -9,8 +11,6 @@ import java.time.Duration; -import static org.junit.jupiter.api.Assertions.assertTrue; - public class IOSNativeWebTapSettingTest extends BaseSafariTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/IOSScreenRecordTest.java b/src/test/java/io/appium/java_client/ios/IOSScreenRecordTest.java index fc4dc248f..cf88b7b4a 100644 --- a/src/test/java/io/appium/java_client/ios/IOSScreenRecordTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSScreenRecordTest.java @@ -1,12 +1,14 @@ package io.appium.java_client.ios; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.emptyString; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; + import org.junit.jupiter.api.Test; import java.time.Duration; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.*; - public class IOSScreenRecordTest extends AppIOSTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java b/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java index 86ca39fbc..38ef5d8a7 100644 --- a/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java @@ -16,11 +16,11 @@ package io.appium.java_client.ios; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + import io.appium.java_client.AppiumBy; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertNotEquals; - public class IOSSearchingTest extends AppIOSTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java b/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java index ba5e9931c..c8c3f779b 100644 --- a/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java @@ -1,5 +1,7 @@ package io.appium.java_client.ios; +import static org.junit.jupiter.api.Assertions.assertTrue; + import org.apache.commons.lang3.time.DurationFormatUtils; import org.junit.jupiter.api.Test; @@ -7,8 +9,6 @@ import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; -import static org.junit.jupiter.api.Assertions.assertTrue; - public class IOSSyslogListenerTest extends AppIOSTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/IOSTouchTest.java b/src/test/java/io/appium/java_client/ios/IOSTouchTest.java index 48fc3a338..c84f6e0d5 100644 --- a/src/test/java/io/appium/java_client/ios/IOSTouchTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSTouchTest.java @@ -1,5 +1,14 @@ package io.appium.java_client.ios; +import static io.appium.java_client.ios.touch.IOSPressOptions.iosPressOptions; +import static io.appium.java_client.touch.TapOptions.tapOptions; +import static io.appium.java_client.touch.WaitOptions.waitOptions; +import static io.appium.java_client.touch.offset.ElementOption.element; +import static java.time.Duration.ofMillis; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.openqa.selenium.support.ui.ExpectedConditions.alertIsPresent; + import io.appium.java_client.AppiumBy; import io.appium.java_client.MultiTouchAction; import org.junit.jupiter.api.MethodOrderer; @@ -11,15 +20,6 @@ import java.time.Duration; -import static io.appium.java_client.ios.touch.IOSPressOptions.iosPressOptions; -import static io.appium.java_client.touch.TapOptions.tapOptions; -import static io.appium.java_client.touch.WaitOptions.waitOptions; -import static io.appium.java_client.touch.offset.ElementOption.element; -import static java.time.Duration.ofMillis; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.openqa.selenium.support.ui.ExpectedConditions.alertIsPresent; - @TestMethodOrder(MethodOrderer.MethodName.class) public class IOSTouchTest extends AppIOSTest { diff --git a/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java b/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java index d03f1acdc..a293e1383 100644 --- a/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java @@ -2,14 +2,14 @@ import static org.junit.jupiter.api.Assertions.assertTrue; -import java.time.Duration; - import io.appium.java_client.AppiumBy; import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; +import java.time.Duration; + public class IOSWebViewTest extends BaseIOSWebViewTest { private static final Duration LOOKUP_TIMEOUT = Duration.ofSeconds(30); diff --git a/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java b/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java index c885c6933..0bccc0f34 100644 --- a/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java +++ b/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java @@ -16,17 +16,17 @@ package io.appium.java_client.ios; -import io.appium.java_client.imagecomparison.*; -import org.apache.commons.codec.binary.Base64; -import org.junit.jupiter.api.Test; -import org.openqa.selenium.OutputType; - import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.core.Is.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; +import io.appium.java_client.imagecomparison.*; +import org.apache.commons.codec.binary.Base64; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.OutputType; + public class ImagesComparisonTest extends AppIOSTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/RotationTest.java b/src/test/java/io/appium/java_client/ios/RotationTest.java index bf6ad5827..4d9ce501c 100644 --- a/src/test/java/io/appium/java_client/ios/RotationTest.java +++ b/src/test/java/io/appium/java_client/ios/RotationTest.java @@ -16,12 +16,12 @@ package io.appium.java_client.ios; +import static org.junit.jupiter.api.Assertions.assertEquals; + import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.DeviceRotation; -import static org.junit.jupiter.api.Assertions.assertEquals; - public class RotationTest extends AppIOSTest { @AfterEach diff --git a/src/test/java/io/appium/java_client/ios/SettingTest.java b/src/test/java/io/appium/java_client/ios/SettingTest.java index 31a897141..49eabcd81 100644 --- a/src/test/java/io/appium/java_client/ios/SettingTest.java +++ b/src/test/java/io/appium/java_client/ios/SettingTest.java @@ -17,6 +17,8 @@ package io.appium.java_client.ios; +import static org.junit.jupiter.api.Assertions.assertEquals; + import io.appium.java_client.Setting; import org.junit.jupiter.api.Test; @@ -24,8 +26,6 @@ import java.util.HashMap; import java.util.Map; -import static org.junit.jupiter.api.Assertions.assertEquals; - public class SettingTest extends AppIOSTest { @Test diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java index a47ef41d7..63bced9fd 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java @@ -16,6 +16,10 @@ package io.appium.java_client.pagefactory_tests; +import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.*; + import io.appium.java_client.android.BaseAndroidTest; import io.appium.java_client.pagefactory.*; import org.junit.jupiter.api.BeforeEach; @@ -31,10 +35,6 @@ import java.util.ArrayList; import java.util.List; -import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; -import static java.time.Duration.ofSeconds; -import static org.junit.jupiter.api.Assertions.*; - public class AndroidPageObjectTest extends BaseAndroidTest { private boolean populated = false; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java index 5aa4a248d..bb48c3ea5 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java @@ -16,6 +16,13 @@ package io.appium.java_client.pagefactory_tests; +import static io.appium.java_client.TestResources.helloAppiumHtml; +import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; +import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import io.appium.java_client.pagefactory.AppiumFieldDecorator; @@ -32,13 +39,6 @@ import java.util.List; -import static io.appium.java_client.TestResources.helloAppiumHtml; -import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; -import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; -import static java.time.Duration.ofSeconds; -import static org.junit.jupiter.api.Assertions.assertNotEquals; -import static org.junit.jupiter.api.Assertions.assertNull; - public class DesktopBrowserCompatibilityTest { @HowToUseLocators(iOSXCUITAutomation = ALL_POSSIBLE) diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java index bf67dd9e7..4985977fe 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java @@ -16,6 +16,9 @@ package io.appium.java_client.pagefactory_tests; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.pagefactory.AndroidFindBy; @@ -34,9 +37,6 @@ import java.util.List; -import static java.time.Duration.ofSeconds; -import static org.junit.jupiter.api.Assertions.assertNotEquals; - public class MobileBrowserCompatibilityTest { private WebDriver driver; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java index f11b9324c..660f13626 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java @@ -16,6 +16,18 @@ package io.appium.java_client.pagefactory_tests; +import static io.appium.java_client.pagefactory.AppiumFieldDecorator.DEFAULT_WAITING_TIMEOUT; +import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; +import static java.lang.Math.abs; +import static java.lang.String.format; +import static java.lang.System.currentTimeMillis; +import static java.time.Duration.ofSeconds; +import static java.time.temporal.ChronoUnit.SECONDS; +import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.lessThanOrEqualTo; +import static org.openqa.selenium.support.PageFactory.initElements; + import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.pagefactory.WithTimeout; import org.junit.jupiter.api.AfterEach; @@ -31,18 +43,6 @@ import java.time.Duration; import java.util.List; -import static io.appium.java_client.pagefactory.AppiumFieldDecorator.DEFAULT_WAITING_TIMEOUT; -import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; -import static java.lang.Math.abs; -import static java.lang.String.format; -import static java.lang.System.currentTimeMillis; -import static java.time.Duration.ofSeconds; -import static java.time.temporal.ChronoUnit.SECONDS; -import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.lessThanOrEqualTo; -import static org.openqa.selenium.support.PageFactory.initElements; - public class TimeoutTest { private static final long ACCEPTABLE_TIME_DIFF_MS = 1500; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java index 5058208bd..d96ca45e4 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java @@ -16,6 +16,17 @@ package io.appium.java_client.pagefactory_tests; +import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; +import static io.appium.java_client.pagefactory.LocatorGroupStrategy.CHAIN; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.greaterThan; +import static org.hamcrest.Matchers.is; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.appium.java_client.ios.AppIOSTest; import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.pagefactory.HowToUseLocators; @@ -29,12 +40,6 @@ import java.util.List; -import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; -import static io.appium.java_client.pagefactory.LocatorGroupStrategy.CHAIN; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.*; -import static org.junit.jupiter.api.Assertions.*; - @TestMethodOrder(MethodOrderer.MethodName.class) public class XCUITModeTest extends AppIOSTest { diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/AbstractStubWebDriver.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/AbstractStubWebDriver.java index bea245a99..7563ec07b 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/AbstractStubWebDriver.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/AbstractStubWebDriver.java @@ -9,13 +9,7 @@ import static org.apache.commons.lang3.StringUtils.EMPTY; import io.appium.java_client.HasBrowserCheck; -import org.openqa.selenium.By; -import org.openqa.selenium.Capabilities; -import org.openqa.selenium.Cookie; -import org.openqa.selenium.HasCapabilities; -import org.openqa.selenium.ImmutableCapabilities; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; +import org.openqa.selenium.*; import org.openqa.selenium.logging.Logs; import org.openqa.selenium.remote.Response; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/DefaultStubWidget.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/DefaultStubWidget.java index e81022a57..0e6bc08b7 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/DefaultStubWidget.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/DefaultStubWidget.java @@ -1,7 +1,6 @@ package io.appium.java_client.pagefactory_tests.widget.tests; import com.google.common.collect.ImmutableList; - import io.appium.java_client.pagefactory.Widget; import org.openqa.selenium.WebElement; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java index 6d0a42ae5..238f91b89 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java @@ -1,16 +1,16 @@ package io.appium.java_client.pagefactory_tests.widget.tests; +import static java.util.stream.Collectors.toList; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.containsString; + import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import java.util.List; -import static java.util.stream.Collectors.toList; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.containsString; - public abstract class ExtendedWidgetTest extends WidgetTest { protected ExtendedWidgetTest(ExtendedApp app, WebDriver driver) { diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/StubWebElement.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/StubWebElement.java index cffb170fd..14e3bed79 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/StubWebElement.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/StubWebElement.java @@ -3,15 +3,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.collect.ImmutableList.of; -import org.openqa.selenium.By; -import org.openqa.selenium.Dimension; -import org.openqa.selenium.OutputType; -import org.openqa.selenium.Point; -import org.openqa.selenium.Rectangle; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebDriverException; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.WrapsDriver; +import org.openqa.selenium.*; import java.util.List; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index 388d8daed..9e89c2daf 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -1,12 +1,12 @@ package io.appium.java_client.pagefactory_tests.widget.tests; +import static org.openqa.selenium.support.PageFactory.initElements; + import io.appium.java_client.pagefactory.AppiumFieldDecorator; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; import org.openqa.selenium.WebDriver; -import static org.openqa.selenium.support.PageFactory.initElements; - public abstract class WidgetTest { protected final AbstractApp app; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java index ebae3ecb6..1105b1c11 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java @@ -1,5 +1,10 @@ package io.appium.java_client.pagefactory_tests.widget.tests.combined; +import static java.util.stream.Collectors.toList; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.equalTo; + import io.appium.java_client.pagefactory.OverrideWidget; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractApp; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; @@ -13,11 +18,6 @@ import java.util.List; import java.util.stream.Stream; -import static java.util.stream.Collectors.toList; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.equalTo; - @SuppressWarnings({"unused", "unchecked"}) public class CombinedAppTest extends WidgetTest { diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java index 4b4ae985d..364b4b2d4 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java @@ -1,5 +1,10 @@ package io.appium.java_client.pagefactory_tests.widget.tests.combined; +import static java.util.stream.Collectors.toList; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.equalTo; + import io.appium.java_client.pagefactory.OverrideWidget; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractApp; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; @@ -15,11 +20,6 @@ import java.util.List; import java.util.stream.Stream; -import static java.util.stream.Collectors.toList; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.equalTo; - @SuppressWarnings({"unchecked", "unused"}) diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/DefaultWindowsWidget.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/DefaultWindowsWidget.java index ab7b81a41..460d3f512 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/DefaultWindowsWidget.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/DefaultWindowsWidget.java @@ -11,11 +11,11 @@ public class DefaultWindowsWidget extends DefaultStubWidget { public static String WINDOWS_SUB_WIDGET_LOCATOR = "SOME_SUB_LOCATOR"; - @WindowsFindBy(windowsAutomation = "SOME_SUB_LOCATOR") + @WindowsFindBy(windowsAutomation = "SOME_SUB_LOCATOR") @iOSXCUITFindBy(iOSNsPredicate = "XCUIT_SOME_SUB_LOCATOR") private DefaultWindowsWidget singleWidget; - @WindowsFindBy(windowsAutomation = "SOME_SUB_LOCATOR") + @WindowsFindBy(windowsAutomation = "SOME_SUB_LOCATOR") @iOSXCUITFindBy(iOSNsPredicate = "XCUIT_SOME_SUB_LOCATOR") private List multipleWidgets; diff --git a/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java b/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java index 6708c200a..2cdd9c4cf 100644 --- a/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java +++ b/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java @@ -16,6 +16,10 @@ package io.appium.java_client.remote; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + import org.junit.jupiter.api.Test; import org.openqa.selenium.MutableCapabilities; import org.openqa.selenium.ScreenOrientation; @@ -24,8 +28,6 @@ import java.net.URL; import java.time.Duration; -import static org.junit.jupiter.api.Assertions.*; - public class MobileOptionsTest { private MobileOptions mobileOptions = new MobileOptions<>(); diff --git a/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java b/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java index 864dc7082..695783baf 100644 --- a/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java +++ b/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java @@ -1,5 +1,29 @@ package io.appium.java_client.service.local; +import static io.appium.java_client.TestResources.apiDemosApk; +import static io.appium.java_client.TestUtils.getLocalIp4Address; +import static io.appium.java_client.service.local.AppiumDriverLocalService.buildDefaultService; +import static io.appium.java_client.service.local.AppiumServiceBuilder.APPIUM_PATH; +import static io.appium.java_client.service.local.AppiumServiceBuilder.BROADCAST_IP_ADDRESS; +import static io.appium.java_client.service.local.AppiumServiceBuilder.DEFAULT_APPIUM_PORT; +import static io.appium.java_client.service.local.flags.GeneralServerFlag.BASEPATH; +import static io.appium.java_client.service.local.flags.GeneralServerFlag.CALLBACK_ADDRESS; +import static io.appium.java_client.service.local.flags.GeneralServerFlag.SESSION_OVERRIDE; +import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; +import static java.lang.System.getProperty; +import static java.lang.System.setProperty; +import static java.nio.file.FileSystems.getDefault; +import static java.util.Arrays.asList; +import static java.util.Optional.ofNullable; +import static java.util.concurrent.TimeUnit.SECONDS; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThan; +import static org.hamcrest.Matchers.is; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.common.collect.ImmutableMap; import io.appium.java_client.android.options.UiAutomator2Options; import io.github.bonigarcia.wdm.WebDriverManager; @@ -15,23 +39,6 @@ import java.util.ArrayList; import java.util.List; -import static io.appium.java_client.TestResources.apiDemosApk; -import static io.appium.java_client.TestUtils.getLocalIp4Address; -import static io.appium.java_client.service.local.AppiumDriverLocalService.buildDefaultService; -import static io.appium.java_client.service.local.AppiumServiceBuilder.*; -import static io.appium.java_client.service.local.flags.GeneralServerFlag.*; -import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; -import static java.lang.System.getProperty; -import static java.lang.System.setProperty; -import static java.nio.file.FileSystems.getDefault; -import static java.util.Arrays.asList; -import static java.util.Optional.ofNullable; -import static java.util.concurrent.TimeUnit.SECONDS; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.greaterThan; -import static org.hamcrest.Matchers.is; -import static org.junit.jupiter.api.Assertions.*; - @SuppressWarnings("ResultOfMethodCallIgnored") public class ServerBuilderTest { diff --git a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java index fd718b405..1ef42e065 100644 --- a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java +++ b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java @@ -16,6 +16,12 @@ package io.appium.java_client.service.local; +import static io.appium.java_client.TestResources.apiDemosApk; +import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.remote.AutomationName; @@ -28,10 +34,6 @@ import java.time.Duration; -import static io.appium.java_client.TestResources.apiDemosApk; -import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; -import static org.junit.jupiter.api.Assertions.*; - public class StartingAppLocallyAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyIosTest.java b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyIosTest.java index 90b586d76..ec629f8ba 100644 --- a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyIosTest.java +++ b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyIosTest.java @@ -16,6 +16,12 @@ package io.appium.java_client.service.local; +import static io.appium.java_client.TestResources.uiCatalogAppZip; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.appium.java_client.ios.BaseIOSTest; import io.appium.java_client.ios.IOSDriver; import io.appium.java_client.ios.options.XCUITestOptions; @@ -27,9 +33,6 @@ import org.openqa.selenium.Capabilities; import org.openqa.selenium.Platform; -import static io.appium.java_client.TestResources.uiCatalogAppZip; -import static org.junit.jupiter.api.Assertions.*; - public class StartingAppLocallyIosTest { @Test public void startingIOSAppWithCapabilitiesOnlyTest() { diff --git a/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java b/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java index 2803184dc..cc71d99cc 100644 --- a/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java +++ b/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java @@ -1,8 +1,10 @@ package io.appium.java_client.service.local; -import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; public class ThreadSafetyTest { diff --git a/src/test/java/io/appium/java_client/touch/DummyElement.java b/src/test/java/io/appium/java_client/touch/DummyElement.java index 62e1fbb12..e4fca9997 100644 --- a/src/test/java/io/appium/java_client/touch/DummyElement.java +++ b/src/test/java/io/appium/java_client/touch/DummyElement.java @@ -1,11 +1,6 @@ package io.appium.java_client.touch; -import org.openqa.selenium.By; -import org.openqa.selenium.Dimension; -import org.openqa.selenium.OutputType; -import org.openqa.selenium.Point; -import org.openqa.selenium.Rectangle; -import org.openqa.selenium.WebElement; +import org.openqa.selenium.*; import org.openqa.selenium.remote.RemoteWebElement; import java.util.List; diff --git a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java index 843fe5a6d..cd0b45d01 100644 --- a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java +++ b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java @@ -1,16 +1,5 @@ package io.appium.java_client.touch; -import io.appium.java_client.touch.offset.ElementOption; -import io.appium.java_client.touch.offset.PointOption; -import org.junit.jupiter.api.Test; -import org.openqa.selenium.Point; -import org.openqa.selenium.remote.RemoteWebElement; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import static io.appium.java_client.touch.FailsWithMatcher.failsWith; import static io.appium.java_client.touch.LongPressOptions.longPressOptions; import static io.appium.java_client.touch.TapOptions.tapOptions; @@ -26,6 +15,17 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.fail; +import io.appium.java_client.touch.offset.ElementOption; +import io.appium.java_client.touch.offset.PointOption; +import org.junit.jupiter.api.Test; +import org.openqa.selenium.Point; +import org.openqa.selenium.remote.RemoteWebElement; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + public class TouchOptionsTests { private static final RemoteWebElement DUMMY_ELEMENT = new DummyElement(); From 9c12104385bd8f7a7b4b4adbf7043c6ded6c6f0c Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Mon, 25 Jul 2022 19:36:10 +0530 Subject: [PATCH 05/23] refactor!: Removed unwanted test methods --- .../java_client/touch/TouchOptionsTests.java | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java index cd0b45d01..9676ae63f 100644 --- a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java +++ b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java @@ -12,11 +12,8 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.in; import static org.hamcrest.Matchers.is; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.fail; import io.appium.java_client.touch.offset.ElementOption; -import io.appium.java_client.touch.offset.PointOption; import org.junit.jupiter.api.Test; import org.openqa.selenium.Point; import org.openqa.selenium.remote.RemoteWebElement; @@ -29,24 +26,6 @@ public class TouchOptionsTests { private static final RemoteWebElement DUMMY_ELEMENT = new DummyElement(); - @Test - public void invalidEmptyPointOptionsShouldFailOnBuild() { - assertThrows(IllegalArgumentException.class, - () -> { - new PointOption<>().build(); - fail("The exception throwing was expected"); - }); - } - - @Test - public void invalidEmptyElementOptionsShouldFailOnBuild() { - assertThrows(IllegalArgumentException.class, - () -> { - new ElementOption().build(); - fail("The exception throwing was expected"); - }); - } - @Test public void invalidOptionsArgumentsShouldFailOnAltering() { final List invalidOptions = new ArrayList<>(); From e90492603a24b6c48e8e36744d9414d5f7169756 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Mon, 25 Jul 2022 23:07:00 +0530 Subject: [PATCH 06/23] refactor!: Fixed Formatter --- .../io/appium/java_client/TestResources.java | 4 +- .../java/io/appium/java_client/TestUtils.java | 6 +- .../AndroidAbilityToUseSupplierTest.java | 20 +++--- .../android/AndroidActivityTest.java | 25 +++----- .../android/AndroidDataMatcherTest.java | 8 +-- .../android/AndroidElementTest.java | 40 ++++++------ .../android/AndroidLogcatListenerTest.java | 2 +- .../android/AndroidSearchingTest.java | 22 +++---- .../java_client/android/AndroidTouchTest.java | 41 +++++-------- .../android/AndroidViewMatcherTest.java | 8 +-- .../java_client/android/BaseEspressoTest.java | 12 ++-- .../java_client/android/FingerPrintTest.java | 8 +-- .../android/ImagesComparisonTest.java | 9 ++- .../java_client/android/IntentTest.java | 14 ++--- .../java_client/android/LogEventTest.java | 8 +-- .../java_client/android/SettingTest.java | 61 ++++++++----------- .../drivers/options/OptionsBuildingTest.java | 4 +- .../events/stubs/EmptyWebDriver.java | 24 ++++++-- .../events/stubs/StubWebElement.java | 9 ++- .../appium/java_client/ios/IOSTouchTest.java | 10 ++- .../java_client/ios/IOSWebViewTest.java | 4 +- .../java_client/ios/ImagesComparisonTest.java | 9 ++- .../appium/java_client/ios/RotationTest.java | 9 +-- .../appium/java_client/ios/SettingTest.java | 58 +++++++----------- .../widget/tests/AbstractStubWebDriver.java | 8 ++- .../widget/tests/DefaultStubWidget.java | 1 + .../widget/tests/StubWebElement.java | 10 ++- .../tests/windows/DefaultWindowsWidget.java | 4 +- .../java_client/touch/DummyElement.java | 7 ++- 29 files changed, 221 insertions(+), 224 deletions(-) diff --git a/src/test/java/io/appium/java_client/TestResources.java b/src/test/java/io/appium/java_client/TestResources.java index 3e230fd2e..9d188fb58 100644 --- a/src/test/java/io/appium/java_client/TestResources.java +++ b/src/test/java/io/appium/java_client/TestResources.java @@ -1,9 +1,9 @@ package io.appium.java_client; -import static io.appium.java_client.TestUtils.resourcePathToLocalPath; - import java.nio.file.Path; +import static io.appium.java_client.TestUtils.resourcePathToLocalPath; + public class TestResources { public static Path apiDemosApk() { return resourcePathToLocalPath("apps/ApiDemos-debug.apk"); diff --git a/src/test/java/io/appium/java_client/TestUtils.java b/src/test/java/io/appium/java_client/TestUtils.java index f5b2a5894..f2ed2792e 100644 --- a/src/test/java/io/appium/java_client/TestUtils.java +++ b/src/test/java/io/appium/java_client/TestUtils.java @@ -7,7 +7,11 @@ import javax.annotation.Nullable; import java.io.IOException; -import java.net.*; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.SocketException; +import java.net.URL; +import java.net.UnknownHostException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; diff --git a/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java b/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java index 6aa667014..38fa40b93 100644 --- a/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidAbilityToUseSupplierTest.java @@ -26,8 +26,8 @@ public class AndroidAbilityToUseSupplierTest extends BaseAndroidTest { Point location = gallery.getLocation(); Point center = getCenter(gallery, location); - ElementOption pressOption = element(images.get(2), -10, center.y - location.y); - ElementOption moveOption = element(gallery, 10, center.y - location.y); + ElementOption pressOption = element(images.get(2),-10,center.y - location.y); + ElementOption moveOption = element(gallery, 10,center.y - location.y); return new AndroidTouchAction(driver) .press(pressOption) @@ -37,16 +37,15 @@ public class AndroidAbilityToUseSupplierTest extends BaseAndroidTest { }; private final ActionSupplier verticalSwiping = () -> - new AndroidTouchAction(driver) - .press(element(driver.findElement(AppiumBy.accessibilityId("Gallery")))) + new AndroidTouchAction(driver) + .press(element(driver.findElement(AppiumBy.accessibilityId("Gallery")))) - .waitAction(waitOptions(ofSeconds(2))) + .waitAction(waitOptions(ofSeconds(2))) - .moveTo(element(driver.findElement(AppiumBy.accessibilityId("Auto Complete")))) - .release(); + .moveTo(element(driver.findElement(AppiumBy.accessibilityId("Auto Complete")))) + .release(); - @Test - public void horizontalSwipingWithSupplier() { + @Test public void horizontalSwipingWithSupplier() { Activity activity = new Activity("io.appium.android.apis", ".view.Gallery1"); driver.startActivity(activity); WebElement gallery = driver.findElement(By.id("io.appium.android.apis:id/gallery")); @@ -59,8 +58,7 @@ public void horizontalSwipingWithSupplier() { gallery.findElements(AppiumBy.className("android.widget.ImageView")).size()); } - @Test - public void verticalSwipingWithSupplier() throws Exception { + @Test public void verticalSwipingWithSupplier() throws Exception { driver.resetApp(); driver.findElement(AppiumBy.accessibilityId("Views")).click(); diff --git a/src/test/java/io/appium/java_client/android/AndroidActivityTest.java b/src/test/java/io/appium/java_client/android/AndroidActivityTest.java index 1a5b4bc87..86377ac11 100644 --- a/src/test/java/io/appium/java_client/android/AndroidActivityTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidActivityTest.java @@ -25,34 +25,30 @@ public class AndroidActivityTest extends BaseAndroidTest { - @BeforeEach - public void setUp() { + @BeforeEach public void setUp() { Activity activity = new Activity("io.appium.android.apis", ".ApiDemos"); driver.startActivity(activity); } - @Test - public void startActivityInThisAppTestCase() { + @Test public void startActivityInThisAppTestCase() { Activity activity = new Activity("io.appium.android.apis", - ".accessibility.AccessibilityNodeProviderActivity"); + ".accessibility.AccessibilityNodeProviderActivity"); driver.startActivity(activity); assertEquals(driver.currentActivity(), - ".accessibility.AccessibilityNodeProviderActivity"); + ".accessibility.AccessibilityNodeProviderActivity"); } - @Test - public void startActivityWithWaitingAppTestCase() { + @Test public void startActivityWithWaitingAppTestCase() { final Activity activity = new Activity("io.appium.android.apis", - ".accessibility.AccessibilityNodeProviderActivity") + ".accessibility.AccessibilityNodeProviderActivity") .setAppWaitPackage("io.appium.android.apis") .setAppWaitActivity(".accessibility.AccessibilityNodeProviderActivity"); driver.startActivity(activity); assertEquals(driver.currentActivity(), - ".accessibility.AccessibilityNodeProviderActivity"); + ".accessibility.AccessibilityNodeProviderActivity"); } - @Test - public void startActivityInNewAppTestCase() { + @Test public void startActivityInNewAppTestCase() { Activity activity = new Activity("com.android.settings", ".Settings"); driver.startActivity(activity); assertEquals(driver.currentActivity(), ".Settings"); @@ -60,10 +56,9 @@ public void startActivityInNewAppTestCase() { assertEquals(driver.currentActivity(), ".ApiDemos"); } - @Test - public void startActivityInNewAppTestCaseWithoutClosingApp() { + @Test public void startActivityInNewAppTestCaseWithoutClosingApp() { Activity activity = new Activity("io.appium.android.apis", - ".accessibility.AccessibilityNodeProviderActivity"); + ".accessibility.AccessibilityNodeProviderActivity"); driver.startActivity(activity); assertEquals(driver.currentActivity(), ".accessibility.AccessibilityNodeProviderActivity"); diff --git a/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java b/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java index 67b856221..2160c07de 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java @@ -34,15 +34,15 @@ public class AndroidDataMatcherTest extends BaseEspressoTest { public void testFindByDataMatcher() { final WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10)); wait.until(ExpectedConditions - .elementToBeClickable(AppiumBy.accessibilityId("Graphics"))); + .elementToBeClickable(AppiumBy.accessibilityId("Graphics"))); driver.findElement(AppiumBy.accessibilityId("Graphics")).click(); String selector = new Json().toJson(ImmutableMap.of( - "name", "hasEntry", - "args", ImmutableList.of("title", "Sweep") + "name", "hasEntry", + "args", ImmutableList.of("title", "Sweep") )); assertNotNull(wait.until(ExpectedConditions - .presenceOfElementLocated(AppiumBy.androidDataMatcher(selector)))); + .presenceOfElementLocated(AppiumBy.androidDataMatcher(selector)))); } } diff --git a/src/test/java/io/appium/java_client/android/AndroidElementTest.java b/src/test/java/io/appium/java_client/android/AndroidElementTest.java index ca345627a..8ce9fd2fc 100644 --- a/src/test/java/io/appium/java_client/android/AndroidElementTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidElementTest.java @@ -29,42 +29,38 @@ public class AndroidElementTest extends BaseAndroidTest { - @BeforeEach - public void setup() { + @BeforeEach public void setup() { Activity activity = new Activity("io.appium.android.apis", ".ApiDemos"); driver.startActivity(activity); } - @Test - public void findByAccessibilityIdTest() { + @Test public void findByAccessibilityIdTest() { assertNotEquals(driver.findElement(By.id("android:id/content")) - .findElement(AppiumBy.accessibilityId("Graphics")).getText(), null); + .findElement(AppiumBy.accessibilityId("Graphics")).getText(), null); assertEquals(driver.findElement(By.id("android:id/content")) - .findElements(AppiumBy.accessibilityId("Graphics")).size(), 1); + .findElements(AppiumBy.accessibilityId("Graphics")).size(), 1); } - @Test - public void findByAndroidUIAutomatorTest() { + @Test public void findByAndroidUIAutomatorTest() { assertNotEquals(driver.findElement(By.id("android:id/content")) - .findElement(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).getText(), null); + .findElement(AppiumBy + .androidUIAutomator("new UiSelector().clickable(true)")).getText(), null); assertNotEquals(driver.findElement(By.id("android:id/content")) - .findElements(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).size(), 0); + .findElements(AppiumBy + .androidUIAutomator("new UiSelector().clickable(true)")).size(), 0); assertNotEquals(driver.findElement(By.id("android:id/content")) - .findElements(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).size(), 1); + .findElements(AppiumBy + .androidUIAutomator("new UiSelector().clickable(true)")).size(), 1); } - @Test - public void replaceValueTest() { + @Test public void replaceValueTest() { String originalValue = "original value"; Activity activity = new Activity("io.appium.android.apis", ".view.Controls1"); driver.startActivity(activity); WebElement editElement = driver - .findElement(AppiumBy.androidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")")); + .findElement(AppiumBy.androidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")")); editElement.sendKeys(originalValue); assertEquals(originalValue, editElement.getText()); String replacedValue = "replaced value"; @@ -72,25 +68,23 @@ public void replaceValueTest() { assertEquals(replacedValue, editElement.getText()); } - @Test - public void scrollingToSubElement() { + @Test public void scrollingToSubElement() { driver.findElement(AppiumBy.accessibilityId("Views")).click(); WebElement list = driver.findElement(By.id("android:id/list")); WebElement radioGroup = list .findElement(AppiumBy .androidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView(" - + "new UiSelector().text(\"Radio Group\"));")); + + "new UiSelector().text(\"Radio Group\"));")); assertNotNull(radioGroup.getLocation()); } - @Test - public void setValueTest() { + @Test public void setValueTest() { String value = "new value"; Activity activity = new Activity("io.appium.android.apis", ".view.Controls1"); driver.startActivity(activity); WebElement editElement = driver - .findElement(AppiumBy.androidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")")); + .findElement(AppiumBy.androidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")")); editElement.sendKeys(value); assertEquals(value, editElement.getText()); } diff --git a/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java b/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java index f87912d6c..f1045c8cf 100644 --- a/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidLogcatListenerTest.java @@ -27,7 +27,7 @@ public void verifyLogcatListenerCanBeAssigned() { driver.runAppInBackground(Duration.ofSeconds(1)); assertTrue(messageSemaphore.tryAcquire(timeout.toMillis(), TimeUnit.MILLISECONDS), String.format("Didn't receive any log message after %s timeout", - DurationFormatUtils.formatDuration(timeout.toMillis(), "H:mm:ss", true))); + DurationFormatUtils.formatDuration(timeout.toMillis(), "H:mm:ss", true))); } catch (InterruptedException e) { throw new IllegalStateException(e); } finally { diff --git a/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java b/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java index b9c23bc42..262b50c61 100644 --- a/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidSearchingTest.java @@ -34,39 +34,35 @@ public void setup() { driver.startActivity(activity); } - @Test - public void findByAccessibilityIdTest() { + @Test public void findByAccessibilityIdTest() { assertNotEquals(driver.findElement(AppiumBy.accessibilityId("Graphics")).getText(), null); assertEquals(driver.findElements(AppiumBy.accessibilityId("Graphics")).size(), 1); } - @Test - public void findByAndroidUIAutomatorTest() { + @Test public void findByAndroidUIAutomatorTest() { assertNotEquals(driver .findElement(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).getText(), null); + .androidUIAutomator("new UiSelector().clickable(true)")).getText(), null); assertNotEquals(driver .findElements(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).size(), 0); + .androidUIAutomator("new UiSelector().clickable(true)")).size(), 0); assertNotEquals(driver .findElements(AppiumBy - .androidUIAutomator("new UiSelector().clickable(true)")).size(), 1); + .androidUIAutomator("new UiSelector().clickable(true)")).size(), 1); } - @Test - public void findByXPathTest() { + @Test public void findByXPathTest() { By byXPath = By.xpath("//android.widget.TextView[contains(@text, 'Animat')]"); assertNotNull(driver.findElement(byXPath).getText()); assertEquals(driver.findElements(byXPath).size(), 1); } - @Test - public void findScrollable() { + @Test public void findScrollable() { driver.findElement(AppiumBy.accessibilityId("Views")).click(); WebElement radioGroup = driver .findElement(AppiumBy.androidUIAutomator("new UiScrollable(new UiSelector()" - + ".resourceId(\"android:id/list\")).scrollIntoView(" - + "new UiSelector().text(\"Radio Group\"));")); + + ".resourceId(\"android:id/list\")).scrollIntoView(" + + "new UiSelector().text(\"Radio Group\"));")); assertNotNull(radioGroup.getLocation()); } } diff --git a/src/test/java/io/appium/java_client/android/AndroidTouchTest.java b/src/test/java/io/appium/java_client/android/AndroidTouchTest.java index e7d8d63b5..958da3140 100644 --- a/src/test/java/io/appium/java_client/android/AndroidTouchTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidTouchTest.java @@ -13,6 +13,7 @@ import io.appium.java_client.AppiumBy; import io.appium.java_client.MultiTouchAction; import io.appium.java_client.TouchAction; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.By; @@ -28,8 +29,7 @@ public void setUp() { driver.resetApp(); } - @Test - public void dragNDropByElementTest() { + @Test public void dragNDropByElementTest() { Activity activity = new Activity("io.appium.android.apis", ".view.DragAndDropDemo"); driver.startActivity(activity); WebElement dragDot1 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_1")); @@ -39,15 +39,14 @@ public void dragNDropByElementTest() { assertEquals("Drag text not empty", "", dragText.getText()); TouchAction dragNDrop = new TouchAction(driver) - .longPress(element(dragDot1)) - .moveTo(element(dragDot3)) - .release(); + .longPress(element(dragDot1)) + .moveTo(element(dragDot3)) + .release(); dragNDrop.perform(); assertNotEquals("Drag text empty", "", dragText.getText()); } - @Test - public void dragNDropByElementAndDurationTest() { + @Test public void dragNDropByElementAndDurationTest() { Activity activity = new Activity("io.appium.android.apis", ".view.DragAndDropDemo"); driver.startActivity(activity); WebElement dragDot1 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_1")); @@ -66,8 +65,7 @@ public void dragNDropByElementAndDurationTest() { assertNotEquals("Drag text empty", "", dragText.getText()); } - @Test - public void dragNDropByCoordinatesTest() { + @Test public void dragNDropByCoordinatesTest() { Activity activity = new Activity("io.appium.android.apis", ".view.DragAndDropDemo"); driver.startActivity(activity); WebElement dragDot1 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_1")); @@ -87,8 +85,7 @@ public void dragNDropByCoordinatesTest() { assertNotEquals("Drag text empty", "", dragText.getText()); } - @Test - public void dragNDropByCoordinatesAndDurationTest() { + @Test public void dragNDropByCoordinatesAndDurationTest() { Activity activity = new Activity("io.appium.android.apis", ".view.DragAndDropDemo"); driver.startActivity(activity); WebElement dragDot1 = driver.findElement(By.id("io.appium.android.apis:id/drag_dot_1")); @@ -110,8 +107,7 @@ public void dragNDropByCoordinatesAndDurationTest() { assertNotEquals("Drag text empty", "", dragText.getText()); } - @Test - public void pressByCoordinatesTest() { + @Test public void pressByCoordinatesTest() { Activity activity = new Activity("io.appium.android.apis", ".view.Buttons1"); driver.startActivity(activity); Point point = driver.findElement(By.id("io.appium.android.apis:id/button_toggle")).getLocation(); @@ -123,8 +119,7 @@ public void pressByCoordinatesTest() { assertEquals("ON", driver.findElement(By.id("io.appium.android.apis:id/button_toggle")).getText()); } - @Test - public void pressByElementTest() { + @Test public void pressByElementTest() { Activity activity = new Activity("io.appium.android.apis", ".view.Buttons1"); driver.startActivity(activity); new TouchAction(driver) @@ -135,8 +130,7 @@ public void pressByElementTest() { assertEquals("ON", driver.findElement(By.id("io.appium.android.apis:id/button_toggle")).getText()); } - @Test - public void tapActionTestByElement() throws Exception { + @Test public void tapActionTestByElement() throws Exception { Activity activity = new Activity("io.appium.android.apis", ".view.ChronometerDemo"); driver.startActivity(activity); WebElement chronometer = driver.findElement(By.id("io.appium.android.apis:id/chronometer")); @@ -154,8 +148,7 @@ public void tapActionTestByElement() throws Exception { assertEquals(time, chronometer.getText()); } - @Test - public void tapActionTestByCoordinates() throws Exception { + @Test public void tapActionTestByCoordinates() throws Exception { Activity activity = new Activity("io.appium.android.apis", ".view.ChronometerDemo"); driver.startActivity(activity); WebElement chronometer = driver.findElement(By.id("io.appium.android.apis:id/chronometer")); @@ -173,8 +166,7 @@ public void tapActionTestByCoordinates() throws Exception { assertEquals(time, chronometer.getText()); } - @Test - public void horizontalSwipingTest() { + @Test public void horizontalSwipingTest() { Activity activity = new Activity("io.appium.android.apis", ".view.Gallery1"); driver.startActivity(activity); @@ -185,17 +177,16 @@ public void horizontalSwipingTest() { Point center = getCenter(gallery); TouchAction swipe = new TouchAction(driver) - .press(element(images.get(2), -10, center.y - location.y)) + .press(element(images.get(2),-10, center.y - location.y)) .waitAction(waitOptions(ofSeconds(2))) - .moveTo(element(gallery, 10, center.y - location.y)) + .moveTo(element(gallery,10,center.y - location.y)) .release(); swipe.perform(); assertNotEquals(originalImageCount, gallery.findElements(AppiumBy.className("android.widget.ImageView")).size()); } - @Test - public void multiTouchTest() { + @Test public void multiTouchTest() { Activity activity = new Activity("io.appium.android.apis", ".view.Buttons1"); driver.startActivity(activity); TouchAction press = new TouchAction(driver) diff --git a/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java b/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java index a36768f42..8f23d0ced 100644 --- a/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java @@ -33,12 +33,12 @@ public class AndroidViewMatcherTest extends BaseEspressoTest { @Test public void testFindByViewMatcher() { String selector = new Json().toJson(ImmutableMap.of( - "name", "withText", - "args", ImmutableList.of("Animation"), - "class", "androidx.test.espresso.matcher.ViewMatchers" + "name", "withText", + "args", ImmutableList.of("Animation"), + "class", "androidx.test.espresso.matcher.ViewMatchers" )); final WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10)); assertNotNull(wait.until(ExpectedConditions - .presenceOfElementLocated(AppiumBy.androidViewMatcher(selector)))); + .presenceOfElementLocated(AppiumBy.androidViewMatcher(selector)))); } } diff --git a/src/test/java/io/appium/java_client/android/BaseEspressoTest.java b/src/test/java/io/appium/java_client/android/BaseEspressoTest.java index 356a367d5..cfc690021 100644 --- a/src/test/java/io/appium/java_client/android/BaseEspressoTest.java +++ b/src/test/java/io/appium/java_client/android/BaseEspressoTest.java @@ -16,14 +16,14 @@ package io.appium.java_client.android; -import static io.appium.java_client.TestResources.apiDemosApk; - import io.appium.java_client.android.options.EspressoOptions; import io.appium.java_client.service.local.AppiumDriverLocalService; import io.appium.java_client.service.local.AppiumServerHasNotBeenStartedLocallyException; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; +import static io.appium.java_client.TestResources.apiDemosApk; + public class BaseEspressoTest { private static AppiumDriverLocalService service; @@ -32,14 +32,13 @@ public class BaseEspressoTest { /** * initialization. */ - @BeforeAll - public static void beforeClass() { + @BeforeAll public static void beforeClass() { service = AppiumDriverLocalService.buildDefaultService(); service.start(); if (service == null || !service.isRunning()) { throw new AppiumServerHasNotBeenStartedLocallyException( - "An appium server node is not started!"); + "An appium server node is not started!"); } EspressoOptions options = new EspressoOptions() @@ -52,8 +51,7 @@ public static void beforeClass() { /** * finishing. */ - @AfterAll - public static void afterClass() { + @AfterAll public static void afterClass() { if (driver != null) { driver.quit(); } diff --git a/src/test/java/io/appium/java_client/android/FingerPrintTest.java b/src/test/java/io/appium/java_client/android/FingerPrintTest.java index 39b19bd28..2dbed763f 100644 --- a/src/test/java/io/appium/java_client/android/FingerPrintTest.java +++ b/src/test/java/io/appium/java_client/android/FingerPrintTest.java @@ -43,8 +43,7 @@ private static void initDriver() { /** * initialization. */ - @BeforeAll - public static void beforeClass() { + @BeforeAll public static void beforeClass() { service = AppiumDriverLocalService.buildDefaultService(); service.start(); @@ -56,8 +55,7 @@ public static void beforeClass() { /** * finishing. */ - @AfterAll - public static void afterClass() { + @AfterAll public static void afterClass() { if (service != null) { service.stop(); } @@ -65,7 +63,7 @@ public static void afterClass() { private WebElement findElementByText(String text) { return driver.findElements(By.id("android:id/title")).stream().filter(androidElement -> - text.equals(androidElement.getText())).findFirst() + text.equals(androidElement.getText())).findFirst() .orElseThrow(() -> new NoSuchElementException(String.format("There is no element with the text '%s'", text))); } diff --git a/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java b/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java index bc596b2ca..adc8795ea 100644 --- a/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java +++ b/src/test/java/io/appium/java_client/android/ImagesComparisonTest.java @@ -22,7 +22,14 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; -import io.appium.java_client.imagecomparison.*; +import io.appium.java_client.imagecomparison.FeatureDetector; +import io.appium.java_client.imagecomparison.FeaturesMatchingOptions; +import io.appium.java_client.imagecomparison.FeaturesMatchingResult; +import io.appium.java_client.imagecomparison.MatchingFunction; +import io.appium.java_client.imagecomparison.OccurrenceMatchingOptions; +import io.appium.java_client.imagecomparison.OccurrenceMatchingResult; +import io.appium.java_client.imagecomparison.SimilarityMatchingOptions; +import io.appium.java_client.imagecomparison.SimilarityMatchingResult; import org.apache.commons.codec.binary.Base64; import org.junit.jupiter.api.Test; import org.openqa.selenium.OutputType; diff --git a/src/test/java/io/appium/java_client/android/IntentTest.java b/src/test/java/io/appium/java_client/android/IntentTest.java index ac18ebcaa..a25e6a0bf 100644 --- a/src/test/java/io/appium/java_client/android/IntentTest.java +++ b/src/test/java/io/appium/java_client/android/IntentTest.java @@ -20,8 +20,7 @@ public class IntentTest { /** * initialization. */ - @BeforeAll - public static void beforeClass() { + @BeforeAll public static void beforeClass() { service = AppiumDriverLocalService.buildDefaultService(); service.start(); @@ -38,8 +37,7 @@ public static void beforeClass() { /** * finishing. */ - @AfterAll - public static void afterClass() { + @AfterAll public static void afterClass() { if (driver != null) { driver.quit(); } @@ -49,8 +47,7 @@ public static void afterClass() { } - @Test - public void startActivityWithIntent() { + @Test public void startActivityWithIntent() { Predicate predicate = driver -> { Activity activity = new Activity("com.android.mms", ".ui.ComposeMessageActivity") @@ -65,8 +62,7 @@ public void startActivityWithIntent() { } - @Test - public void startActivityWithDefaultIntentAndDefaultCategoryWithOptionalArgs() { + @Test public void startActivityWithDefaultIntentAndDefaultCategoryWithOptionalArgs() { final Activity activity = new Activity("com.prgguru.android", ".GreetingActivity") .setIntentAction("android.intent.action.MAIN") .setIntentCategory("android.intent.category.DEFAULT") @@ -74,6 +70,6 @@ public void startActivityWithDefaultIntentAndDefaultCategoryWithOptionalArgs() { .setOptionalIntentArguments("--es \"USERNAME\" \"AppiumIntentTest\" -t \"text/plain\""); driver.startActivity(activity); assertEquals(driver.findElement(By.id("com.prgguru.android:id/textView1")).getText(), - "Welcome AppiumIntentTest"); + "Welcome AppiumIntentTest"); } } diff --git a/src/test/java/io/appium/java_client/android/LogEventTest.java b/src/test/java/io/appium/java_client/android/LogEventTest.java index 09fcd9f0b..a473fbe32 100644 --- a/src/test/java/io/appium/java_client/android/LogEventTest.java +++ b/src/test/java/io/appium/java_client/android/LogEventTest.java @@ -21,8 +21,8 @@ import io.appium.java_client.serverevents.CommandEvent; import io.appium.java_client.serverevents.CustomEvent; -import io.appium.java_client.serverevents.ServerEvents; import io.appium.java_client.serverevents.TimedEvent; +import io.appium.java_client.serverevents.ServerEvents; import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; @@ -36,11 +36,11 @@ public void verifyLoggingCustomEvents() { driver.logEvent(evt); ServerEvents events = driver.getEvents(); boolean hasCustomEvent = events.events.stream().anyMatch((TimedEvent event) -> - event.name.equals("appium:funEvent") && - event.occurrences.get(0).intValue() > 0 + event.name.equals("appium:funEvent") && + event.occurrences.get(0).intValue() > 0 ); boolean hasCommandName = events.commands.stream().anyMatch((CommandEvent event) -> - event.name.equals("logCustomEvent") + event.name.equals("logCustomEvent") ); assertTrue(hasCustomEvent); assertTrue(hasCommandName); diff --git a/src/test/java/io/appium/java_client/android/SettingTest.java b/src/test/java/io/appium/java_client/android/SettingTest.java index 69ff76638..fcbc3d2fe 100644 --- a/src/test/java/io/appium/java_client/android/SettingTest.java +++ b/src/test/java/io/appium/java_client/android/SettingTest.java @@ -12,8 +12,7 @@ public class SettingTest extends BaseAndroidTest { - @Test - public void ignoreUnimportantViewsTest() { + @Test public void ignoreUnimportantViewsTest() { driver.ignoreUnimportantViews(true); assertEquals(true, driver.getSettings() .get(Setting.IGNORE_UNIMPORTANT_VIEWS.toString())); @@ -23,8 +22,7 @@ public void ignoreUnimportantViewsTest() { .get(Setting.IGNORE_UNIMPORTANT_VIEWS.toString())); } - @Test - public void configuratorTest() { + @Test public void configuratorTest() { driver.configuratorSetActionAcknowledgmentTimeout(Duration.ofMillis(500)); assertJSONElementContains(Setting.WAIT_ACTION_ACKNOWLEDGMENT_TIMEOUT, 500); @@ -41,71 +39,63 @@ public void configuratorTest() { assertJSONElementContains(Setting.WAIT_FOR_SELECTOR_TIMEOUT, 1000); } - @Test - public void testNormalizeTagNames() { + @Test public void testNormalizeTagNames() { assertEquals(false, driver.getSettings() - .get(Setting.NORMALIZE_TAG_NAMES.toString())); + .get(Setting.NORMALIZE_TAG_NAMES.toString())); driver.normalizeTagNames(true); assertEquals(true, driver.getSettings() - .get(Setting.NORMALIZE_TAG_NAMES.toString())); + .get(Setting.NORMALIZE_TAG_NAMES.toString())); } - @Test - public void testSetShouldUseCompactResponses() { + @Test public void testSetShouldUseCompactResponses() { assertEquals(true, driver.getSettings() - .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); + .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); driver.setShouldUseCompactResponses(false); assertEquals(false, driver.getSettings() - .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); + .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); } - @Test - public void testSetElementResponseAttributes() { + @Test public void testSetElementResponseAttributes() { assertEquals("", driver.getSettings() - .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); + .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); driver.setElementResponseAttributes("type,label"); assertEquals("type,label", driver.getSettings() - .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); + .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); } - @Test - public void testAllowInvisibleElements() { + @Test public void testAllowInvisibleElements() { assertEquals(false, driver.getSettings() - .get(Setting.ALLOW_INVISIBLE_ELEMENTS.toString())); + .get(Setting.ALLOW_INVISIBLE_ELEMENTS.toString())); driver.allowInvisibleElements(true); assertEquals(true, driver.getSettings() - .get(Setting.ALLOW_INVISIBLE_ELEMENTS.toString())); + .get(Setting.ALLOW_INVISIBLE_ELEMENTS.toString())); } - @Test - public void testEnableNotificationListener() { + @Test public void testEnableNotificationListener() { assertEquals(true, driver.getSettings() - .get(Setting.ENABLE_NOTIFICATION_LISTENER.toString())); + .get(Setting.ENABLE_NOTIFICATION_LISTENER.toString())); driver.enableNotificationListener(false); assertEquals(false, driver.getSettings() - .get(Setting.ENABLE_NOTIFICATION_LISTENER.toString())); + .get(Setting.ENABLE_NOTIFICATION_LISTENER.toString())); } - @Test - public void testShutdownOnPowerDisconnect() { + @Test public void testShutdownOnPowerDisconnect() { assertEquals(true, driver.getSettings() - .get(Setting.SHUTDOWN_ON_POWER_DISCONNECT.toString())); + .get(Setting.SHUTDOWN_ON_POWER_DISCONNECT.toString())); driver.shutdownOnPowerDisconnect(false); assertEquals(false, driver.getSettings() - .get(Setting.SHUTDOWN_ON_POWER_DISCONNECT.toString())); + .get(Setting.SHUTDOWN_ON_POWER_DISCONNECT.toString())); } - @Test - public void testSetTrackScrollEvents() { + @Test public void testSetTrackScrollEvents() { assertEquals(true, driver.getSettings() - .get(Setting.TRACK_SCROLL_EVENTS.toString())); + .get(Setting.TRACK_SCROLL_EVENTS.toString())); driver.setTrackScrollEvents(false); assertEquals(false, driver.getSettings() - .get(Setting.TRACK_SCROLL_EVENTS.toString())); + .get(Setting.TRACK_SCROLL_EVENTS.toString())); } - @Test - public void testSettingByString() { + @Test public void testSettingByString() { assertEquals(true, driver.getSettings() .get("shouldUseCompactResponses")); driver.setSetting("shouldUseCompactResponses", false); @@ -116,8 +106,7 @@ public void testSettingByString() { .get("shouldUseCompactResponses")); } - @Test - public void setMultipleSettings() { + @Test public void setMultipleSettings() { EnumMap enumSettings = new EnumMap<>(Setting.class); enumSettings.put(Setting.IGNORE_UNIMPORTANT_VIEWS, true); enumSettings.put(Setting.ELEMENT_RESPONSE_ATTRIBUTES, "type,label"); diff --git a/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java b/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java index f878d917d..2473bcc33 100644 --- a/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java +++ b/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java @@ -112,7 +112,7 @@ public void canBuildEspressoOptions() { assertEquals(Duration.ofSeconds(10), options.getNewCommandTimeout().orElse(null)); assertEquals("CN", options.getAppLocale().orElse(null).getCountry().orElse(null)); assertEquals(2, options.getEspressoBuildConfig().orElse(null) - .left().getAdditionalAppDependencies().orElse(null).size()); + .left().getAdditionalAppDependencies().orElse(null).size()); assertTrue(options.doesForceEspressoRebuild().orElse(false)); } @@ -154,7 +154,7 @@ public void canBuildGeckoOptions() { options.setNewCommandTimeout(Duration.ofSeconds(10)) .setVerbosity(Verbosity.TRACE) .setMozFirefoxOptions(ImmutableMap.of( - "profile", "yolo" + "profile", "yolo" )); assertEquals(Duration.ofSeconds(10), options.getNewCommandTimeout().orElse(null)); assertEquals(Verbosity.TRACE, options.getVerbosity().orElse(null)); diff --git a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java index eb2fe21c1..ec57bedc0 100644 --- a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java +++ b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java @@ -17,7 +17,23 @@ package io.appium.java_client.events.stubs; import com.google.common.collect.ImmutableList; -import org.openqa.selenium.*; +import org.openqa.selenium.Alert; +import org.openqa.selenium.By; +import org.openqa.selenium.Capabilities; +import org.openqa.selenium.ContextAware; +import org.openqa.selenium.Cookie; +import org.openqa.selenium.DeviceRotation; +import org.openqa.selenium.HasCapabilities; +import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.NoSuchElementException; +import org.openqa.selenium.OutputType; +import org.openqa.selenium.Rotatable; +import org.openqa.selenium.ScreenOrientation; +import org.openqa.selenium.TakesScreenshot; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebDriverException; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.WindowType; import org.openqa.selenium.logging.Logs; import org.openqa.selenium.remote.DesiredCapabilities; @@ -108,15 +124,15 @@ public String getWindowHandle() { } public TargetLocator switchTo() { - return new EmptyWebDriver.StubTargetLocator(this); + return new StubTargetLocator(this); } public Navigation navigate() { - return new EmptyWebDriver.StubNavigation(); + return new StubNavigation(); } public Options manage() { - return new EmptyWebDriver.StubOptions(); + return new StubOptions(); } public Object executeScript(String script, Object... args) { diff --git a/src/test/java/io/appium/java_client/events/stubs/StubWebElement.java b/src/test/java/io/appium/java_client/events/stubs/StubWebElement.java index 6c9cb09d2..4be313211 100644 --- a/src/test/java/io/appium/java_client/events/stubs/StubWebElement.java +++ b/src/test/java/io/appium/java_client/events/stubs/StubWebElement.java @@ -17,10 +17,15 @@ package io.appium.java_client.events.stubs; import com.google.common.collect.ImmutableList; -import org.openqa.selenium.*; - import java.util.ArrayList; import java.util.List; +import org.openqa.selenium.By; +import org.openqa.selenium.Dimension; +import org.openqa.selenium.OutputType; +import org.openqa.selenium.Point; +import org.openqa.selenium.Rectangle; +import org.openqa.selenium.WebDriverException; +import org.openqa.selenium.WebElement; public class StubWebElement implements WebElement { public StubWebElement() { diff --git a/src/test/java/io/appium/java_client/ios/IOSTouchTest.java b/src/test/java/io/appium/java_client/ios/IOSTouchTest.java index c84f6e0d5..46a4d0474 100644 --- a/src/test/java/io/appium/java_client/ios/IOSTouchTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSTouchTest.java @@ -49,16 +49,15 @@ public void touchWithPressureTest() { WebElement e = driver.findElement(AppiumBy.accessibilityId("ComputeSumButton")); new IOSTouchAction(driver) .press(iosPressOptions() - .withElement(element(e)) - .withPressure(1)) + .withElement(element(e)) + .withPressure(1)) .waitAction(waitOptions(ofMillis(100))) .release() .perform(); assertEquals(driver.findElement(By.xpath("//*[@name = \"Answer\"]")).getText(), "6"); } - @Test - public void multiTouchTest() { + @Test public void multiTouchTest() { WebElement e = driver.findElement(AppiumBy.accessibilityId("ComputeSumButton")); WebElement e2 = driver.findElement(AppiumBy.accessibilityId("show alert")); @@ -72,8 +71,7 @@ public void multiTouchTest() { driver.switchTo().alert().accept(); } - @Test - public void doubleTapTest() { + @Test public void doubleTapTest() { WebElement firstField = driver.findElement(By.id("IntegerA")); firstField.sendKeys("2"); diff --git a/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java b/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java index a293e1383..d03f1acdc 100644 --- a/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSWebViewTest.java @@ -2,14 +2,14 @@ import static org.junit.jupiter.api.Assertions.assertTrue; +import java.time.Duration; + import io.appium.java_client.AppiumBy; import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; -import java.time.Duration; - public class IOSWebViewTest extends BaseIOSWebViewTest { private static final Duration LOOKUP_TIMEOUT = Duration.ofSeconds(30); diff --git a/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java b/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java index 0bccc0f34..ef52196b5 100644 --- a/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java +++ b/src/test/java/io/appium/java_client/ios/ImagesComparisonTest.java @@ -22,7 +22,14 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; -import io.appium.java_client.imagecomparison.*; +import io.appium.java_client.imagecomparison.FeatureDetector; +import io.appium.java_client.imagecomparison.FeaturesMatchingOptions; +import io.appium.java_client.imagecomparison.FeaturesMatchingResult; +import io.appium.java_client.imagecomparison.MatchingFunction; +import io.appium.java_client.imagecomparison.OccurrenceMatchingOptions; +import io.appium.java_client.imagecomparison.OccurrenceMatchingResult; +import io.appium.java_client.imagecomparison.SimilarityMatchingOptions; +import io.appium.java_client.imagecomparison.SimilarityMatchingResult; import org.apache.commons.codec.binary.Base64; import org.junit.jupiter.api.Test; import org.openqa.selenium.OutputType; diff --git a/src/test/java/io/appium/java_client/ios/RotationTest.java b/src/test/java/io/appium/java_client/ios/RotationTest.java index 4d9ce501c..21d177fff 100644 --- a/src/test/java/io/appium/java_client/ios/RotationTest.java +++ b/src/test/java/io/appium/java_client/ios/RotationTest.java @@ -24,20 +24,17 @@ public class RotationTest extends AppIOSTest { - @AfterEach - public void afterMethod() { + @AfterEach public void afterMethod() { driver.rotate(new DeviceRotation(0, 0, 0)); } - @Test - public void testLandscapeRightRotation() { + @Test public void testLandscapeRightRotation() { DeviceRotation landscapeRightRotation = new DeviceRotation(0, 0, 90); driver.rotate(landscapeRightRotation); assertEquals(driver.rotation(), landscapeRightRotation); } - @Test - public void testLandscapeLeftRotation() { + @Test public void testLandscapeLeftRotation() { DeviceRotation landscapeLeftRotation = new DeviceRotation(0, 0, 270); driver.rotate(landscapeLeftRotation); assertEquals(driver.rotation(), landscapeLeftRotation); diff --git a/src/test/java/io/appium/java_client/ios/SettingTest.java b/src/test/java/io/appium/java_client/ios/SettingTest.java index 49eabcd81..d8f80af66 100644 --- a/src/test/java/io/appium/java_client/ios/SettingTest.java +++ b/src/test/java/io/appium/java_client/ios/SettingTest.java @@ -16,86 +16,75 @@ package io.appium.java_client.ios; - import static org.junit.jupiter.api.Assertions.assertEquals; import io.appium.java_client.Setting; import org.junit.jupiter.api.Test; - import java.util.EnumMap; import java.util.HashMap; import java.util.Map; public class SettingTest extends AppIOSTest { - @Test - public void testSetShouldUseCompactResponses() { + @Test public void testSetShouldUseCompactResponses() { assertEquals(true, driver.getSettings() - .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); + .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); driver.setShouldUseCompactResponses(false); assertEquals(false, driver.getSettings() - .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); + .get(Setting.SHOULD_USE_COMPACT_RESPONSES.toString())); } - @Test - public void testSetElementResponseAttributes() { + @Test public void testSetElementResponseAttributes() { assertEquals("", driver.getSettings() - .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); + .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); driver.setElementResponseAttributes("type,label"); assertEquals("type,label", driver.getSettings() - .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); + .get(Setting.ELEMENT_RESPONSE_ATTRIBUTES.toString())); } - @Test - public void testSetMjpegServerScreenshotQuality() { + @Test public void testSetMjpegServerScreenshotQuality() { assertEquals(25L, driver.getSettings() - .get(Setting.MJPEG_SERVER_SCREENSHOT_QUALITY.toString())); + .get(Setting.MJPEG_SERVER_SCREENSHOT_QUALITY.toString())); driver.setMjpegServerScreenshotQuality(0); assertEquals(0L, driver.getSettings() - .get(Setting.MJPEG_SERVER_SCREENSHOT_QUALITY.toString())); + .get(Setting.MJPEG_SERVER_SCREENSHOT_QUALITY.toString())); } - @Test - public void testSetMjpegServerFramerate() { + @Test public void testSetMjpegServerFramerate() { assertEquals(10L, driver.getSettings() - .get(Setting.MJPEG_SERVER_FRAMERATE.toString())); + .get(Setting.MJPEG_SERVER_FRAMERATE.toString())); driver.setMjpegServerFramerate(60); assertEquals(60L, driver.getSettings() - .get(Setting.MJPEG_SERVER_FRAMERATE.toString())); + .get(Setting.MJPEG_SERVER_FRAMERATE.toString())); } - @Test - public void testSetScreenshotQuality() { + @Test public void testSetScreenshotQuality() { assertEquals(1L, driver.getSettings() - .get(Setting.SCREENSHOT_QUALITY.toString())); + .get(Setting.SCREENSHOT_QUALITY.toString())); driver.setScreenshotQuality(2); assertEquals(2L, driver.getSettings() - .get(Setting.SCREENSHOT_QUALITY.toString())); + .get(Setting.SCREENSHOT_QUALITY.toString())); } - @Test - public void testSetMjpegScalingFactor() { + @Test public void testSetMjpegScalingFactor() { driver.setMjpegScalingFactor(1); assertEquals(1L, driver.getSettings() - .get(Setting.MJPEG_SCALING_FACTOR.toString())); + .get(Setting.MJPEG_SCALING_FACTOR.toString())); } - @Test - public void testSetKeyboardAutocorrection() { + @Test public void testSetKeyboardAutocorrection() { driver.setKeyboardAutocorrection(true); assertEquals(true, driver.getSettings() - .get(Setting.KEYBOARD_AUTOCORRECTION.toString())); + .get(Setting.KEYBOARD_AUTOCORRECTION.toString())); } - @Test - public void testSetKeyboardPrediction() { + @Test public void testSetKeyboardPrediction() { driver.setKeyboardPrediction(true); assertEquals(true, driver.getSettings() - .get(Setting.KEYBOARD_PREDICTION.toString())); + .get(Setting.KEYBOARD_PREDICTION.toString())); } - @Test - public void testSettingByString() { + @Test public void testSettingByString() { assertEquals(true, driver.getSettings() .get("shouldUseCompactResponses")); driver.setSetting("shouldUseCompactResponses", false); @@ -106,8 +95,7 @@ public void testSettingByString() { .get("shouldUseCompactResponses")); } - @Test - public void setMultipleSettings() { + @Test public void setMultipleSettings() { EnumMap enumSettings = new EnumMap<>(Setting.class); enumSettings.put(Setting.IGNORE_UNIMPORTANT_VIEWS, true); enumSettings.put(Setting.ELEMENT_RESPONSE_ATTRIBUTES, "type,label"); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/AbstractStubWebDriver.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/AbstractStubWebDriver.java index 7563ec07b..bea245a99 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/AbstractStubWebDriver.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/AbstractStubWebDriver.java @@ -9,7 +9,13 @@ import static org.apache.commons.lang3.StringUtils.EMPTY; import io.appium.java_client.HasBrowserCheck; -import org.openqa.selenium.*; +import org.openqa.selenium.By; +import org.openqa.selenium.Capabilities; +import org.openqa.selenium.Cookie; +import org.openqa.selenium.HasCapabilities; +import org.openqa.selenium.ImmutableCapabilities; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; import org.openqa.selenium.logging.Logs; import org.openqa.selenium.remote.Response; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/DefaultStubWidget.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/DefaultStubWidget.java index 0e6bc08b7..e81022a57 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/DefaultStubWidget.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/DefaultStubWidget.java @@ -1,6 +1,7 @@ package io.appium.java_client.pagefactory_tests.widget.tests; import com.google.common.collect.ImmutableList; + import io.appium.java_client.pagefactory.Widget; import org.openqa.selenium.WebElement; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/StubWebElement.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/StubWebElement.java index 14e3bed79..cffb170fd 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/StubWebElement.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/StubWebElement.java @@ -3,7 +3,15 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.collect.ImmutableList.of; -import org.openqa.selenium.*; +import org.openqa.selenium.By; +import org.openqa.selenium.Dimension; +import org.openqa.selenium.OutputType; +import org.openqa.selenium.Point; +import org.openqa.selenium.Rectangle; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebDriverException; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.WrapsDriver; import java.util.List; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/DefaultWindowsWidget.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/DefaultWindowsWidget.java index 460d3f512..ab7b81a41 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/DefaultWindowsWidget.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/DefaultWindowsWidget.java @@ -11,11 +11,11 @@ public class DefaultWindowsWidget extends DefaultStubWidget { public static String WINDOWS_SUB_WIDGET_LOCATOR = "SOME_SUB_LOCATOR"; - @WindowsFindBy(windowsAutomation = "SOME_SUB_LOCATOR") + @WindowsFindBy(windowsAutomation = "SOME_SUB_LOCATOR") @iOSXCUITFindBy(iOSNsPredicate = "XCUIT_SOME_SUB_LOCATOR") private DefaultWindowsWidget singleWidget; - @WindowsFindBy(windowsAutomation = "SOME_SUB_LOCATOR") + @WindowsFindBy(windowsAutomation = "SOME_SUB_LOCATOR") @iOSXCUITFindBy(iOSNsPredicate = "XCUIT_SOME_SUB_LOCATOR") private List multipleWidgets; diff --git a/src/test/java/io/appium/java_client/touch/DummyElement.java b/src/test/java/io/appium/java_client/touch/DummyElement.java index e4fca9997..62e1fbb12 100644 --- a/src/test/java/io/appium/java_client/touch/DummyElement.java +++ b/src/test/java/io/appium/java_client/touch/DummyElement.java @@ -1,6 +1,11 @@ package io.appium.java_client.touch; -import org.openqa.selenium.*; +import org.openqa.selenium.By; +import org.openqa.selenium.Dimension; +import org.openqa.selenium.OutputType; +import org.openqa.selenium.Point; +import org.openqa.selenium.Rectangle; +import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.RemoteWebElement; import java.util.List; From 7fa1cb899df5596bcec26ba231546f952f7f5e46 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Tue, 26 Jul 2022 18:01:32 +0530 Subject: [PATCH 07/23] refactor!: Updated existing class specific check styles --- .../android/AndroidViewMatcherTest.java | 4 +- .../java_client/android/BaseAndroidTest.java | 11 +- .../java_client/android/BatteryTest.java | 3 +- .../java_client/android/ClipboardTest.java | 6 +- .../android/ExecuteCDPCommandTest.java | 7 +- .../android/ExecuteDriverScriptTest.java | 12 +- .../java_client/android/FingerPrintTest.java | 7 +- .../java_client/android/SettingTest.java | 4 +- .../drivers/options/OptionsBuildingTest.java | 10 +- .../java_client/events/EventsFiringTest.java | 6 +- .../io/appium/java_client/ios/AppIOSTest.java | 6 +- .../appium/java_client/ios/BaseIOSTest.java | 3 +- .../java_client/ios/BaseIOSWebViewTest.java | 4 +- .../java_client/ios/BaseSafariTest.java | 3 +- .../appium/java_client/ios/ClipboardTest.java | 3 +- .../java_client/ios/IOSAppStringsTest.java | 9 +- .../java_client/ios/IOSContextTest.java | 20 ++- .../appium/java_client/ios/IOSDriverTest.java | 30 ++-- .../java_client/ios/IOSElementTest.java | 3 +- .../ios/IOSNativeWebTapSettingTest.java | 4 +- .../java_client/ios/IOSSearchingTest.java | 12 +- .../appium/java_client/ios/SettingTest.java | 4 +- .../AndroidPageObjectTest.java | 128 +++++++----------- .../DesktopBrowserCompatibilityTest.java | 9 +- .../MobileBrowserCompatibilityTest.java | 4 +- .../pagefactory_tests/TimeoutTest.java | 11 +- .../pagefactory_tests/XCUITModeTest.java | 36 ++--- .../tests/combined/CombinedAppTest.java | 14 +- .../tests/combined/CombinedWidgetTest.java | 20 +-- .../java_client/remote/MobileOptionsTest.java | 8 +- .../service/local/ServerBuilderTest.java | 2 +- .../local/StartingAppLocallyAndroidTest.java | 12 +- .../service/local/ThreadSafetyTest.java | 20 ++- .../java_client/touch/TouchOptionsTests.java | 14 ++ 34 files changed, 202 insertions(+), 247 deletions(-) diff --git a/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java b/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java index 8f23d0ced..852723694 100644 --- a/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidViewMatcherTest.java @@ -16,8 +16,6 @@ package io.appium.java_client.android; -import static org.junit.jupiter.api.Assertions.assertNotNull; - import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.appium.java_client.AppiumBy; @@ -28,6 +26,8 @@ import java.time.Duration; +import static org.junit.jupiter.api.Assertions.assertNotNull; + public class AndroidViewMatcherTest extends BaseEspressoTest { @Test diff --git a/src/test/java/io/appium/java_client/android/BaseAndroidTest.java b/src/test/java/io/appium/java_client/android/BaseAndroidTest.java index 3533a13d9..3e75fe6f1 100644 --- a/src/test/java/io/appium/java_client/android/BaseAndroidTest.java +++ b/src/test/java/io/appium/java_client/android/BaseAndroidTest.java @@ -16,14 +16,15 @@ package io.appium.java_client.android; -import static io.appium.java_client.TestResources.apiDemosApk; - import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.service.local.AppiumDriverLocalService; + import io.appium.java_client.service.local.AppiumServiceBuilder; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; +import static io.appium.java_client.TestResources.apiDemosApk; + public class BaseAndroidTest { public static final String APP_ID = "io.appium.android.apis"; protected static final int PORT = 4723; @@ -34,8 +35,7 @@ public class BaseAndroidTest { /** * initialization. */ - @BeforeAll - public static void beforeClass() { + @BeforeAll public static void beforeClass() { service = new AppiumServiceBuilder() .withIPAddress("127.0.0.1") .usingPort(PORT) @@ -52,8 +52,7 @@ public static void beforeClass() { /** * finishing. */ - @AfterAll - public static void afterClass() { + @AfterAll public static void afterClass() { if (driver != null) { driver.quit(); } diff --git a/src/test/java/io/appium/java_client/android/BatteryTest.java b/src/test/java/io/appium/java_client/android/BatteryTest.java index 6c31f5d9c..619fafac1 100644 --- a/src/test/java/io/appium/java_client/android/BatteryTest.java +++ b/src/test/java/io/appium/java_client/android/BatteryTest.java @@ -25,8 +25,7 @@ public class BatteryTest extends BaseAndroidTest { - @Test - public void veryGettingBatteryInformation() { + @Test public void veryGettingBatteryInformation() { final AndroidBatteryInfo batteryInfo = driver.getBatteryInfo(); assertThat(batteryInfo.getLevel(), is(greaterThan(0.0))); assertThat(batteryInfo.getState(), is(not(AndroidBatteryInfo.BatteryState.UNKNOWN))); diff --git a/src/test/java/io/appium/java_client/android/ClipboardTest.java b/src/test/java/io/appium/java_client/android/ClipboardTest.java index fba5f2ef0..cf9ee8581 100644 --- a/src/test/java/io/appium/java_client/android/ClipboardTest.java +++ b/src/test/java/io/appium/java_client/android/ClipboardTest.java @@ -23,13 +23,11 @@ public class ClipboardTest extends BaseAndroidTest { - @BeforeEach - public void setUp() { + @BeforeEach public void setUp() { driver.resetApp(); } - @Test - public void verifySetAndGetClipboardText() { + @Test public void verifySetAndGetClipboardText() { final String text = "Happy testing"; driver.setClipboardText(text); assertEquals(driver.getClipboardText(), text); diff --git a/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java b/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java index 45884c195..fc1a138c6 100644 --- a/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java +++ b/src/test/java/io/appium/java_client/android/ExecuteCDPCommandTest.java @@ -16,9 +16,6 @@ package io.appium.java_client.android; -import static java.time.Duration.ofSeconds; -import static org.junit.jupiter.api.Assertions.assertNotNull; - import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.remote.MobileBrowserType; import io.appium.java_client.remote.MobileCapabilityType; @@ -29,12 +26,16 @@ import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; +import org.openqa.selenium.remote.RemoteWebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; import java.util.HashMap; import java.util.Map; +import static java.time.Duration.ofSeconds; +import static org.junit.jupiter.api.Assertions.assertNotNull; + public class ExecuteCDPCommandTest { private WebDriver driver; diff --git a/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java b/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java index 7c14a4f49..d8bf5a65d 100644 --- a/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java +++ b/src/test/java/io/appium/java_client/android/ExecuteDriverScriptTest.java @@ -16,11 +16,6 @@ package io.appium.java_client.android; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.core.Is.is; -import static org.junit.jupiter.api.Assertions.assertNotNull; - import io.appium.java_client.driverscripts.ScriptOptions; import io.appium.java_client.driverscripts.ScriptType; import io.appium.java_client.driverscripts.ScriptValue; @@ -30,6 +25,11 @@ import java.util.List; import java.util.Map; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.core.Is.is; +import static org.junit.jupiter.api.Assertions.assertNotNull; + public class ExecuteDriverScriptTest extends BaseAndroidTest { @Test @@ -45,7 +45,7 @@ public void verifyBasicScriptExecution() { //noinspection unchecked assertNotNull(((Map) value.getResult()).get("build")); //noinspection unchecked - assertThat(((List) value.getLogs().get("warn")).get(0), + assertThat(((List)value.getLogs().get("warn")).get(0), is(equalTo("warning message"))); } } diff --git a/src/test/java/io/appium/java_client/android/FingerPrintTest.java b/src/test/java/io/appium/java_client/android/FingerPrintTest.java index 2dbed763f..a32c482fe 100644 --- a/src/test/java/io/appium/java_client/android/FingerPrintTest.java +++ b/src/test/java/io/appium/java_client/android/FingerPrintTest.java @@ -20,7 +20,12 @@ import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.service.local.AppiumDriverLocalService; -import org.junit.jupiter.api.*; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebElement; diff --git a/src/test/java/io/appium/java_client/android/SettingTest.java b/src/test/java/io/appium/java_client/android/SettingTest.java index fcbc3d2fe..380efa1cb 100644 --- a/src/test/java/io/appium/java_client/android/SettingTest.java +++ b/src/test/java/io/appium/java_client/android/SettingTest.java @@ -1,7 +1,5 @@ package io.appium.java_client.android; -import static org.junit.jupiter.api.Assertions.assertEquals; - import io.appium.java_client.Setting; import org.junit.jupiter.api.Test; @@ -10,6 +8,8 @@ import java.util.HashMap; import java.util.Map; +import static org.junit.jupiter.api.Assertions.assertEquals; + public class SettingTest extends BaseAndroidTest { @Test public void ignoreUnimportantViewsTest() { diff --git a/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java b/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java index 2473bcc33..ab10f1ec1 100644 --- a/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java +++ b/src/test/java/io/appium/java_client/drivers/options/OptionsBuildingTest.java @@ -16,11 +16,6 @@ package io.appium.java_client.drivers.options; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertTrue; - import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.appium.java_client.android.options.EspressoOptions; @@ -47,6 +42,11 @@ import java.net.URL; import java.time.Duration; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + @SuppressWarnings("ConstantConditions") public class OptionsBuildingTest { @Test diff --git a/src/test/java/io/appium/java_client/events/EventsFiringTest.java b/src/test/java/io/appium/java_client/events/EventsFiringTest.java index 5034b83df..cd00dce37 100644 --- a/src/test/java/io/appium/java_client/events/EventsFiringTest.java +++ b/src/test/java/io/appium/java_client/events/EventsFiringTest.java @@ -16,15 +16,15 @@ package io.appium.java_client.events; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - import io.appium.java_client.events.stubs.EmptyWebDriver; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.support.events.EventFiringDecorator; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class EventsFiringTest { private final WebDriver emptyWebDriver = new EmptyWebDriver(); private CustomListener listener; diff --git a/src/test/java/io/appium/java_client/ios/AppIOSTest.java b/src/test/java/io/appium/java_client/ios/AppIOSTest.java index e6746d732..b049a15bb 100644 --- a/src/test/java/io/appium/java_client/ios/AppIOSTest.java +++ b/src/test/java/io/appium/java_client/ios/AppIOSTest.java @@ -1,13 +1,13 @@ package io.appium.java_client.ios; -import static io.appium.java_client.TestResources.testAppZip; - import io.appium.java_client.ios.options.XCUITestOptions; import org.junit.jupiter.api.BeforeAll; import org.openqa.selenium.SessionNotCreatedException; import java.time.Duration; +import static io.appium.java_client.TestResources.testAppZip; + public class AppIOSTest extends BaseIOSTest { public static final String BUNDLE_ID = "io.appium.TestApp"; @@ -29,4 +29,4 @@ public static void beforeClass() throws Exception { driver = new IOSDriver(service.getUrl(), options); } } -} \ No newline at end of file +} diff --git a/src/test/java/io/appium/java_client/ios/BaseIOSTest.java b/src/test/java/io/appium/java_client/ios/BaseIOSTest.java index fd6200667..dfdf3c4da 100644 --- a/src/test/java/io/appium/java_client/ios/BaseIOSTest.java +++ b/src/test/java/io/appium/java_client/ios/BaseIOSTest.java @@ -52,8 +52,7 @@ public static AppiumDriverLocalService startAppiumServer() { /** * finishing. */ - @AfterAll - public static void afterClass() { + @AfterAll public static void afterClass() { if (driver != null) { driver.quit(); } diff --git a/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java b/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java index 4581b47c4..c461ded8a 100644 --- a/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java +++ b/src/test/java/io/appium/java_client/ios/BaseIOSWebViewTest.java @@ -16,8 +16,6 @@ package io.appium.java_client.ios; -import static io.appium.java_client.TestResources.vodQaAppZip; - import io.appium.java_client.ios.options.XCUITestOptions; import org.junit.jupiter.api.BeforeAll; import org.openqa.selenium.SessionNotCreatedException; @@ -26,6 +24,8 @@ import java.time.Duration; import java.util.function.Supplier; +import static io.appium.java_client.TestResources.vodQaAppZip; + public class BaseIOSWebViewTest extends BaseIOSTest { private static final Duration WEB_VIEW_DETECT_INTERVAL = Duration.ofSeconds(1); private static final Duration WEB_VIEW_DETECT_DURATION = Duration.ofSeconds(15); diff --git a/src/test/java/io/appium/java_client/ios/BaseSafariTest.java b/src/test/java/io/appium/java_client/ios/BaseSafariTest.java index 3d08d4374..654c4e58b 100644 --- a/src/test/java/io/appium/java_client/ios/BaseSafariTest.java +++ b/src/test/java/io/appium/java_client/ios/BaseSafariTest.java @@ -24,8 +24,7 @@ public class BaseSafariTest extends BaseIOSTest { - @BeforeAll - public static void beforeClass() throws IOException { + @BeforeAll public static void beforeClass() throws IOException { startAppiumServer(); XCUITestOptions options = new XCUITestOptions() diff --git a/src/test/java/io/appium/java_client/ios/ClipboardTest.java b/src/test/java/io/appium/java_client/ios/ClipboardTest.java index 44e4e23d7..af6b8a51d 100644 --- a/src/test/java/io/appium/java_client/ios/ClipboardTest.java +++ b/src/test/java/io/appium/java_client/ios/ClipboardTest.java @@ -22,8 +22,7 @@ public class ClipboardTest extends AppIOSTest { - @Test - public void verifySetAndGetClipboardText() { + @Test public void verifySetAndGetClipboardText() { final String text = "Happy testing"; driver.setClipboardText(text); assertEquals(driver.getClipboardText(), text); diff --git a/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java b/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java index a4e939c77..6080737f8 100644 --- a/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSAppStringsTest.java @@ -22,18 +22,15 @@ public class IOSAppStringsTest extends AppIOSTest { - @Test - public void getAppStrings() { + @Test public void getAppStrings() { assertNotEquals(0, driver.getAppStringMap().size()); } - @Test - public void getGetAppStringsUsingLang() { + @Test public void getGetAppStringsUsingLang() { assertNotEquals(0, driver.getAppStringMap("en").size()); } - @Test - public void getAppStringsUsingLangAndFileStrings() { + @Test public void getAppStringsUsingLangAndFileStrings() { assertNotEquals(0, driver.getAppStringMap("en", "Localizable.strings").size()); } } diff --git a/src/test/java/io/appium/java_client/ios/IOSContextTest.java b/src/test/java/io/appium/java_client/ios/IOSContextTest.java index 728833a7e..57915a1f7 100644 --- a/src/test/java/io/appium/java_client/ios/IOSContextTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSContextTest.java @@ -26,30 +26,26 @@ public class IOSContextTest extends BaseIOSWebViewTest { - @Test - public void testGetContext() { + @Test public void testGetContext() { assertEquals("NATIVE_APP", driver.getContext()); } - @Test - public void testGetContextHandles() { + @Test public void testGetContextHandles() { assertEquals(driver.getContextHandles().size(), 2); } - @Test - public void testSwitchContext() throws InterruptedException { + @Test public void testSwitchContext() throws InterruptedException { driver.getContextHandles(); findAndSwitchToWebView(); assertThat(driver.getContext(), containsString("WEBVIEW")); driver.context("NATIVE_APP"); } - @Test - public void testContextError() { + @Test public void testContextError() { assertThrows(NoSuchContextException.class, - () -> { - driver.context("Planet of the Ape-ium"); - assertEquals("Planet of the Ape-ium", driver.getContext()); - }); + () -> { + driver.context("Planet of the Ape-ium"); + assertEquals("Planet of the Ape-ium", driver.getContext()); + }); } } diff --git a/src/test/java/io/appium/java_client/ios/IOSDriverTest.java b/src/test/java/io/appium/java_client/ios/IOSDriverTest.java index db4f6766e..bcfd41d7d 100644 --- a/src/test/java/io/appium/java_client/ios/IOSDriverTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSDriverTest.java @@ -19,7 +19,11 @@ import static io.appium.java_client.TestUtils.waitUntilTrue; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.greaterThan; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import com.google.common.collect.ImmutableMap; import io.appium.java_client.appmanagement.ApplicationState; @@ -79,13 +83,11 @@ public void getDeviceTimeTest() { assertFalse(time.isEmpty()); } - @Test - public void resetTest() { + @Test public void resetTest() { driver.resetApp(); } - @Test - public void hideKeyboardWithParametersTest() { + @Test public void hideKeyboardWithParametersTest() { new WebDriverWait(driver, Duration.ofSeconds(30)) .until(ExpectedConditions.presenceOfElementLocated(By.id("IntegerA"))) .click(); @@ -93,8 +95,7 @@ public void hideKeyboardWithParametersTest() { } @Disabled - @Test - public void geolocationTest() { + @Test public void geolocationTest() { Location location = new Location(45, 45, 100); try { driver.setLocation(location); @@ -103,16 +104,14 @@ public void geolocationTest() { } } - @Test - public void orientationTest() { + @Test public void orientationTest() { assertEquals(ScreenOrientation.PORTRAIT, driver.getOrientation()); driver.rotate(ScreenOrientation.LANDSCAPE); assertEquals(ScreenOrientation.LANDSCAPE, driver.getOrientation()); driver.rotate(ScreenOrientation.PORTRAIT); } - @Test - public void lockTest() { + @Test public void lockTest() { try { driver.lockDevice(); assertTrue(driver.isDeviceLocked()); @@ -122,14 +121,12 @@ public void lockTest() { } } - @Test - public void pullFileTest() { + @Test public void pullFileTest() { byte[] data = driver.pullFile(String.format("@%s/TestApp", BUNDLE_ID)); assertThat(data.length, greaterThan(0)); } - @Test - public void keyboardTest() { + @Test public void keyboardTest() { WebElement element = driver.findElement(By.id("IntegerA")); element.click(); assertTrue(driver.isKeyboardShown()); @@ -168,8 +165,7 @@ public void putAIntoBackgroundWithoutRestoreTest() { } @Disabled - @Test - public void touchIdTest() { + @Test public void touchIdTest() { driver.toggleTouchIDEnrollment(true); driver.performTouchID(true); driver.performTouchID(false); diff --git a/src/test/java/io/appium/java_client/ios/IOSElementTest.java b/src/test/java/io/appium/java_client/ios/IOSElementTest.java index 84ff65287..18db02e2b 100644 --- a/src/test/java/io/appium/java_client/ios/IOSElementTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSElementTest.java @@ -5,7 +5,6 @@ import static org.hamcrest.core.IsNot.not; import static org.junit.jupiter.api.Assertions.assertEquals; -import io.appium.java_client.AppiumBy; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.Test; @@ -13,6 +12,8 @@ import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.WebDriverWait; +import io.appium.java_client.AppiumBy; + import java.time.Duration; @TestMethodOrder(MethodOrderer.MethodName.class) diff --git a/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java b/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java index ccb5c7850..e4d27f327 100644 --- a/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSNativeWebTapSettingTest.java @@ -2,6 +2,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; +import java.time.Duration; + import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.openqa.selenium.By; @@ -9,8 +11,6 @@ import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; -import java.time.Duration; - public class IOSNativeWebTapSettingTest extends BaseSafariTest { @Test diff --git a/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java b/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java index 38ef5d8a7..30213f480 100644 --- a/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSSearchingTest.java @@ -18,13 +18,13 @@ import static org.junit.jupiter.api.Assertions.assertNotEquals; -import io.appium.java_client.AppiumBy; import org.junit.jupiter.api.Test; +import io.appium.java_client.AppiumBy; + public class IOSSearchingTest extends AppIOSTest { - @Test - public void findByAccessibilityIdTest() { + @Test public void findByAccessibilityIdTest() { assertNotEquals(driver .findElement(AppiumBy.accessibilityId("ComputeSumButton")) .getText(), null); @@ -33,8 +33,7 @@ public void findByAccessibilityIdTest() { .size(), 0); } - @Test - public void findByByIosPredicatesTest() { + @Test public void findByByIosPredicatesTest() { assertNotEquals(driver .findElement(AppiumBy.iOSNsPredicateString("name like 'Answer'")) .getText(), null); @@ -43,8 +42,7 @@ public void findByByIosPredicatesTest() { .size(), 0); } - @Test - public void findByByIosClassChainTest() { + @Test public void findByByIosClassChainTest() { assertNotEquals(driver .findElement(AppiumBy.iOSClassChain("**/XCUIElementTypeButton")) .getText(), null); diff --git a/src/test/java/io/appium/java_client/ios/SettingTest.java b/src/test/java/io/appium/java_client/ios/SettingTest.java index d8f80af66..9fc2bfa4b 100644 --- a/src/test/java/io/appium/java_client/ios/SettingTest.java +++ b/src/test/java/io/appium/java_client/ios/SettingTest.java @@ -16,10 +16,12 @@ package io.appium.java_client.ios; -import static org.junit.jupiter.api.Assertions.assertEquals; import io.appium.java_client.Setting; import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + import java.util.EnumMap; import java.util.HashMap; import java.util.Map; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java index 63bced9fd..c183c44e0 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/AndroidPageObjectTest.java @@ -18,10 +18,20 @@ import static io.appium.java_client.pagefactory.LocatorGroupStrategy.ALL_POSSIBLE; import static java.time.Duration.ofSeconds; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; import io.appium.java_client.android.BaseAndroidTest; -import io.appium.java_client.pagefactory.*; + +import io.appium.java_client.pagefactory.AndroidBy; +import io.appium.java_client.pagefactory.AndroidFindAll; +import io.appium.java_client.pagefactory.AndroidFindBy; +import io.appium.java_client.pagefactory.AndroidFindBys; +import io.appium.java_client.pagefactory.AppiumFieldDecorator; +import io.appium.java_client.pagefactory.HowToUseLocators; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.NoSuchElementException; @@ -212,8 +222,7 @@ public class AndroidPageObjectTest extends BaseAndroidTest { /** * The setting up. */ - @BeforeEach - public void setUp() { + @BeforeEach public void setUp() { if (!populated) { //This time out is set because test can be run on slow Android SDK emulator PageFactory.initElements(new AppiumFieldDecorator(driver, ofSeconds(5)), this); @@ -222,190 +231,155 @@ public void setUp() { populated = true; } - @Test - public void findByElementsTest() { + @Test public void findByElementsTest() { assertNotEquals(0, textVieWs.size()); } - @Test - public void findByElementTest() { + @Test public void findByElementTest() { assertNotEquals(null, textView.getAttribute("text")); } - @Test - public void androidFindByElementsTest() { + @Test public void androidFindByElementsTest() { assertNotEquals(0, androidTextViews.size()); } - @Test - public void androidFindByElementTest() { + @Test public void androidFindByElementTest() { assertNotEquals(null, androidTextView.getAttribute("text")); } - @Test - public void androidOrIOSFindByElementsTest() { + @Test public void androidOrIOSFindByElementsTest() { assertNotEquals(0, androidOriOsTextViews.size()); } - @Test - public void androidOrIOSFindByElementTest() { + @Test public void androidOrIOSFindByElementTest() { assertNotEquals(null, androidOriOsTextView.getAttribute("text")); } - @Test - public void androidFindByUIAutomatorElementsTest() { + @Test public void androidFindByUIAutomatorElementsTest() { assertNotEquals(0, androidUIAutomatorViews.size()); } - @Test - public void androidFindByUIAutomatorElementTest() { + @Test public void androidFindByUIAutomatorElementTest() { assertNotEquals(null, androidUIAutomatorView.getAttribute("text")); } - @Test - public void areMobileElementsTest() { + @Test public void areMobileElementsTest() { assertNotEquals(0, mobileElementViews.size()); } - @Test - public void isMobileElementTest() { + @Test public void isMobileElementTest() { assertNotEquals(null, mobileElementView.getAttribute("text")); } - @Test - public void areMobileElementsFindByTest() { + @Test public void areMobileElementsFindByTest() { assertNotEquals(0, mobiletextVieWs.size()); } - @Test - public void isMobileElementFindByTest() { + @Test public void isMobileElementFindByTest() { assertNotEquals(null, mobiletextVieW.getAttribute("text")); } - @Test - public void areRemoteElementsTest() { + @Test public void areRemoteElementsTest() { assertNotEquals(0, remoteElementViews.size()); } - @Test - public void isRemoteElementTest() { + @Test public void isRemoteElementTest() { assertNotEquals(null, remotetextVieW.getAttribute("text")); } - @Test - public void androidChainSearchElementsTest() { + @Test public void androidChainSearchElementsTest() { assertNotEquals(0, chainElementViews.size()); } - @Test - public void androidChainSearchElementTest() { + @Test public void androidChainSearchElementTest() { assertNotEquals(null, chainElementView.getAttribute("text")); } - @Test - public void androidOrIOSFindByElementsTestChainSearches() { + @Test public void androidOrIOSFindByElementsTestChainSearches() { assertNotEquals(0, chainAndroidOrIOSUIAutomatorViews.size()); } - @Test - public void androidOrIOSFindByElementTestChainSearches() { + @Test public void androidOrIOSFindByElementTestChainSearches() { assertNotEquals(null, chainAndroidOrIOSUIAutomatorView.getAttribute("text")); } - @Test - public void isAndroidElementTest() { + @Test public void isAndroidElementTest() { assertNotEquals(null, androidElementView.getAttribute("text")); } - @Test - public void areAndroidElementsTest() { + @Test public void areAndroidElementsTest() { assertNotEquals(0, androidElementViews.size()); } - @Test - public void findAllElementTest() { + @Test public void findAllElementTest() { assertNotEquals(null, findAllElementView.getAttribute("text")); } - @Test - public void findAllElementsTest() { + @Test public void findAllElementsTest() { assertNotEquals(0, findAllElementViews.size()); } - @Test - public void findByAndroidAnnotationOnlyTest() { + @Test public void findByAndroidAnnotationOnlyTest() { assertNotEquals(null, textAndroidId.getAttribute("text")); } - @Test - public void checkThatTestWillNotBeFailedBecauseOfInvalidFindBy() { + @Test public void checkThatTestWillNotBeFailedBecauseOfInvalidFindBy() { assertThrows(NoSuchElementException.class, - () -> assertNotNull( - elementWhenAndroidLocatorIsNotDefinedAndThereIsInvalidFindBy.getAttribute("text"))); + () -> assertNotNull( + elementWhenAndroidLocatorIsNotDefinedAndThereIsInvalidFindBy.getAttribute("text"))); } - @Test - public void checkThatTestWillNotBeFailedBecauseOfInvalidFindByList() { + @Test public void checkThatTestWillNotBeFailedBecauseOfInvalidFindByList() { assertEquals(0, elementsWhenAndroidLocatorIsNotDefinedAndThereIsInvalidFindBy.size()); } - @Test - public void checkThatClassObjectMethodsDoNotInvokeTheSearching() { + @Test public void checkThatClassObjectMethodsDoNotInvokeTheSearching() { assertTrue(WebElement.class.isAssignableFrom(fakeElement.getClass())); assertNotEquals(WebElement.class, fakeElement.getClass()); assertEquals(driver, ((WrapsDriver) fakeElement).getWrappedDriver()); } - @Test - public void checkThatClassObjectMethodsDoNotInvokeTheSearchingOfElementLest() { + @Test public void checkThatClassObjectMethodsDoNotInvokeTheSearchingOfElementLest() { assertTrue(List.class.isAssignableFrom(fakeElements.getClass())); assertNotEquals(ArrayList.class, fakeElements.getClass()); } - @Test - public void checkCached() { + @Test public void checkCached() { assertEquals(((RemoteWebElement) cached).getId(), ((RemoteWebElement) cached).getId()); } @Test public void checkThatElementSearchingThrowsExpectedExceptionIfChainedLocatorIsInvalid() { assertThrows(NoSuchElementException.class, - () -> assertNotNull(elementFoundByInvalidChainedSelector.getAttribute("text"))); + () -> assertNotNull(elementFoundByInvalidChainedSelector.getAttribute("text"))); } - @Test - public void checkThatListSearchingWorksIfChainedLocatorIsInvalid() { + @Test public void checkThatListSearchingWorksIfChainedLocatorIsInvalid() { assertEquals(0, elementsFoundByInvalidChainedSelector.size()); } - @Test - public void checkMixedElementSearching1() { + @Test public void checkMixedElementSearching1() { assertNotNull(androidElementViewFoundByMixedSearching.getAttribute("text")); } - @Test - public void checkMixedElementsSearching1() { + @Test public void checkMixedElementsSearching1() { assertNotEquals(0, androidElementsViewFoundByMixedSearching.size()); } - @Test - public void checkMixedElementSearching2() { + @Test public void checkMixedElementSearching2() { assertNotNull(androidElementViewFoundByMixedSearching2.getAttribute("text")); } - @Test - public void checkMixedElementsSearching2() { + @Test public void checkMixedElementsSearching2() { assertNotEquals(0, androidElementsViewFoundByMixedSearching2.size()); } - @Test - public void checkMixedElementSearching3() { + @Test public void checkMixedElementSearching3() { assertNotNull(androidElementViewFoundByMixedSearching3.getAttribute("text")); } - @Test - public void checkMixedElementsSearching3() { + @Test public void checkMixedElementsSearching3() { assertNotEquals(0, androidElementsViewFoundByMixedSearching3.size()); } } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java index bb48c3ea5..c2cb1b6f4 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/DesktopBrowserCompatibilityTest.java @@ -43,8 +43,7 @@ public class DesktopBrowserCompatibilityTest { @HowToUseLocators(iOSXCUITAutomation = ALL_POSSIBLE) @AndroidFindBy(className = "someClass") - @iOSXCUITFindBy(xpath = "//selector[1]") - @iOSXCUITFindBy(xpath = "//someTag") + @iOSXCUITFindBy(xpath = "//selector[1]") @iOSXCUITFindBy(xpath = "//someTag") @FindBys({@FindBy(id = "main"), @FindBy(tagName = "p")}) private List foundLinks; private List main; //this list is located by id="main" @@ -54,13 +53,11 @@ public class DesktopBrowserCompatibilityTest { /** * The starting. */ - @BeforeAll - public static void beforeClass() { + @BeforeAll public static void beforeClass() { chromedriver().setup(); } - @Test - public void chromeTest() { + @Test public void chromeTest() { WebDriver driver = new ChromeDriver(); try { PageFactory.initElements(new AppiumFieldDecorator(driver, ofSeconds(15)), this); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java index 4985977fe..dad9d7a18 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/MobileBrowserCompatibilityTest.java @@ -17,7 +17,6 @@ package io.appium.java_client.pagefactory_tests; import static java.time.Duration.ofSeconds; -import static org.junit.jupiter.api.Assertions.assertNotEquals; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.options.UiAutomator2Options; @@ -26,6 +25,7 @@ import io.appium.java_client.remote.MobileBrowserType; import io.appium.java_client.service.local.AppiumDriverLocalService; import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; @@ -91,7 +91,7 @@ public void test() { searchTextField.sendKeys("Hello"); btnG.click(); - assertNotEquals(0, foundLinks.size()); + Assertions.assertNotEquals(0, foundLinks.size()); } } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java index 660f13626..cfba2ba36 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/TimeoutTest.java @@ -69,7 +69,7 @@ private static long getPerformanceDiff(long expectedMs, Runnable runnable) { long startMark = currentTimeMillis(); runnable.run(); long endMark = currentTimeMillis(); - return abs(expectedMs - (endMark - startMark)); + return abs(expectedMs - (endMark - startMark)); } private static String assertionMessage(Duration expectedDuration) { @@ -85,8 +85,7 @@ public static void beforeAll() { /** * The setting up. */ - @BeforeEach - public void setUp() { + @BeforeEach public void setUp() { driver = new ChromeDriver(); timeOutDuration = DEFAULT_WAITING_TIMEOUT; initElements(new AppiumFieldDecorator(driver, timeOutDuration), this); @@ -95,13 +94,11 @@ public void setUp() { /** * finishing. */ - @AfterEach - public void tearDown() { + @AfterEach public void tearDown() { driver.quit(); } - @Test - public void withCustomizedTimeOutTest() { + @Test public void withCustomizedTimeOutTest() { assertThat(assertionMessage(DEFAULT_WAITING_TIMEOUT), getPerformanceDiff(getExpectedMillis(DEFAULT_WAITING_TIMEOUT), () -> stubElements.size()), lessThanOrEqualTo(ACCEPTABLE_TIME_DIFF_MS)); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java index d96ca45e4..418f35e71 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/XCUITModeTest.java @@ -91,8 +91,7 @@ public class XCUITModeTest extends AppIOSTest { /** * The setting up. */ - @BeforeEach - public void setUp() { + @BeforeEach public void setUp() { if (!populated) { PageFactory.initElements(new AppiumFieldDecorator(driver), this); } @@ -100,58 +99,47 @@ public void setUp() { populated = true; } - @Test - public void findByXCUITSelectorTest() { + @Test public void findByXCUITSelectorTest() { assertNotEquals(null, computeButton.getText()); } - @Test - public void findElementByNameTest() { + @Test public void findElementByNameTest() { assertEquals("TextField1", textField1.getText()); } - @Test - public void findElementByClassNameTest() { + @Test public void findElementByClassNameTest() { assertEquals("50%", slider.getAttribute("value")); } - @Test - public void pageObjectChainingTest() { + @Test public void pageObjectChainingTest() { assertTrue(contactAlert.isDisplayed()); } - @Test - public void findElementByIdTest() { + @Test public void findElementByIdTest() { assertTrue(locationStatus.isDisplayed()); } - @Test - public void nativeSelectorTest() { + @Test public void nativeSelectorTest() { assertTrue(locationAlert.isDisplayed()); } - @Test - public void findElementByClassChain() { + @Test public void findElementByClassChain() { assertThat(secondTextField.getAttribute("name"), equalTo("IntegerB")); } - @Test - public void findElementByClassChainWithNegativeIndex() { + @Test public void findElementByClassChainWithNegativeIndex() { assertThat(lastButton.getAttribute("name"), equalTo("Check calendar authorized")); } - @Test - public void findMultipleElementsByClassChain() { + @Test public void findMultipleElementsByClassChain() { assertThat(allButtons.size(), is(greaterThan(1))); } - @Test - public void findElementByXUISelectorTest() { + @Test public void findElementByXUISelectorTest() { assertNotNull(gesture.getText()); } - @Test - public void setValueTest() { + @Test public void setValueTest() { textField1.sendKeys("2"); textField2.sendKeys("4"); driver.hideKeyboard(); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java index 1105b1c11..90bf0f658 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java @@ -34,21 +34,21 @@ public static Stream data() { return Stream.of( Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), - DefaultIosXCUITWidget.class), + DefaultIosXCUITWidget.class), Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), - DefaultFindByWidget.class), + DefaultFindByWidget.class), Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), - DefaultAndroidWidget.class), + DefaultAndroidWidget.class), Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), - DefaultStubWidget.class), + DefaultStubWidget.class), Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), - DefaultStubWidget.class), + DefaultStubWidget.class), Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), - DefaultFindByWidget.class), + DefaultFindByWidget.class), Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), - DefaultFindByWidget.class) + DefaultFindByWidget.class) ); } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java index 364b4b2d4..96882923c 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java @@ -36,25 +36,25 @@ public class CombinedWidgetTest extends WidgetTest { public static Stream data() { return Stream.of( Arguments.of(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), + new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), Arguments.of(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultIosXCUITWidget.class), + new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultIosXCUITWidget.class), Arguments.of(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), + new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), Arguments.of(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), + new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), Arguments.of(new AppWithCombinedWidgets(), - new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class), + new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class), Arguments.of(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), + new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), Arguments.of(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultStubWidget.class), + new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultStubWidget.class), Arguments.of(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubWindowsDriver(), DefaultStubWidget.class), + new AbstractStubWebDriver.StubWindowsDriver(), DefaultStubWidget.class), Arguments.of(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), + new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), Arguments.of(new AppWithPartiallyCombinedWidgets(), - new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class) + new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class) ); } diff --git a/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java b/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java index 2cdd9c4cf..13faeb583 100644 --- a/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java +++ b/src/test/java/io/appium/java_client/remote/MobileOptionsTest.java @@ -16,10 +16,6 @@ package io.appium.java_client.remote; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; - import org.junit.jupiter.api.Test; import org.openqa.selenium.MutableCapabilities; import org.openqa.selenium.ScreenOrientation; @@ -28,6 +24,10 @@ import java.net.URL; import java.time.Duration; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class MobileOptionsTest { private MobileOptions mobileOptions = new MobileOptions<>(); diff --git a/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java b/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java index 695783baf..fe5b9a3b6 100644 --- a/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java +++ b/src/test/java/io/appium/java_client/service/local/ServerBuilderTest.java @@ -340,7 +340,7 @@ public void checkAbilityToStartServiceUsingValidBasePathWithSinglePathParams() { @Test public void checkAbilityToValidateBasePathForEmptyBasePath() { assertThrows(IllegalArgumentException.class, () -> { - new AppiumServiceBuilder().withArgument(BASEPATH, "").build(); + new AppiumServiceBuilder().withArgument(BASEPATH, "").build(); }); } diff --git a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java index 1ef42e065..3d248f462 100644 --- a/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java +++ b/src/test/java/io/appium/java_client/service/local/StartingAppLocallyAndroidTest.java @@ -16,12 +16,6 @@ package io.appium.java_client.service.local; -import static io.appium.java_client.TestResources.apiDemosApk; -import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertTrue; - import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.options.UiAutomator2Options; import io.appium.java_client.remote.AutomationName; @@ -34,6 +28,12 @@ import java.time.Duration; +import static io.appium.java_client.TestResources.apiDemosApk; +import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class StartingAppLocallyAndroidTest { @Test diff --git a/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java b/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java index cc71d99cc..50d59a5df 100644 --- a/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java +++ b/src/test/java/io/appium/java_client/service/local/ThreadSafetyTest.java @@ -4,37 +4,35 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import io.appium.java_client.service.local.AppiumDriverLocalService; +import io.appium.java_client.service.local.AppiumServerHasNotBeenStartedLocallyException; import org.junit.jupiter.api.Test; public class ThreadSafetyTest { private final AppiumDriverLocalService service = AppiumDriverLocalService.buildDefaultService(); private final Action run = new Action() { - @Override - protected String perform() { + @Override protected String perform() { service.start(); return "OK"; } }; private final Action run2 = run.clone(); private final Action isRunning = new Action() { - @Override - protected Boolean perform() { + @Override protected Boolean perform() { return service.isRunning(); } }; private final Action isRunning2 = isRunning.clone(); private final Action stop = new Action() { - @Override - protected String perform() { + @Override protected String perform() { service.stop(); return "OK"; } }; private final Action stop2 = stop.clone(); - @Test - public void whenFewTreadsDoTheSameWork() throws Throwable { + @Test public void whenFewTreadsDoTheSameWork() throws Throwable { TestThread runTestThread = new TestThread<>(run); TestThread runTestThread2 = new TestThread<>(run2); @@ -118,8 +116,7 @@ public void whenFewTreadsDoTheSameWork() throws Throwable { } - @Test - public void whenFewTreadsDoDifferentWork() throws Throwable { + @Test public void whenFewTreadsDoDifferentWork() throws Throwable { TestThread runTestThread = new TestThread<>(run); TestThread runTestThread2 = new TestThread<>(run2); @@ -224,8 +221,7 @@ private static class TestThread implements Runnable { this.action = action; } - @Override - public void run() { + @Override public void run() { try { result = action.perform(); } catch (Throwable t) { diff --git a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java index 9676ae63f..b08249962 100644 --- a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java +++ b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java @@ -12,8 +12,10 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.in; import static org.hamcrest.Matchers.is; +import static org.junit.jupiter.api.Assertions.assertThrows; import io.appium.java_client.touch.offset.ElementOption; +import io.appium.java_client.touch.offset.PointOption; import org.junit.jupiter.api.Test; import org.openqa.selenium.Point; import org.openqa.selenium.remote.RemoteWebElement; @@ -26,6 +28,18 @@ public class TouchOptionsTests { private static final RemoteWebElement DUMMY_ELEMENT = new DummyElement(); + @Test + public void invalidEmptyPointOptionsShouldFailOnBuild() { + assertThrows(IllegalArgumentException.class, + () -> new PointOption<>().build()); + } + + @Test + public void invalidEmptyElementOptionsShouldFailOnBuild() { + assertThrows(IllegalArgumentException.class, + () -> new ElementOption().build()); + } + @Test public void invalidOptionsArgumentsShouldFailOnAltering() { final List invalidOptions = new ArrayList<>(); From 6fdd68b79295da9ed698c12c12ca443ab89262ff Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Tue, 26 Jul 2022 18:01:45 +0530 Subject: [PATCH 08/23] refactor!: Updated existing class specific check styles --- .../java_client/android/AndroidDataMatcherTest.java | 4 ++-- .../io/appium/java_client/android/AndroidDriverTest.java | 7 ++++++- .../appium/java_client/events/stubs/EmptyWebDriver.java | 8 ++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java b/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java index 2160c07de..3db8ade05 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDataMatcherTest.java @@ -16,8 +16,6 @@ package io.appium.java_client.android; -import static org.junit.jupiter.api.Assertions.assertNotNull; - import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.appium.java_client.AppiumBy; @@ -28,6 +26,8 @@ import java.time.Duration; +import static org.junit.jupiter.api.Assertions.assertNotNull; + public class AndroidDataMatcherTest extends BaseEspressoTest { @Test diff --git a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java index 01effb8a2..145bd32dc 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java @@ -19,7 +19,12 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.lessThan; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import io.appium.java_client.appmanagement.ApplicationState; import org.apache.commons.codec.binary.Base64; diff --git a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java index ec57bedc0..4795324a1 100644 --- a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java +++ b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java @@ -44,7 +44,7 @@ import java.util.Set; public class EmptyWebDriver implements WebDriver, ContextAware, Rotatable, - JavascriptExecutor, HasCapabilities, TakesScreenshot { + JavascriptExecutor, HasCapabilities, TakesScreenshot { public EmptyWebDriver() { } @@ -124,15 +124,15 @@ public String getWindowHandle() { } public TargetLocator switchTo() { - return new StubTargetLocator(this); + return new EmptyWebDriver.StubTargetLocator(this); } public Navigation navigate() { - return new StubNavigation(); + return new EmptyWebDriver.StubNavigation(); } public Options manage() { - return new StubOptions(); + return new EmptyWebDriver.StubOptions(); } public Object executeScript(String script, Object... args) { From 7c2fae332ee1fea1f85ef55f2402ff9e73b55796 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Tue, 26 Jul 2022 18:11:54 +0530 Subject: [PATCH 09/23] refactor!: Updated check styles --- .../java/io/appium/java_client/events/stubs/EmptyWebDriver.java | 2 +- .../widget/tests/combined/CombinedAppTest.java | 2 +- .../widget/tests/combined/CombinedWidgetTest.java | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java index 4795324a1..6f5ac057f 100644 --- a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java +++ b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java @@ -44,7 +44,7 @@ import java.util.Set; public class EmptyWebDriver implements WebDriver, ContextAware, Rotatable, - JavascriptExecutor, HasCapabilities, TakesScreenshot { + JavascriptExecutor, HasCapabilities, TakesScreenshot { public EmptyWebDriver() { } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java index 90bf0f658..4028ba59e 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java @@ -64,7 +64,7 @@ public void checkThatWidgetsAreCreatedCorrectly() { equalTo(widgetClass)); List> classes = app.getWidgets().stream().map(abstractWidget -> abstractWidget - .getSelfReference().getClass()) + .getSelfReference().getClass()) .collect(toList()); assertThat(classes, contains(widgetClass, widgetClass)); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java index 96882923c..a91b4e321 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java @@ -22,7 +22,6 @@ @SuppressWarnings({"unchecked", "unused"}) - public class CombinedWidgetTest extends WidgetTest { private final Class widgetClass; @@ -32,7 +31,6 @@ public class CombinedWidgetTest extends WidgetTest { * * @return test parameters */ - public static Stream data() { return Stream.of( Arguments.of(new AppWithCombinedWidgets(), From b2b646deca8d3cf828b2d4515be59d379271a8bf Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Tue, 26 Jul 2022 18:35:15 +0530 Subject: [PATCH 10/23] refactor!: Updated check styles --- .../appium/java_client/android/AndroidAppStringsTest.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java b/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java index e61b52bb4..9aaeb88b3 100644 --- a/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidAppStringsTest.java @@ -22,13 +22,11 @@ public class AndroidAppStringsTest extends BaseAndroidTest { - @Test - public void getAppStrings() { + @Test public void getAppStrings() { assertNotEquals(0, driver.getAppStringMap().size()); } - @Test - public void getGetAppStringsUsingLang() { + @Test public void getGetAppStringsUsingLang() { assertNotEquals(0, driver.getAppStringMap("en").size()); } } From c1c6aecb0f3329046ccf08c999f235849fb1dba1 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Tue, 26 Jul 2022 19:08:54 +0530 Subject: [PATCH 11/23] refactor!: Updated check styles --- .../android/AndroidContextTest.java | 23 ++++++++----------- .../events/stubs/EmptyWebDriver.java | 2 +- .../ios/IOSSyslogListenerTest.java | 2 +- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/test/java/io/appium/java_client/android/AndroidContextTest.java b/src/test/java/io/appium/java_client/android/AndroidContextTest.java index 80284a58e..57f5895d8 100644 --- a/src/test/java/io/appium/java_client/android/AndroidContextTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidContextTest.java @@ -25,25 +25,21 @@ public class AndroidContextTest extends BaseAndroidTest { - @BeforeAll - public static void beforeClass2() throws Exception { + @BeforeAll public static void beforeClass2() throws Exception { Activity activity = new Activity("io.appium.android.apis", ".view.WebView1"); driver.startActivity(activity); Thread.sleep(20000); } - @Test - public void testGetContext() { + @Test public void testGetContext() { assertEquals("NATIVE_APP", driver.getContext()); } - @Test - public void testGetContextHandles() { + @Test public void testGetContextHandles() { assertEquals(driver.getContextHandles().size(), 2); } - @Test - public void testSwitchContext() { + @Test public void testSwitchContext() { driver.getContextHandles(); driver.context("WEBVIEW_io.appium.android.apis"); assertEquals(driver.getContext(), "WEBVIEW_io.appium.android.apis"); @@ -51,13 +47,12 @@ public void testSwitchContext() { assertEquals(driver.getContext(), "NATIVE_APP"); } - @Test - public void testContextError() { + @Test public void testContextError() { assertThrows(NoSuchContextException.class, - () -> { - driver.context("Planet of the Ape-ium"); - assertEquals("Planet of the Ape-ium", driver.getContext()); - }); + () -> { + driver.context("Planet of the Ape-ium"); + assertEquals("Planet of the Ape-ium", driver.getContext()); + }); } } diff --git a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java index 6f5ac057f..5316f56e4 100644 --- a/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java +++ b/src/test/java/io/appium/java_client/events/stubs/EmptyWebDriver.java @@ -44,7 +44,7 @@ import java.util.Set; public class EmptyWebDriver implements WebDriver, ContextAware, Rotatable, - JavascriptExecutor, HasCapabilities, TakesScreenshot { + JavascriptExecutor, HasCapabilities, TakesScreenshot { public EmptyWebDriver() { } diff --git a/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java b/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java index c8c3f779b..d5e2b377f 100644 --- a/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java +++ b/src/test/java/io/appium/java_client/ios/IOSSyslogListenerTest.java @@ -27,7 +27,7 @@ public void verifySyslogListenerCanBeAssigned() { driver.runAppInBackground(Duration.ofSeconds(1)); assertTrue(messageSemaphore.tryAcquire(timeout.toMillis(), TimeUnit.MILLISECONDS), String.format("Didn't receive any log message after %s timeout", - DurationFormatUtils.formatDuration(timeout.toMillis(), "H:mm:ss", true))); + DurationFormatUtils.formatDuration(timeout.toMillis(), "H:mm:ss", true))); } catch (InterruptedException e) { throw new IllegalStateException(e); } finally { From fc379cb3bc66010e574e797e84de51ee2eeccbfe Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Tue, 26 Jul 2022 21:46:19 +0300 Subject: [PATCH 12/23] Revert noisy changes --- .../io/appium/java_client/android/AndroidFunctionTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java b/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java index b801c54b4..735d0aeda 100644 --- a/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidFunctionTest.java @@ -93,8 +93,7 @@ public void complexWaitingTestWithPreCondition() { assertThat("WebView is expected", driver.getContext(), containsString("WEBVIEW")); } - @Test - public void complexWaitingTestWithPostConditions() { + @Test public void complexWaitingTestWithPostConditions() { final List calls = new ArrayList<>(); AppiumFunction waitingForContext = input -> { From 9904f4e616ee5ffaf7e386a063f0997cbbf4c2a3 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Wed, 27 Jul 2022 09:18:24 +0530 Subject: [PATCH 13/23] refactor!: Updated WidgetTests --- .../pagefactory_tests/widget/tests/WidgetTest.java | 4 ---- .../widget/tests/combined/CombinedAppTest.java | 5 ++++- .../widget/tests/combined/CombinedWidgetTest.java | 4 ++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index 9e89c2daf..e2ccf4745 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -3,8 +3,6 @@ import static org.openqa.selenium.support.PageFactory.initElements; import io.appium.java_client.pagefactory.AppiumFieldDecorator; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; import org.openqa.selenium.WebDriver; public abstract class WidgetTest { @@ -16,7 +14,5 @@ protected WidgetTest(AbstractApp app, WebDriver driver) { initElements(new AppiumFieldDecorator(driver), app); } - @ParameterizedTest - @MethodSource("data") public abstract void checkThatWidgetsAreCreatedCorrectly(); } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java index 4028ba59e..e0e40c3a2 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java @@ -12,14 +12,15 @@ import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import io.appium.java_client.pagefactory_tests.widget.tests.android.DefaultAndroidWidget; import io.appium.java_client.pagefactory_tests.widget.tests.windows.DefaultWindowsWidget; +import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import org.openqa.selenium.WebDriver; import java.util.List; import java.util.stream.Stream; @SuppressWarnings({"unused", "unchecked"}) - public class CombinedAppTest extends WidgetTest { private final Class widgetClass; @@ -57,6 +58,8 @@ public CombinedAppTest(AbstractApp app, WebDriver driver, Class widgetClas this.widgetClass = widgetClass; } + @ParameterizedTest + @MethodSource("data") @Override public void checkThatWidgetsAreCreatedCorrectly() { assertThat("Expected widget class was " + widgetClass.getName(), From e95df7287e98200efba9c22a5146dc4e1cb60741 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Wed, 27 Jul 2022 10:05:45 +0530 Subject: [PATCH 14/23] refactor!: Reverted WidgetTest changes and execute using vintage engine --- build.gradle | 1 + .../widget/tests/WidgetTest.java | 8 ++++ .../tests/combined/CombinedAppTest.java | 47 +++++++++---------- .../tests/combined/CombinedWidgetTest.java | 36 +++++++------- 4 files changed, 50 insertions(+), 42 deletions(-) diff --git a/build.gradle b/build.gradle index c831a0b35..862b3fd1d 100644 --- a/build.gradle +++ b/build.gradle @@ -58,6 +58,7 @@ dependencies { implementation 'org.slf4j:slf4j-api:1.7.36' testImplementation 'org.junit.jupiter:junit-jupiter:5.8.2' + testImplementation 'org.junit.vintage:junit-vintage-engine:5.8.2' testImplementation 'org.hamcrest:hamcrest:2.2' testImplementation (group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.2.1') { exclude group: 'org.seleniumhq.selenium' diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index e2ccf4745..67b00ff35 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -1,18 +1,26 @@ package io.appium.java_client.pagefactory_tests.widget.tests; +import static java.util.Arrays.copyOf; import static org.openqa.selenium.support.PageFactory.initElements; import io.appium.java_client.pagefactory.AppiumFieldDecorator; + +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; public abstract class WidgetTest { protected final AbstractApp app; + protected static Object[] dataArray(Object...objects) { + return copyOf(objects, objects.length); + } + protected WidgetTest(AbstractApp app, WebDriver driver) { this.app = app; initElements(new AppiumFieldDecorator(driver), app); } + @Test public abstract void checkThatWidgetsAreCreatedCorrectly(); } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java index e0e40c3a2..9953578be 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java @@ -1,5 +1,6 @@ package io.appium.java_client.pagefactory_tests.widget.tests.combined; +import static java.util.Arrays.asList; import static java.util.stream.Collectors.toList; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; @@ -12,15 +13,15 @@ import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import io.appium.java_client.pagefactory_tests.widget.tests.android.DefaultAndroidWidget; import io.appium.java_client.pagefactory_tests.widget.tests.windows.DefaultWindowsWidget; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.MethodSource; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import org.openqa.selenium.WebDriver; +import java.util.Collection; import java.util.List; -import java.util.stream.Stream; @SuppressWarnings({"unused", "unchecked"}) +@RunWith(Parameterized.class) public class CombinedAppTest extends WidgetTest { private final Class widgetClass; @@ -30,25 +31,25 @@ public class CombinedAppTest extends WidgetTest { * * @return test parameters */ - - public static Stream data() { - return Stream.of( - Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), - DefaultIosXCUITWidget.class), - Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), - Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), - DefaultFindByWidget.class), - Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), - DefaultAndroidWidget.class), - Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), - DefaultStubWidget.class), - Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), - DefaultStubWidget.class), - Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), + @Parameterized.Parameters + public static Collection data() { + return asList( + dataArray(new CombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), + dataArray(new CombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), + DefaultIosXCUITWidget.class), + dataArray(new CombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), + dataArray(new CombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), + dataArray(new CombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class), - Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), + dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), + DefaultAndroidWidget.class), + dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), + DefaultStubWidget.class), + dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), + DefaultStubWidget.class), + dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), + DefaultFindByWidget.class), + dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class) ); } @@ -58,8 +59,6 @@ public CombinedAppTest(AbstractApp app, WebDriver driver, Class widgetClass; @@ -33,27 +34,28 @@ public class CombinedWidgetTest extends WidgetTest { * * @return test parameters */ - public static Stream data() { - return Stream.of( - Arguments.of(new AppWithCombinedWidgets(), + @Parameterized.Parameters + public static Collection data() { + return asList( + dataArray(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - Arguments.of(new AppWithCombinedWidgets(), + dataArray(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultIosXCUITWidget.class), - Arguments.of(new AppWithCombinedWidgets(), + dataArray(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), - Arguments.of(new AppWithCombinedWidgets(), + dataArray(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - Arguments.of(new AppWithCombinedWidgets(), + dataArray(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class), - Arguments.of(new AppWithPartiallyCombinedWidgets(), + dataArray(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - Arguments.of(new AppWithPartiallyCombinedWidgets(), + dataArray(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultStubWidget.class), - Arguments.of(new AppWithPartiallyCombinedWidgets(), + dataArray(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultStubWidget.class), - Arguments.of(new AppWithPartiallyCombinedWidgets(), + dataArray(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - Arguments.of(new AppWithPartiallyCombinedWidgets(), + dataArray(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class) ); } @@ -63,8 +65,6 @@ public CombinedWidgetTest(AbstractApp app, WebDriver driver, Class widgetClas this.widgetClass = widgetClass; } - @ParameterizedTest - @MethodSource("data") @Override public void checkThatWidgetsAreCreatedCorrectly() { assertThat("Expected widget class was " + widgetClass.getName(), From 4a5dda0f6c753b81a3c8f46dbfb3a67432a83987 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Wed, 27 Jul 2022 10:39:29 +0530 Subject: [PATCH 15/23] refactor!: update import --- .../java_client/pagefactory_tests/widget/tests/WidgetTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index 67b00ff35..00a71094d 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -5,7 +5,7 @@ import io.appium.java_client.pagefactory.AppiumFieldDecorator; -import org.junit.jupiter.api.Test; +import org.junit.Test; import org.openqa.selenium.WebDriver; public abstract class WidgetTest { From a849e46af7bec0aff24767a7e4dc67a8f2c07841 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Wed, 27 Jul 2022 10:47:47 +0530 Subject: [PATCH 16/23] refactor!: Reverted format changes --- .../java_client/pagefactory_tests/widget/tests/WidgetTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index 00a71094d..6ef019438 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -4,7 +4,6 @@ import static org.openqa.selenium.support.PageFactory.initElements; import io.appium.java_client.pagefactory.AppiumFieldDecorator; - import org.junit.Test; import org.openqa.selenium.WebDriver; From 8fd7141b7dc82bb48e94ff87579899f0f37c0044 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Wed, 27 Jul 2022 12:48:02 +0530 Subject: [PATCH 17/23] refactor!: Added Test annotation for all test override methods --- .../widget/tests/android/AndroidWidgetTest.java | 4 ++++ .../pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java | 4 ++++ .../widget/tests/windows/WindowsWidgetTest.java | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java index 93047222b..bf2533ce2 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java @@ -9,6 +9,7 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; +import org.junit.jupiter.api.Test; public class AndroidWidgetTest extends ExtendedWidgetTest { @@ -22,6 +23,7 @@ public void checkThatWidgetsAreCreatedCorrectly() { androidUIAutomator(ANDROID_DEFAULT_WIDGET_LOCATOR), androidUIAutomator(ANDROID_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getAnnotatedWidget(), @@ -29,6 +31,7 @@ public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { androidUIAutomator(ANDROID_ROOT_WIDGET_LOCATOR), androidUIAutomator(ANDROID_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidget(), @@ -36,6 +39,7 @@ public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() androidUIAutomator(ANDROID_ROOT_WIDGET_LOCATOR), androidUIAutomator(ANDROID_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidgetWithOverriddenLocators(), diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java index d2e4d483f..2cda02ae9 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java @@ -9,6 +9,7 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; +import org.junit.jupiter.api.Test; public class XCUITWidgetTest extends ExtendedWidgetTest { @@ -22,6 +23,7 @@ public void checkThatWidgetsAreCreatedCorrectly() { iOSNsPredicateString(IOS_XCUIT_WIDGET_LOCATOR), iOSNsPredicateString(XCUIT_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getAnnotatedWidget(), @@ -29,6 +31,7 @@ public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { iOSNsPredicateString(XCUIT_ROOT_WIDGET_LOCATOR), iOSNsPredicateString(XCUIT_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidget(), @@ -36,6 +39,7 @@ public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() iOSNsPredicateString(XCUIT_ROOT_WIDGET_LOCATOR), iOSNsPredicateString(XCUIT_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidgetWithOverriddenLocators(), diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java index fbd9da9a6..22b914329 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java @@ -9,6 +9,7 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; +import org.junit.jupiter.api.Test; public class WindowsWidgetTest extends ExtendedWidgetTest { @@ -22,6 +23,7 @@ public void checkThatWidgetsAreCreatedCorrectly() { windowsAutomation(WINDOWS_DEFAULT_WIDGET_LOCATOR), windowsAutomation(WINDOWS_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getAnnotatedWidget(), @@ -29,6 +31,7 @@ public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { windowsAutomation(WINDOWS_ROOT_WIDGET_LOCATOR), windowsAutomation(WINDOWS_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidget(), @@ -36,6 +39,7 @@ public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() windowsAutomation(WINDOWS_ROOT_WIDGET_LOCATOR), windowsAutomation(WINDOWS_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidgetWithOverriddenLocators(), From b4b026d8064c4c50d71c84da274691337ff9eb93 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Wed, 27 Jul 2022 12:57:15 +0530 Subject: [PATCH 18/23] refactor!: Reverted Widget Tests --- .../pagefactory_tests/widget/tests/ExtendedWidgetTest.java | 4 ++-- .../widget/tests/android/AndroidWidgetTest.java | 4 ---- .../pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java | 4 ---- .../widget/tests/windows/WindowsWidgetTest.java | 4 ---- 4 files changed, 2 insertions(+), 14 deletions(-) diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java index 238f91b89..d8d3a7b60 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java @@ -1,11 +1,11 @@ package io.appium.java_client.pagefactory_tests.widget.tests; import static java.util.stream.Collectors.toList; -import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsString; +import static org.junit.Assert.assertThat; -import org.junit.jupiter.api.Test; +import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java index bf2533ce2..93047222b 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java @@ -9,7 +9,6 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; -import org.junit.jupiter.api.Test; public class AndroidWidgetTest extends ExtendedWidgetTest { @@ -23,7 +22,6 @@ public void checkThatWidgetsAreCreatedCorrectly() { androidUIAutomator(ANDROID_DEFAULT_WIDGET_LOCATOR), androidUIAutomator(ANDROID_SUB_WIDGET_LOCATOR)); } - @Test @Override public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getAnnotatedWidget(), @@ -31,7 +29,6 @@ public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { androidUIAutomator(ANDROID_ROOT_WIDGET_LOCATOR), androidUIAutomator(ANDROID_SUB_WIDGET_LOCATOR)); } - @Test @Override public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidget(), @@ -39,7 +36,6 @@ public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() androidUIAutomator(ANDROID_ROOT_WIDGET_LOCATOR), androidUIAutomator(ANDROID_SUB_WIDGET_LOCATOR)); } - @Test @Override public void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidgetWithOverriddenLocators(), diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java index 2cda02ae9..d2e4d483f 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java @@ -9,7 +9,6 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; -import org.junit.jupiter.api.Test; public class XCUITWidgetTest extends ExtendedWidgetTest { @@ -23,7 +22,6 @@ public void checkThatWidgetsAreCreatedCorrectly() { iOSNsPredicateString(IOS_XCUIT_WIDGET_LOCATOR), iOSNsPredicateString(XCUIT_SUB_WIDGET_LOCATOR)); } - @Test @Override public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getAnnotatedWidget(), @@ -31,7 +29,6 @@ public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { iOSNsPredicateString(XCUIT_ROOT_WIDGET_LOCATOR), iOSNsPredicateString(XCUIT_SUB_WIDGET_LOCATOR)); } - @Test @Override public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidget(), @@ -39,7 +36,6 @@ public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() iOSNsPredicateString(XCUIT_ROOT_WIDGET_LOCATOR), iOSNsPredicateString(XCUIT_SUB_WIDGET_LOCATOR)); } - @Test @Override public void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidgetWithOverriddenLocators(), diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java index 22b914329..fbd9da9a6 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java @@ -9,7 +9,6 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; -import org.junit.jupiter.api.Test; public class WindowsWidgetTest extends ExtendedWidgetTest { @@ -23,7 +22,6 @@ public void checkThatWidgetsAreCreatedCorrectly() { windowsAutomation(WINDOWS_DEFAULT_WIDGET_LOCATOR), windowsAutomation(WINDOWS_SUB_WIDGET_LOCATOR)); } - @Test @Override public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getAnnotatedWidget(), @@ -31,7 +29,6 @@ public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { windowsAutomation(WINDOWS_ROOT_WIDGET_LOCATOR), windowsAutomation(WINDOWS_SUB_WIDGET_LOCATOR)); } - @Test @Override public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidget(), @@ -39,7 +36,6 @@ public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() windowsAutomation(WINDOWS_ROOT_WIDGET_LOCATOR), windowsAutomation(WINDOWS_SUB_WIDGET_LOCATOR)); } - @Test @Override public void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidgetWithOverriddenLocators(), From 589709b5f3b402cd8b7807856de5765953002383 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Prudhvi Date: Wed, 27 Jul 2022 17:39:53 +0530 Subject: [PATCH 19/23] Widget Tests (#1) * refactor!: Updated WidgetTests * refactor!: Updated Widget Tests * refactor!: Reverted format * refactor!: cleanup * refactor!: cleanup --- build.gradle | 1 - .../widget/tests/WidgetTest.java | 7 +-- .../tests/android/AndroidWidgetTest.java | 5 ++ .../tests/combined/CombinedAppTest.java | 50 ++++++++++--------- .../tests/combined/CombinedWidgetTest.java | 49 +++++++++--------- .../widget/tests/ios/XCUITWidgetTest.java | 5 ++ .../tests/windows/WindowsWidgetTest.java | 5 ++ 7 files changed, 67 insertions(+), 55 deletions(-) diff --git a/build.gradle b/build.gradle index 862b3fd1d..c831a0b35 100644 --- a/build.gradle +++ b/build.gradle @@ -58,7 +58,6 @@ dependencies { implementation 'org.slf4j:slf4j-api:1.7.36' testImplementation 'org.junit.jupiter:junit-jupiter:5.8.2' - testImplementation 'org.junit.vintage:junit-vintage-engine:5.8.2' testImplementation 'org.hamcrest:hamcrest:2.2' testImplementation (group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.2.1') { exclude group: 'org.seleniumhq.selenium' diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index 6ef019438..e054dcc16 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -1,20 +1,15 @@ package io.appium.java_client.pagefactory_tests.widget.tests; -import static java.util.Arrays.copyOf; import static org.openqa.selenium.support.PageFactory.initElements; import io.appium.java_client.pagefactory.AppiumFieldDecorator; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; public abstract class WidgetTest { protected final AbstractApp app; - protected static Object[] dataArray(Object...objects) { - return copyOf(objects, objects.length); - } - protected WidgetTest(AbstractApp app, WebDriver driver) { this.app = app; initElements(new AppiumFieldDecorator(driver), app); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java index 93047222b..566959cfc 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java @@ -9,6 +9,7 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; +import org.junit.jupiter.api.Test; public class AndroidWidgetTest extends ExtendedWidgetTest { @@ -16,12 +17,14 @@ public AndroidWidgetTest() { super(new AndroidApp(), new AbstractStubWebDriver.StubAndroidDriver()); } + @Test @Override public void checkThatWidgetsAreCreatedCorrectly() { checkThatLocatorsAreCreatedCorrectly(app.getWidget(), app.getWidgets(), androidUIAutomator(ANDROID_DEFAULT_WIDGET_LOCATOR), androidUIAutomator(ANDROID_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getAnnotatedWidget(), @@ -29,6 +32,7 @@ public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { androidUIAutomator(ANDROID_ROOT_WIDGET_LOCATOR), androidUIAutomator(ANDROID_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidget(), @@ -36,6 +40,7 @@ public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() androidUIAutomator(ANDROID_ROOT_WIDGET_LOCATOR), androidUIAutomator(ANDROID_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidgetWithOverriddenLocators(), diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java index 9953578be..1afe701c9 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java @@ -1,6 +1,5 @@ package io.appium.java_client.pagefactory_tests.widget.tests.combined; -import static java.util.Arrays.asList; import static java.util.stream.Collectors.toList; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; @@ -13,54 +12,52 @@ import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import io.appium.java_client.pagefactory_tests.widget.tests.android.DefaultAndroidWidget; import io.appium.java_client.pagefactory_tests.widget.tests.windows.DefaultWindowsWidget; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import org.openqa.selenium.WebDriver; -import java.util.Collection; + import java.util.List; +import java.util.stream.Stream; @SuppressWarnings({"unused", "unchecked"}) -@RunWith(Parameterized.class) public class CombinedAppTest extends WidgetTest { - private final Class widgetClass; - /** * Test data generation. * * @return test parameters */ - @Parameterized.Parameters - public static Collection data() { - return asList( - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), + public static Stream data() { + return Stream.of( + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultIosXCUITWidget.class), - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - dataArray(new CombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), + Arguments.of(new CombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultStubWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultStubWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - dataArray(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), + Arguments.of(new PartiallyCombinedApp(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class) ); } - public CombinedAppTest(AbstractApp app, WebDriver driver, Class widgetClass) { + public CombinedAppTest(AbstractApp app, WebDriver driver) { super(app, driver); - this.widgetClass = widgetClass; } - @Override - public void checkThatWidgetsAreCreatedCorrectly() { + @ParameterizedTest + @MethodSource("data") + public void checkThatWidgetsAreCreatedCorrectly(AbstractApp app, WebDriver driver, Class widgetClass) { assertThat("Expected widget class was " + widgetClass.getName(), app.getWidget().getSelfReference().getClass(), equalTo(widgetClass)); @@ -72,6 +69,11 @@ public void checkThatWidgetsAreCreatedCorrectly() { contains(widgetClass, widgetClass)); } + @Override + public void checkThatWidgetsAreCreatedCorrectly() { + //Do Nothing + } + public static class CombinedApp implements AbstractApp { @OverrideWidget(html = DefaultFindByWidget.class, diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java index cbae48bcc..8d6bdbb2c 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java @@ -1,6 +1,5 @@ package io.appium.java_client.pagefactory_tests.widget.tests.combined; -import static java.util.Arrays.asList; import static java.util.stream.Collectors.toList; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; @@ -13,60 +12,57 @@ import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import io.appium.java_client.pagefactory_tests.widget.tests.android.DefaultAndroidWidget; import io.appium.java_client.pagefactory_tests.widget.tests.windows.DefaultWindowsWidget; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import java.util.ArrayList; -import java.util.Collection; import java.util.List; +import java.util.stream.Stream; @SuppressWarnings({"unchecked", "unused"}) -@RunWith(Parameterized.class) public class CombinedWidgetTest extends WidgetTest { - private final Class widgetClass; - /** * Test data generation. * * @return test parameters */ - @Parameterized.Parameters - public static Collection data() { - return asList( - dataArray(new AppWithCombinedWidgets(), + public static Stream data() { + return Stream.of( + Arguments.of(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - dataArray(new AppWithCombinedWidgets(), + Arguments.of(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultIosXCUITWidget.class), - dataArray(new AppWithCombinedWidgets(), + Arguments.of(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultWindowsWidget.class), - dataArray(new AppWithCombinedWidgets(), + Arguments.of(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - dataArray(new AppWithCombinedWidgets(), + Arguments.of(new AppWithCombinedWidgets(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), + Arguments.of(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubAndroidDriver(), DefaultAndroidWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), + Arguments.of(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubIOSXCUITDriver(), DefaultStubWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), + Arguments.of(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubWindowsDriver(), DefaultStubWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), + Arguments.of(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubBrowserDriver(), DefaultFindByWidget.class), - dataArray(new AppWithPartiallyCombinedWidgets(), + Arguments.of(new AppWithPartiallyCombinedWidgets(), new AbstractStubWebDriver.StubAndroidBrowserOrWebViewDriver(), DefaultFindByWidget.class) ); } - public CombinedWidgetTest(AbstractApp app, WebDriver driver, Class widgetClass) { + public CombinedWidgetTest(AbstractApp app, WebDriver driver) { super(app, driver); - this.widgetClass = widgetClass; } - @Override - public void checkThatWidgetsAreCreatedCorrectly() { + @ParameterizedTest + @MethodSource("data") + public void checkThatWidgetsAreCreatedCorrectly(AbstractApp app, WebDriver driver, Class widgetClass) { assertThat("Expected widget class was " + widgetClass.getName(), app.getWidget().getSubWidget().getSelfReference().getClass(), equalTo(widgetClass)); @@ -81,6 +77,11 @@ public void checkThatWidgetsAreCreatedCorrectly() { contains(widgetClass, widgetClass, widgetClass, widgetClass)); } + @Override + public void checkThatWidgetsAreCreatedCorrectly() { + //Do Nothing + } + public static class CombinedWidget extends DefaultStubWidget { @OverrideWidget(html = DefaultFindByWidget.class, diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java index d2e4d483f..f4acd85ec 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java @@ -9,6 +9,7 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; +import org.junit.jupiter.api.Test; public class XCUITWidgetTest extends ExtendedWidgetTest { @@ -16,12 +17,14 @@ public XCUITWidgetTest() { super(new IosApp(), new AbstractStubWebDriver.StubIOSXCUITDriver()); } + @Test @Override public void checkThatWidgetsAreCreatedCorrectly() { checkThatLocatorsAreCreatedCorrectly(app.getWidget(), app.getWidgets(), iOSNsPredicateString(IOS_XCUIT_WIDGET_LOCATOR), iOSNsPredicateString(XCUIT_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getAnnotatedWidget(), @@ -29,6 +32,7 @@ public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { iOSNsPredicateString(XCUIT_ROOT_WIDGET_LOCATOR), iOSNsPredicateString(XCUIT_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidget(), @@ -36,6 +40,7 @@ public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() iOSNsPredicateString(XCUIT_ROOT_WIDGET_LOCATOR), iOSNsPredicateString(XCUIT_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidgetWithOverriddenLocators(), diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java index fbd9da9a6..ae5fb2d3f 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java @@ -9,6 +9,7 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; +import org.junit.jupiter.api.Test; public class WindowsWidgetTest extends ExtendedWidgetTest { @@ -16,12 +17,14 @@ public WindowsWidgetTest() { super(new WindowsApp(), new AbstractStubWebDriver.StubWindowsDriver()); } + @Test @Override public void checkThatWidgetsAreCreatedCorrectly() { checkThatLocatorsAreCreatedCorrectly(app.getWidget(), app.getWidgets(), windowsAutomation(WINDOWS_DEFAULT_WIDGET_LOCATOR), windowsAutomation(WINDOWS_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getAnnotatedWidget(), @@ -29,6 +32,7 @@ public void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation() { windowsAutomation(WINDOWS_ROOT_WIDGET_LOCATOR), windowsAutomation(WINDOWS_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidget(), @@ -36,6 +40,7 @@ public void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass() windowsAutomation(WINDOWS_ROOT_WIDGET_LOCATOR), windowsAutomation(WINDOWS_SUB_WIDGET_LOCATOR)); } + @Test @Override public void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations() { checkThatLocatorsAreCreatedCorrectly(((ExtendedApp) app).getExtendedWidgetWithOverriddenLocators(), From 5abd0e3558b9a6140b8671446757c6cc92d75e26 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Wed, 27 Jul 2022 17:46:53 +0530 Subject: [PATCH 20/23] refactor!: Added missing import --- .../pagefactory_tests/widget/tests/ExtendedWidgetTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java index d8d3a7b60..238f91b89 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java @@ -1,11 +1,11 @@ package io.appium.java_client.pagefactory_tests.widget.tests; import static java.util.stream.Collectors.toList; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsString; -import static org.junit.Assert.assertThat; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; From 022b5761f8592822ab97f451f6120ad3a3cfa958 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Wed, 27 Jul 2022 18:17:01 +0530 Subject: [PATCH 21/23] refactor!: Updated Widget Parameterized Tests --- build.gradle | 2 +- .../widget/tests/combined/CombinedAppTest.java | 13 +------------ .../widget/tests/combined/CombinedWidgetTest.java | 12 +----------- 3 files changed, 3 insertions(+), 24 deletions(-) diff --git a/build.gradle b/build.gradle index c831a0b35..eee2cdf67 100644 --- a/build.gradle +++ b/build.gradle @@ -57,7 +57,7 @@ dependencies { implementation 'commons-io:commons-io:2.11.0' implementation 'org.slf4j:slf4j-api:1.7.36' - testImplementation 'org.junit.jupiter:junit-jupiter:5.8.2' + testImplementation 'org.junit.jupiter:junit-jupiter:5.9.0' testImplementation 'org.hamcrest:hamcrest:2.2' testImplementation (group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.2.1') { exclude group: 'org.seleniumhq.selenium' diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java index 1afe701c9..0955e3717 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java @@ -9,7 +9,6 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractApp; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.DefaultStubWidget; -import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import io.appium.java_client.pagefactory_tests.widget.tests.android.DefaultAndroidWidget; import io.appium.java_client.pagefactory_tests.widget.tests.windows.DefaultWindowsWidget; import org.junit.jupiter.params.ParameterizedTest; @@ -17,12 +16,11 @@ import org.junit.jupiter.params.provider.MethodSource; import org.openqa.selenium.WebDriver; - import java.util.List; import java.util.stream.Stream; @SuppressWarnings({"unused", "unchecked"}) -public class CombinedAppTest extends WidgetTest { +public class CombinedAppTest { /** * Test data generation. @@ -51,10 +49,6 @@ public static Stream data() { ); } - public CombinedAppTest(AbstractApp app, WebDriver driver) { - super(app, driver); - } - @ParameterizedTest @MethodSource("data") public void checkThatWidgetsAreCreatedCorrectly(AbstractApp app, WebDriver driver, Class widgetClass) { @@ -69,11 +63,6 @@ public void checkThatWidgetsAreCreatedCorrectly(AbstractApp app, WebDriver drive contains(widgetClass, widgetClass)); } - @Override - public void checkThatWidgetsAreCreatedCorrectly() { - //Do Nothing - } - public static class CombinedApp implements AbstractApp { @OverrideWidget(html = DefaultFindByWidget.class, diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java index 8d6bdbb2c..e00476a33 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java @@ -9,7 +9,6 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractApp; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.DefaultStubWidget; -import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import io.appium.java_client.pagefactory_tests.widget.tests.android.DefaultAndroidWidget; import io.appium.java_client.pagefactory_tests.widget.tests.windows.DefaultWindowsWidget; import org.junit.jupiter.params.ParameterizedTest; @@ -24,7 +23,7 @@ @SuppressWarnings({"unchecked", "unused"}) -public class CombinedWidgetTest extends WidgetTest { +public class CombinedWidgetTest { /** * Test data generation. @@ -56,10 +55,6 @@ public static Stream data() { ); } - public CombinedWidgetTest(AbstractApp app, WebDriver driver) { - super(app, driver); - } - @ParameterizedTest @MethodSource("data") public void checkThatWidgetsAreCreatedCorrectly(AbstractApp app, WebDriver driver, Class widgetClass) { @@ -77,11 +72,6 @@ public void checkThatWidgetsAreCreatedCorrectly(AbstractApp app, WebDriver drive contains(widgetClass, widgetClass, widgetClass, widgetClass)); } - @Override - public void checkThatWidgetsAreCreatedCorrectly() { - //Do Nothing - } - public static class CombinedWidget extends DefaultStubWidget { @OverrideWidget(html = DefaultFindByWidget.class, From dd77163490e4a0bb0d8b2fc012a472fc779bab51 Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Wed, 27 Jul 2022 19:27:52 +0530 Subject: [PATCH 22/23] refactor!: Updated Tests --- .../widget/tests/combined/CombinedAppTest.java | 3 +++ .../widget/tests/combined/CombinedWidgetTest.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java index 0955e3717..8c93632ec 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedAppTest.java @@ -4,7 +4,9 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.equalTo; +import static org.openqa.selenium.support.PageFactory.initElements; +import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.pagefactory.OverrideWidget; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractApp; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; @@ -52,6 +54,7 @@ public static Stream data() { @ParameterizedTest @MethodSource("data") public void checkThatWidgetsAreCreatedCorrectly(AbstractApp app, WebDriver driver, Class widgetClass) { + initElements(new AppiumFieldDecorator(driver), app); assertThat("Expected widget class was " + widgetClass.getName(), app.getWidget().getSelfReference().getClass(), equalTo(widgetClass)); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java index e00476a33..1d686c58e 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/combined/CombinedWidgetTest.java @@ -4,7 +4,9 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.equalTo; +import static org.openqa.selenium.support.PageFactory.initElements; +import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.pagefactory.OverrideWidget; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractApp; import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; @@ -58,6 +60,7 @@ public static Stream data() { @ParameterizedTest @MethodSource("data") public void checkThatWidgetsAreCreatedCorrectly(AbstractApp app, WebDriver driver, Class widgetClass) { + initElements(new AppiumFieldDecorator(driver), app); assertThat("Expected widget class was " + widgetClass.getName(), app.getWidget().getSubWidget().getSelfReference().getClass(), equalTo(widgetClass)); From 3741d7cd7cde7760bd5e2193072c5ef82b56d1ae Mon Sep 17 00:00:00 2001 From: Ramesh Babu Date: Thu, 28 Jul 2022 18:43:03 +0530 Subject: [PATCH 23/23] refactor!: Merged WidgetTest classes --- .../widget/tests/ExtendedWidgetTest.java | 47 ------------------- .../widget/tests/WidgetTest.java | 35 ++++++++++++++ .../tests/android/AndroidWidgetTest.java | 4 +- .../widget/tests/ios/XCUITWidgetTest.java | 4 +- .../tests/windows/WindowsWidgetTest.java | 4 +- 5 files changed, 41 insertions(+), 53 deletions(-) delete mode 100644 src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java deleted file mode 100644 index 238f91b89..000000000 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ExtendedWidgetTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package io.appium.java_client.pagefactory_tests.widget.tests; - -import static java.util.stream.Collectors.toList; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.containsString; - -import org.junit.jupiter.api.Test; -import org.openqa.selenium.By; -import org.openqa.selenium.WebDriver; - -import java.util.List; - -public abstract class ExtendedWidgetTest extends WidgetTest { - - protected ExtendedWidgetTest(ExtendedApp app, WebDriver driver) { - super(app, driver); - } - - @Test - public abstract void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation(); - - @Test - public abstract void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass(); - - @Test - public abstract void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations(); - - protected static void checkThatLocatorsAreCreatedCorrectly(DefaultStubWidget single, - List multiple, By rootLocator, - By subLocator) { - - assertThat(single.toString(), containsString(rootLocator.toString())); - assertThat(multiple.stream().map(DefaultStubWidget::toString).collect(toList()), - contains(containsString(rootLocator.toString()), - containsString(rootLocator.toString()))); - - assertThat(single.getSubWidget().toString(), containsString(subLocator.toString())); - assertThat(single.getSubWidgets().stream().map(Object::toString).collect(toList()), - contains(containsString(subLocator.toString()), - containsString(subLocator.toString()))); - - assertThat(multiple.stream().map(abstractWidget -> abstractWidget.getSubWidget().toString()).collect(toList()), - contains(containsString(subLocator.toString()), - containsString(subLocator.toString()))); - } -} diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java index e054dcc16..0420d44f6 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/WidgetTest.java @@ -1,11 +1,18 @@ package io.appium.java_client.pagefactory_tests.widget.tests; +import static java.util.stream.Collectors.toList; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.containsString; import static org.openqa.selenium.support.PageFactory.initElements; import io.appium.java_client.pagefactory.AppiumFieldDecorator; import org.junit.jupiter.api.Test; +import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; +import java.util.List; + public abstract class WidgetTest { protected final AbstractApp app; @@ -17,4 +24,32 @@ protected WidgetTest(AbstractApp app, WebDriver driver) { @Test public abstract void checkThatWidgetsAreCreatedCorrectly(); + + @Test + public abstract void checkCaseWhenWidgetClassHasDeclaredLocatorAnnotation(); + + @Test + public abstract void checkCaseWhenWidgetClassHasNoDeclaredAnnotationButItHasSuperclass(); + + @Test + public abstract void checkCaseWhenBothWidgetFieldAndClassHaveDeclaredAnnotations(); + + protected static void checkThatLocatorsAreCreatedCorrectly(DefaultStubWidget single, + List multiple, By rootLocator, + By subLocator) { + + assertThat(single.toString(), containsString(rootLocator.toString())); + assertThat(multiple.stream().map(DefaultStubWidget::toString).collect(toList()), + contains(containsString(rootLocator.toString()), + containsString(rootLocator.toString()))); + + assertThat(single.getSubWidget().toString(), containsString(subLocator.toString())); + assertThat(single.getSubWidgets().stream().map(Object::toString).collect(toList()), + contains(containsString(subLocator.toString()), + containsString(subLocator.toString()))); + + assertThat(multiple.stream().map(abstractWidget -> abstractWidget.getSubWidget().toString()).collect(toList()), + contains(containsString(subLocator.toString()), + containsString(subLocator.toString()))); + } } diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java index 566959cfc..a3eee515a 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/android/AndroidWidgetTest.java @@ -8,10 +8,10 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; -import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; +import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import org.junit.jupiter.api.Test; -public class AndroidWidgetTest extends ExtendedWidgetTest { +public class AndroidWidgetTest extends WidgetTest { public AndroidWidgetTest() { super(new AndroidApp(), new AbstractStubWebDriver.StubAndroidDriver()); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java index f4acd85ec..6a9bb0d53 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/ios/XCUITWidgetTest.java @@ -8,10 +8,10 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; -import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; +import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import org.junit.jupiter.api.Test; -public class XCUITWidgetTest extends ExtendedWidgetTest { +public class XCUITWidgetTest extends WidgetTest { public XCUITWidgetTest() { super(new IosApp(), new AbstractStubWebDriver.StubIOSXCUITDriver()); diff --git a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java index ae5fb2d3f..d5990b7e5 100644 --- a/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java +++ b/src/test/java/io/appium/java_client/pagefactory_tests/widget/tests/windows/WindowsWidgetTest.java @@ -8,10 +8,10 @@ import io.appium.java_client.pagefactory_tests.widget.tests.AbstractStubWebDriver; import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedApp; -import io.appium.java_client.pagefactory_tests.widget.tests.ExtendedWidgetTest; +import io.appium.java_client.pagefactory_tests.widget.tests.WidgetTest; import org.junit.jupiter.api.Test; -public class WindowsWidgetTest extends ExtendedWidgetTest { +public class WindowsWidgetTest extends WidgetTest { public WindowsWidgetTest() { super(new WindowsApp(), new AbstractStubWebDriver.StubWindowsDriver());