diff --git a/bellatrix.ios/src/main/java/solutions/bellatrix/ios/configuration/IOSSettings.java b/bellatrix.ios/src/main/java/solutions/bellatrix/ios/configuration/IOSSettings.java index d2366657..a5dd0508 100644 --- a/bellatrix.ios/src/main/java/solutions/bellatrix/ios/configuration/IOSSettings.java +++ b/bellatrix.ios/src/main/java/solutions/bellatrix/ios/configuration/IOSSettings.java @@ -38,6 +38,7 @@ public class IOSSettings { @Getter @Setter private String defaultIOSVersion; @Getter @Setter private Boolean downloadDemoApps; @Getter @Setter private String serviceUrl; + @Getter @Setter private String deviceIdentifier; @Getter @Setter private List gridSettings; diff --git a/bellatrix.ios/src/main/java/solutions/bellatrix/ios/configuration/TimeoutSettings.java b/bellatrix.ios/src/main/java/solutions/bellatrix/ios/configuration/TimeoutSettings.java index 537bb2b4..f578f391 100644 --- a/bellatrix.ios/src/main/java/solutions/bellatrix/ios/configuration/TimeoutSettings.java +++ b/bellatrix.ios/src/main/java/solutions/bellatrix/ios/configuration/TimeoutSettings.java @@ -21,6 +21,7 @@ public class TimeoutSettings { @Getter @Setter private long elementWaitTimeout; @Getter @Setter private long sleepInterval; @Getter @Setter private long validationsTimeout; + @Getter @Setter private long webviewConnectTimeout; @Getter @Setter private long elementToBeVisibleTimeout; @Getter @Setter private long elementToExistTimeout; @Getter @Setter private long elementToNotExistTimeout; diff --git a/bellatrix.ios/src/main/java/solutions/bellatrix/ios/infrastructure/DriverService.java b/bellatrix.ios/src/main/java/solutions/bellatrix/ios/infrastructure/DriverService.java index bdb0b084..8137b1f7 100644 --- a/bellatrix.ios/src/main/java/solutions/bellatrix/ios/infrastructure/DriverService.java +++ b/bellatrix.ios/src/main/java/solutions/bellatrix/ios/infrastructure/DriverService.java @@ -89,6 +89,8 @@ private static IOSDriver initializeDriverGridMode(GridSettings gridSettings) { caps.setAutomationName(AutomationName.IOS_XCUI_TEST); caps.setPlatformVersion(getAppConfiguration().getIosVersion()); caps.setDeviceName(getAppConfiguration().getDeviceName()); + caps.setUdid(ConfigurationService.get(IOSSettings.class).getDeviceIdentifier()); + caps.setWebviewConnectTimeout(Duration.ofSeconds(ConfigurationService.get(IOSSettings.class).getTimeoutSettings().getWebviewConnectTimeout())); try { var driver = new IOSDriver(new URL(gridSettings.getUrl()), caps); diff --git a/framework-tests/bellatrix.ios.tests/src/main/resources/testFrameworkSettings.dev.json b/framework-tests/bellatrix.ios.tests/src/main/resources/testFrameworkSettings.dev.json index db16647b..e1c22b45 100644 --- a/framework-tests/bellatrix.ios.tests/src/main/resources/testFrameworkSettings.dev.json +++ b/framework-tests/bellatrix.ios.tests/src/main/resources/testFrameworkSettings.dev.json @@ -9,6 +9,7 @@ "defaultDeviceName": "iPhone 6", "defaultIosVersion": "11.3", "defaultBrowser": "Safari", + "deviceIdentifier": "4005808588763", "defaultAppPath": "${user.home}/TestApp.app.zip", "artificialDelayBeforeAction": "0", "automaticallyScrollToVisible": "false", @@ -22,6 +23,7 @@ "elementWaitTimeout": "30", "sleepInterval": "1", "waitForPartialUrl": "30", + "webviewConnectTimeout": 60, "validationsTimeout": "30", "elementToBeVisibleTimeout": "30", "elementToExistTimeout": "30", diff --git a/framework-tests/bellatrix.ios.tests/src/main/resources/testFrameworkSettings.qa.json b/framework-tests/bellatrix.ios.tests/src/main/resources/testFrameworkSettings.qa.json index db16647b..853a7ccc 100644 --- a/framework-tests/bellatrix.ios.tests/src/main/resources/testFrameworkSettings.qa.json +++ b/framework-tests/bellatrix.ios.tests/src/main/resources/testFrameworkSettings.qa.json @@ -9,6 +9,7 @@ "defaultDeviceName": "iPhone 6", "defaultIosVersion": "11.3", "defaultBrowser": "Safari", + "deviceIdentifier": "4005808588763", "defaultAppPath": "${user.home}/TestApp.app.zip", "artificialDelayBeforeAction": "0", "automaticallyScrollToVisible": "false", @@ -21,6 +22,7 @@ "implicitWaitTimeout": "5", "elementWaitTimeout": "30", "sleepInterval": "1", + "webviewConnectTimeout": 60, "waitForPartialUrl": "30", "validationsTimeout": "30", "elementToBeVisibleTimeout": "30",