Java-client version 3.3.0 released

Most significant change: Upgrade selenium dependency to 2.48.2

Everybody get excited for appium version 1.5. Going through final testing now.

3.3.0

  • updated the dependency on Selenium to version 2.48.2
  • bug fix and enhancements of io.appium.java_client.service.local.AppiumDriverLocalService
    • FIXED bug which was found and reproduced with Eclipse for Mac OS X. Please read about details here: #252
      Thanks to saikrishna321 for the bug report
    • FIXED bug which was found out by Jonahss. Thanks for the reporting. Details: #272
      and #273
    • For starting an appium server using localService, added additional environment variable to specify the location of Node.js binary: NODE_BINARY_PATH
    • The ability to set additional output streams was provided
  • The additional startActivity() method was added to AndroidDriver. It allows to start activities without the stopping of a target app
    Thanks to deadmoto for the contribution
  • The additional extension of the Page Object design pattern was designed. Please read about details here: #267
  • New public constructors to AndroidDriver/IOSDriver that allow passing a custom HttpClient.Factory Details: #276 thanks to baechul
1 Like

Hi, I’ve got problem with 3.3.0. On 3.2.0 everything works well, but after updating to 3.3.0 my test dont want to work. I tried to ask here: http://stackoverflow.com/questions/34312395/appium-java-client-3-3-0-doesnt-want-to-start but noone know.

I’ve got correct dependencies, I think that capabilities are also good, but if I try to build it, I’m getting this:

[INFO] C:\Users\medek\workspace\AndroidAppiumTests\src\main\java:-1: info: compiling
[INFO] C:\Users\medek\workspace\AndroidAppiumTests\src\main\scala:-1: info: compiling
[INFO] Compiling 52 source files to C:\Users\medek\workspace\AndroidAppiumTests\target\classes at 1450269109670
[WARNING] warning: Class org.openqa.selenium.remote.http.HttpClient not found - continuing with a stub.
[WARNING] warning: Class org.openqa.selenium.remote.http.HttpClient not found - continuing with a stub.
[WARNING] warning: Class org.openqa.selenium.remote.http.HttpClient not found - continuing with a stub.
[WARNING] warning: Class org.openqa.selenium.remote.http.HttpClient not found - continuing with a stub.
[WARNING] warning: Class org.openqa.selenium.remote.http.HttpClient not found - continuing with a stub.
[WARNING] warning: Class org.openqa.selenium.remote.http.HttpClient not found - continuing with a stub.
[WARNING] warning: Class org.openqa.selenium.remote.http.HttpClient not found - continuing with a stub.
[WARNING] warning: Class org.openqa.selenium.remote.http.HttpClient not found - continuing with a stub.
[ERROR] error: Unable to locate class corresponding to inner class entry for Factory in owner org.openqa.selenium.remote.http.HttpClient
[ERROR] error: Unable to locate class corresponding to inner class entry for Builder in owner org.openqa.selenium.remote.service.DriverService
[WARNING] 8 warnings found
[ERROR] two errors found
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

Dependencies

<dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.48.2</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>2.48.2</version>
    </dependency>
    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>3.3.0</version>
    </dependency>

Capabilities

def setupTest: AndroidDriver[AndroidElement] = {
  val caps: DesiredCapabilities = new DesiredCapabilities
  caps.setCapability(CapabilityType.BROWSER_NAME, "")
  caps.setCapability("platformName", Setting.platformName)
  caps.setCapability("deviceName", Setting.deviceName)
  caps.setCapability("platformVersion", Setting.androidVersion.toString)
  caps.setCapability("appActivity", Setting.appActivity)
  caps.setCapability("app", Setting.pathToApp)
  caps.setCapability("unicodeKeyboard", true)
  caps.setCapability("resetKeyboard", false)
  caps.setCapability("newCommandTimeout", 600)
  new AndroidDriver(new URL(Setting.urlToServer), caps)
}

Did I miss something?

I’ve tried to build a project with this fragment. Everything was ok.
I suggest you to check dependencies because I suspect the version conflict of

because I think that your project is still depending on older Selenium version somehow. The feature org.openqa.selenium.remote.http.HttpClient was released on 2015 (I don’t remember the release)
Also I advice you to use only

because the artefact already depends on Selenium.

If I try to leave there only

<dependency>
	<groupId>io.appium</groupId>
	<artifactId>java-client</artifactId>
 	<version>LATEST</version>
</dependency>

it doesnt work anyway.

Maybe your project depends on some other artefact. That artefact can depend on older Selenium version. Please check it.
If it is true please add org.seleniumhq.selenium to exclusions inside that dependency declaration. Please report an issue here otherwice: https://github.com/appium/java-client/issues. It would be perfect to see your pom at that report.

Its solved now! It was caused by another project, which I have in dependencies. In this project were selenium 2.42.2. After update it to 2.48.2 (appium required), it works. Thank you very much.

1 Like