Skip to content

Commit 5a9d175

Browse files
author
Álvaro Santos Laserna López
committed
changes
1 parent f5b5677 commit 5a9d175

15 files changed

Lines changed: 181 additions & 46 deletions

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
<argLine>
6868
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
6969
</argLine>
70-
<forkCount>3</forkCount>
70+
<forkCount>5</forkCount>
7171
<!-- <parallel>methods</parallel>-->
7272
<!-- <useUnlimitedThreads>true</useUnlimitedThreads>-->
7373
<properties>
@@ -147,7 +147,7 @@
147147
<dependency>
148148
<groupId>com.codeborne</groupId>
149149
<artifactId>selenide</artifactId>
150-
<version>5.3.1</version> <!-- Use 4.12.2 if does not work in 5.X.X-->
150+
<version>5.5.0</version> <!-- Use 4.12.2 if does not work in 5.X.X-->
151151
</dependency>
152152
<dependency>
153153
<groupId>org.slf4j</groupId>

src/main/java/testUI/AndroidUtils/AndroidCapabilities.java

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ public static DesiredCapabilities setAppAndroidCapabilities(TestUIConfiguration
8282

8383
public static DesiredCapabilities setAndroidBrowserCapabilities(
8484
TestUIConfiguration configuration) {
85-
String deviceVersion = "";
8685
if (Configuration.appiumUrl.isEmpty()) {
8786
if (configuration.getEmulatorName().isEmpty() && getDevices().size() == 0) {
8887
throw new Error("There is no device available to run the automation!");
@@ -94,22 +93,17 @@ public static DesiredCapabilities setAndroidBrowserCapabilities(
9493
throw new Error();
9594
}
9695
getDevModel(configuration);
97-
deviceVersion = Configuration.androidVersion.isEmpty() &&
98-
configuration.getEmulatorName().isEmpty() ?
99-
adbUtils.getDeviceVersion(getDevice()) :
100-
Configuration.androidVersion;
10196
} else {
10297
if (configuration.getEmulatorName().isEmpty() && getDevices().size() == 0) {
10398
if (!Configuration.emulatorName.isEmpty()) {
10499
configuration.setEmulatorName(Configuration.emulatorName);
105-
} else if (!Configuration.androidDeviceName.isEmpty()) {
106-
setDevice(Configuration.androidDeviceName, Configuration.androidDeviceName);
100+
} else if (!Configuration.UDID.isEmpty() && !Configuration.androidDeviceName.isEmpty()) {
101+
setDevice(Configuration.UDID, Configuration.androidDeviceName);
102+
} else if (!Configuration.UDID.isEmpty()) {
103+
setDevice(Configuration.UDID, Configuration.UDID);
107104
} else {
108105
throw new Error("There is no device available to run the automation!");
109106
}
110-
if (!Configuration.androidVersion.isEmpty()) {
111-
deviceVersion = Configuration.androidVersion;
112-
}
113107
}
114108
}
115109
// Created object of DesiredCapabilities class.
@@ -124,16 +118,11 @@ public static DesiredCapabilities setAndroidBrowserCapabilities(
124118
}
125119
if (getDesiredCapabilities() == null) {
126120
if (configuration.getEmulatorName().isEmpty()) {
127-
String deviceName = configuration.getAndroidDeviceName().isEmpty() ? getDevice()
128-
: configuration.getAndroidDeviceName();
129-
if (deviceVersion.isEmpty()) {
130-
deviceVersion = Configuration.androidVersion;
131-
}
132-
cap.setCapability(MobileCapabilityType.DEVICE_NAME, deviceName);
133-
cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, deviceVersion);
121+
String udid = configuration.getUDID().isEmpty() ? getDevice()
122+
: configuration.getUDID();
123+
cap.setCapability(MobileCapabilityType.UDID, udid);
124+
cap.setCapability(MobileCapabilityType.DEVICE_NAME, udid);
134125
} else {
135-
cap.setCapability(MobileCapabilityType.DEVICE_NAME,
136-
configuration.getEmulatorName());
137126
cap.setCapability(AndroidMobileCapabilityType.AVD, configuration.getEmulatorName());
138127
}
139128
if (Configuration.AutomationName.isEmpty()) {

src/main/java/testUI/AndroidUtils/AndroidTestUIDriver.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.openqa.selenium.remote.DesiredCapabilities;
66
import testUI.Configuration;
77
import testUI.TestUIConfiguration;
8+
import testUI.Utils.GridTestUI;
89
import testUI.Utils.TestUIException;
910

1011
import java.net.MalformedURLException;
@@ -90,6 +91,11 @@ protected static void startFirstAndroidBrowserDriver(
9091
getDrivers().get(0).get(urlOrRelativeUrl);
9192
} else {
9293
getDrivers().get(0).quit();
94+
try {
95+
new GridTestUI().setAppiumAndroidConfiguration();
96+
} catch (Exception e) {
97+
putLogInfo("Already requested node");
98+
}
9399
setDriver(new AndroidDriver(new URL(url), cap) {
94100
}, 0);
95101
getDrivers().get(0).get(urlOrRelativeUrl);

src/main/java/testUI/BrowserLogs.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ public BrowserLogs getNetworkCalls() {
178178
callHar.add(call);
179179
}
180180
}
181-
} catch (UnsupportedCommandException e) {
181+
} catch (UnsupportedCommandException | JsonException e) {
182182
putLog("The PERFORMANCE logs are not supported for this browser");
183183
}
184184
} else {

src/main/java/testUI/IOSUtils/IOCapabilities.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ private static DesiredCapabilities getIOSDevice() {
9797
Configuration.UDID = sampleIOSDevice.get("udid");
9898
} else {
9999
Configuration.iOSDeviceName = iosCommands.getIOSName(Configuration.UDID);
100-
Configuration.iOSVersion = iosCommands.getIOSVersion(Configuration.UDID);
100+
if (!Configuration.iOSDeviceName.isEmpty()) {
101+
Configuration.iOSVersion = iosCommands.getIOSVersion(Configuration.UDID);
102+
}
101103
}
102104
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,
103105
Configuration.iOSDeviceName);

src/main/java/testUI/IOSUtils/IOSCommands.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import java.util.Map;
1212

1313
import static testUI.UIUtils.putLog;
14+
import static testUI.Utils.Logger.putLogWarn;
1415

1516
public class IOSCommands {
1617
private Map<String, Map<String, String>> getSimulatorNames() {
@@ -123,7 +124,8 @@ public String getIOSName(String udid) {
123124
while ((s = stdInput.readLine()) != null) {
124125
output.add(s);
125126
if (s.contains("No device found")) {
126-
throw new TestUIException("");
127+
putLogWarn("No device found with this UDID: " + udid);
128+
return "";
127129
}
128130
}
129131
Process p2 = Runtime.getRuntime().exec(

src/main/java/testUI/IOSUtils/IOSTestUIDriver.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ protected static void startFirstIOSBrowserDriver(String urlOrRelativeUrl) {
6666
putLogError("Could not create driver! retrying...");
6767
sleep(500);
6868
if (i == 1) {
69+
e.printStackTrace();
6970
throw new Error(e);
7071
}
7172
}

src/main/java/testUI/TestUIConfiguration.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class TestUIConfiguration {
2828
private static ThreadLocal<String> emulatorName = new ThreadLocal<>();
2929
// private final String xcodeOrgId = Configuration.xcodeOrgId;
3030
// private final String xcodeSigningId = Configuration.xcodeSigningId;
31-
// private final String UDID = Configuration.UDID;
31+
private final String UDID = Configuration.UDID;
3232
// private final String bundleId = Configuration.bundleId;
3333
// private final String updatedWDABundleId = Configuration.updatedWDABundleId;
3434
// private final DesiredCapabilities addMobileDesiredCapabilities =
@@ -104,6 +104,10 @@ public String getAndroidDeviceName() {
104104
return androidDeviceName;
105105
}
106106

107+
public String getUDID() {
108+
return UDID;
109+
}
110+
107111
public String getAppiumUrl() {
108112
return appiumUrl;
109113
}

src/main/java/testUI/TestUIServer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import testUI.IOSUtils.IOSCommands;
1111
import testUI.Utils.AppiumHelps;
1212
import testUI.Utils.AppiumTimeoutException;
13+
import testUI.Utils.GridTestUI;
1314

1415
import java.io.File;
1516
import java.util.List;
@@ -276,7 +277,9 @@ protected static void setRunDevice(int realDevices,
276277
UDID = sampleIOSDevice.get("udid");
277278
} else {
278279
iOSDeviceName = iosCommands.getIOSName(UDID);
279-
iOSVersion = iosCommands.getIOSVersion(UDID);
280+
if (!iOSDeviceName.isEmpty()) {
281+
iOSVersion = iosCommands.getIOSVersion(UDID);
282+
}
280283
}
281284
}
282285
setiOSDevice(iOSDeviceName);
@@ -371,6 +374,8 @@ protected static void tryStop(int driver) {
371374
}
372375

373376
public static void stop() {
377+
GridTestUI grid = new GridTestUI();
378+
grid.releaseAppiumSession();
374379
if (deviceTests) {
375380
removeUsePort(driver - 1);
376381
removeUseBootstrapPort(driver - 1);

src/main/java/testUI/UIUtils.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
import static testUI.elements.TestUI.takeScreenshotsAllure;
1919

2020
public class UIUtils extends Configuration {
21-
private static Logger logger = Logger.getLogger(UIUtils.class.getName());
22-
2321
private volatile static ThreadLocal<List<AppiumDriverLocalService>> service
2422
= new ThreadLocal<>();
2523
private static ThreadLocal<List<String>> Device = new ThreadLocal<>();

0 commit comments

Comments
 (0)