Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Update Service to properly work with options #1550

Merged
merged 8 commits into from
Oct 26, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public interface SupportsAutoGrantPermissionsOption<T extends BaseOptions<T>> ex
*
* @return self instance for chaining.
*/
default T setAutoGrantPermissions() {
default T autoGrantPermissions() {
return amend(AUTO_GRANT_PERMISSIONS_OPTION, true);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import static io.github.bonigarcia.wdm.WebDriverManager.chromedriver;
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.assertTrue;

Expand All @@ -43,31 +42,35 @@

public class StartingAppLocallyTest {

@Test public void startingAndroidAppWithCapabilitiesOnlyTest() {
@Test
public void startingAndroidAppWithCapabilitiesOnlyTest() {
AndroidDriver<?> driver = new AndroidDriver<>(new UiAutomator2Options()
.setDeviceName("Android Emulator")
.autoGrantPermissions()
.setApp(apiDemosApk().toAbsolutePath().toString()));
try {
Capabilities caps = driver.getCapabilities();

assertTrue(MobilePlatform.ANDROID.equalsIgnoreCase(
(String) caps.getCapability(MobileCapabilityType.PLATFORM_NAME))
);
assertNotNull(AutomationName.ANDROID_UIAUTOMATOR2, caps.getCapability(MobileCapabilityType.AUTOMATION_NAME));
assertEquals(AutomationName.ANDROID_UIAUTOMATOR2, caps.getCapability(MobileCapabilityType.AUTOMATION_NAME));
assertNotNull(caps.getCapability(MobileCapabilityType.DEVICE_NAME));
assertEquals(apiDemosApk().toAbsolutePath().toString(), caps.getCapability(MobileCapabilityType.APP));
} finally {
driver.quit();
}
}

@Test public void startingAndroidAppWithCapabilitiesAndServiceTest() {
@Test
public void startingAndroidAppWithCapabilitiesAndServiceTest() {
AppiumServiceBuilder builder = new AppiumServiceBuilder()
.withArgument(GeneralServerFlag.SESSION_OVERRIDE)
.withArgument(GeneralServerFlag.STRICT_CAPS);

AndroidDriver<?> driver = new AndroidDriver<>(builder, new UiAutomator2Options()
.setDeviceName("Android Emulator")
.autoGrantPermissions()
.setApp(apiDemosApk().toAbsolutePath().toString()));
try {
Capabilities caps = driver.getCapabilities();
Expand All @@ -81,10 +84,12 @@ public class StartingAppLocallyTest {
}
}

@Test public void startingAndroidAppWithCapabilitiesAndFlagsOnServerSideTest() {
@Test
public void startingAndroidAppWithCapabilitiesAndFlagsOnServerSideTest() {
UiAutomator2Options serverOptions = new UiAutomator2Options()
.setDeviceName("Android Emulator")
.fullReset()
.autoGrantPermissions()
.setNewCommandTimeout(Duration.ofSeconds(60))
.setApp(apiDemosApk().toAbsolutePath().toString());

Expand Down Expand Up @@ -114,7 +119,8 @@ public class StartingAppLocallyTest {
}
}

@Test public void startingIOSAppWithCapabilitiesOnlyTest() {
@Test
public void startingIOSAppWithCapabilitiesOnlyTest() {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, BaseIOSTest.PLATFORM_VERSION);
//sometimes environment has performance problems
Expand All @@ -130,7 +136,7 @@ public class StartingAppLocallyTest {

assertEquals(AutomationName.IOS_XCUI_TEST, caps.getCapability(MobileCapabilityType.AUTOMATION_NAME));
assertEquals(MobilePlatform.IOS, caps.getCapability(MobileCapabilityType.PLATFORM_NAME));
assertNotEquals(null, caps.getCapability(MobileCapabilityType.DEVICE_NAME));
assertNotNull(caps.getCapability(MobileCapabilityType.DEVICE_NAME));
assertEquals(BaseIOSTest.PLATFORM_VERSION, caps.getCapability(MobileCapabilityType.PLATFORM_VERSION));
assertEquals(uiCatalogAppZip().toAbsolutePath().toString(), caps.getCapability(MobileCapabilityType.APP));
} finally {
Expand All @@ -139,7 +145,8 @@ public class StartingAppLocallyTest {
}


@Test public void startingIOSAppWithCapabilitiesAndServiceTest() {
@Test
public void startingIOSAppWithCapabilitiesAndServiceTest() {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, BaseIOSTest.DEVICE_NAME);
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.IOS_XCUI_TEST);
Expand All @@ -158,18 +165,19 @@ public class StartingAppLocallyTest {
Capabilities caps = driver.getCapabilities();
assertTrue(caps.getCapability(MobileCapabilityType.PLATFORM_NAME)
.toString().equalsIgnoreCase(MobilePlatform.IOS));
assertNotNull(null, caps.getCapability(MobileCapabilityType.DEVICE_NAME));
assertNotNull(caps.getCapability(MobileCapabilityType.DEVICE_NAME));
} finally {
driver.quit();
}
}

@Test public void startingIOSAppWithCapabilitiesAndFlagsOnServerSideTest() {
@Test
public void startingIOSAppWithCapabilitiesAndFlagsOnServerSideTest() {
DesiredCapabilities serverCapabilities = new DesiredCapabilities();
serverCapabilities.setCapability(MobileCapabilityType.DEVICE_NAME, BaseIOSTest.DEVICE_NAME);
serverCapabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.IOS_XCUI_TEST);
serverCapabilities.setCapability(IOSMobileCapabilityType.WDA_LAUNCH_TIMEOUT,
BaseIOSTest.WDA_LAUNCH_TIMEOUT.toMillis()); //some environment is too slow
BaseIOSTest.WDA_LAUNCH_TIMEOUT.toMillis()); //some environment is too slow
serverCapabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, BaseIOSTest.PLATFORM_VERSION);
serverCapabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.IOS);

Expand All @@ -185,7 +193,7 @@ public class StartingAppLocallyTest {
Capabilities caps = driver.getCapabilities();
assertTrue(caps.getCapability(MobileCapabilityType.PLATFORM_NAME)
.toString().equalsIgnoreCase(MobilePlatform.IOS));
assertNotEquals(null, caps.getCapability(MobileCapabilityType.DEVICE_NAME));
assertNotNull(caps.getCapability(MobileCapabilityType.DEVICE_NAME));
assertFalse(driver.isBrowser());
} finally {
driver.quit();
Expand Down