I have the task of upgrading a rather old integration tests framework for mobile. It is using the following dependencies:
Selenium:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.48.2</version> <exclusions> <exclusion> <artifactId>httpmime</artifactId> <groupId>org.apache.httpcomponents</groupId> </exclusion> </exclusions> </dependency>
Appium java-client:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.3.0</version> <exclusions> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> </exclusion> </exclusions> </dependency>
Saucelabs:
<dependency> <groupId>com.saucelabs</groupId> <artifactId>ci-sauce</artifactId> <version>1.113</version> <exclusions> <!-- Exclude internal sauce 'selenium-java' dependency since we have it already --> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> </exclusion> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> </exclusions> </dependency>
I ran this command: mvn versions:display-dependency-updates, to try to upgrade everything but there are so many classes that are obsolete now.
My tests heavily rely on the airplane mode and network being toggled and I see that the latest java client doesn’t support this. import io.appium.java_client.NetworkConnectionSetting is no longer supported either.
I could really use help with recommendations for suitable version upgrades.
Note: As per SauceLabs documentation, it supports only version 1.5.3 of Appium. What is the best version of java-client to go along with that?