Skip to content
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
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,15 @@

This is the Java language bindings for writing Appium Tests that conform to [WebDriver Protocol](https://w3c.github.io/webdriver/)

## v8 Migration
## v8 to v9 Migration

Since v9 the client only supports Java 11 and above.
Follow the [v8 to v9 Migration Guide](./docs/v8-to-v9-migration-guide.md) in order to streamline the migration process.

## v7 to v8 Migration

Since version 8 Appium Java Client had several major changes, which might require to
update your client code. Make sure to follow the [v7 to v8 Migration Guide](https://github.com/appium/java-client/blob/master/docs/v7-to-v8-migration-guide.md)
update your client code. Make sure to follow the [v7 to v8 Migration Guide](./docs/v7-to-v8-migration-guide.md)
in order to streamline the migration process.

## Add Appium java client to your test framework
Expand Down Expand Up @@ -90,6 +95,7 @@ dependencies {
### Compatibility Matrix
Appium Java Client | Selenium client
--------------------|-----------------
`9.0.0` | `4.14.1`
`8.5.0`, `8.5.1` | `4.9.1`, `4.10.0`, `4.11.0`, `4.12.0`, `4.12.1` (known issue: appium/java-client#2004), `4.13.0`
`8.4.0` | `4.8.2`, `4.8.3`, `4.9.0`
`8.3.0` | `4.7.0`, `4.7.1`, `4.7.2`, `4.8.0`, `4.8.1`
Expand Down
46 changes: 46 additions & 0 deletions docs/v8-to-v9-migration-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
This is the list of main changes between major versions 8 and 9 of Appium
java client. This list should help you to successfully migrate your
existing automated tests codebase.


## The support for Java compilers below version 11 has been dropped

- The minimum supported Java version is now 11. The library won't work
with Java compilers below this version.

## The minimum supported Selenium version is set to 4.14.1

- Selenium versions below 4.14.1 won't work with Appium java client 9+.
Check the [Compatibility Matrix](../README.md#compatibility-matrix) for more
details about versions compatibility.

## Removed previously deprecated items

- `MobileBy` class has been removed. Use
[AppiumBy](../src/main/java/io/appium/java_client/AppiumBy.java) instead
- `launchApp`, `resetApp` and `closeApp` methods along with their
`SupportsLegacyAppManagement` container.
Use [the corresponding extension methods](https://github.com/appium/appium/issues/15807) instead.
- `WindowsBy` class and related location strategies.
- `ByAll` class has been removed in favour of the same class from Selenium lib.
- `AndroidMobileCapabilityType` interface. Use
[UIAutomator2 driver options](../src/main/java/io/appium/java_client/android/options/UiAutomator2Options.java)
or [Espresso driver options](../src/main/java/io/appium/java_client/android/options/EspressoOptions.java) instead.
- `IOSMobileCapabilityType` interface. Use
[XCUITest driver options](../src/main/java/io/appium/java_client/ios/options/XCUITestOptions.java) instead.
- `MobileCapabilityType` interface. Use
[driver options](../src/main/java/io/appium/java_client/remote/options/BaseOptions.java) instead.
- `MobileOptions` class. Use
[driver options](../src/main/java/io/appium/java_client/remote/options/BaseOptions.java) instead.
- `YouiEngineCapabilityType` interface. Use
[driver options](../src/main/java/io/appium/java_client/remote/options/BaseOptions.java) instead.
- Several misspelled methods. Use properly spelled alternatives instead.
- `startActivity` method from AndroidDriver. Use
[mobile: startActivity](https://github.com/appium/appium-uiautomator2-driver#mobile-startactivity)
extension method instead.
- `APPIUM` constant from the AutomationName interface. It is not needed anymore.
- `PRE_LAUNCH` value from the GeneralServerFlag enum. It is not needed anymore.

## Moved items

- `AppiumUserAgentFilter` class to `io.appium.java_client.internal.filters` package.