Releases: appium/java-client
v5.0.0-BETA9
- [ENHANCEMENT] Page factory: Mixed locator strategies were implemented. Feature request:#565 Implementation: #646
- [DEPRECATED] All the content of the
io.appium.java_client.youiengine
package was markedDeprecated
. It is going to be removed. #652 - [UPDATE] Update of the
com.google.code.gson:gson
to v2.8.1.
v5.0.0-BETA8
-
[ENHANCEMENT] Page factory classes became which had package visibility are
public
now. #630io.appium.java_client.pagefactory.AppiumElementLocatorFactory
io.appium.java_client.pagefactory.DefaultElementByBuilder
io.appium.java_client.pagefactory.WidgetByBuilder
-
[ENHANCEMENT] New capabilities were added #626:
AndroidMobileCapabilityType#AUTO_GRANT_PERMISSIONS
AndroidMobileCapabilityType#ANDROID_NATURAL_ORIENTATION
IOSMobileCapabilityType#XCODE_ORG_ID
IOSMobileCapabilityType#XCODE_SIGNING_ID
IOSMobileCapabilityType#UPDATE_WDA_BUNDLEID
IOSMobileCapabilityType#RESET_ON_SESSION_START_ONLY
IOSMobileCapabilityType#COMMAND_TIMEOUTS
IOSMobileCapabilityType#WDA_STARTUP_RETRIES
IOSMobileCapabilityType#WDA_STARTUP_RETRY_INTERVAL
IOSMobileCapabilityType#CONNECT_HARDWARE_KEYBOARD
IOSMobileCapabilityType#MAX_TYPING_FREQUENCY
IOSMobileCapabilityType#SIMPLE_ISVISIBLE_CHECK
IOSMobileCapabilityType#USE_CARTHAGE_SSL
IOSMobileCapabilityType#SHOULD_USE_SINGLETON_TESTMANAGER
IOSMobileCapabilityType#START_IWDP
IOSMobileCapabilityType#ALLOW_TOUCHID_ENROLL
MobileCapabilityType#EVENT_TIMINGS
-
[UPDATE] Dependencies were updated:
org.seleniumhq.selenium:selenium-java
was updated to 3.4.0cglib:cglib
was updated to 3.2.5org.apache.httpcomponents:httpclient
was updated to 4.5.3commons-validator:commons-validator
was updated to 1.6org.springframework:spring-context
was updated to 4.3.8.RELEASE
v5.0.0-BETA7
- [ENHANCEMENT] The ability to customize the polling strategy of the waiting was provided. #612
- [ENHANCEMENT] [REFACTOR] Methods which were representing time deltas instead of elementary types became
Deprecated
. Methods which usejava.time.Duration
are suugested to be used. #611 - [ENHANCEMENT] The ability to calculate screenshots overlap was included. #595.
v5.0.0-BETA6
v5.0.0-BETA5
v5.0.0-BETA4
v5.0.0-BETA3
v5.0.0-BETA2
- [BUG FIX]:Issue report: #549. Fix: #551
- New capabilities were added #533:
IOSMobileCapabilityType#USE_NEW_WDA
IOSMobileCapabilityType#WDA_LAUNCH_TIMEOUT
IOSMobileCapabilityType#WDA_CONNECTION_TIMEOUT
The capability IOSMobileCapabilityType#REAL_DEVICE_LOGGER
was removed. #533
- [BUG FIX]/[ENHANCEMENT]. Issue report: #552. FIX #556
- Additional methods were added to the
io.appium.java_client.HasSessionDetails
String getPlatformName()
String getAutomationName()
boolean isBrowser()
io.appium.java_client.HasSessionDetails
is used by theio.appium.java_client.internal.JsonToMobileElementConverter
to define which instance of theorg.openqa.selenium.WebElement
subclass should be created.
- Additional methods were added to the
- [ENHANCEMENT]: The additional event firing feature. PR: #559. The WIKI chapter about the event firing was updated.
5.0.0-BETA1
- [MAJOR ENHANCEMENT]: Migration to Java 8. Epic: #399
- API with default implementation. PR #470
- Tools that provide Page Object engines were redesigned. The migration to repeatable annotations. Details you can read there: #497. Documentation was synced as well.
- The new functional interface
io.appium.java_client.functions.AppiumFunctio
n was designed. It extendsjava.util.function.Function
andcom.google.common.base.Function
. It was designed in order to provide compatibility with theorg.openqa.selenium.support.ui.Wait
#543 - The new functional interface
io.appium.java_client.functions.ExpectedCondition
was designed. It extendsio.appium.java_client.functions.AppiumFunction
andorg.openqa.selenium.support.ui.ExpectedCondition
. #543 - The new functional interface
io.appium.java_client.functions.ActionSupplier
was designed. It extendsjava.util.function.Supplier
. #543
- [MAJOR ENHANCEMENT]: Migration from Maven to Gradle. Feature request is #214. Fixes: #442, #465.
- [MAJOR ENHANCEMENT] [MAJOR REFACTORING]. Non-abstract AppiumDriver:
-
Now the
io.appium.java_client.AppiumDriver
can use an instance of anyio.appium.java_client.MobileBy
subclass for the searching. It should work as expected when current session supports the given selector. It will throworg.openqa.selenium.WebDriverException
otherwise. #462 -
The new interface
io.appium.java_client.FindsByFluentSelector
was added. #462 -
API was redesigned:
these interfaces were marked deprecated and they are going to be removed #513#514:
io.appium.java_client.DeviceActionShortcuts
io.appium.java_client.android.AndroidDeviceActionShortcuts
io.appium.java_client.ios.IOSDeviceActionShortcuts
instead following inerfaces were designed:
io.appium.java_client.HasDeviceTime
io.appium.java_client.HidesKeyboard
io.appium.java_client.HidesKeyboardWithKeyName
io.appium.java_client.PressesKeyCode
io.appium.java_client.ios.ShakesDevice
io.appium.java_client.HasSessionDetails
That was done because Windows automation tools have some features that were considered as Android-specific and iOS-specific.
The list of classes and methods which were marked deprecated and they are going to be removed
AppiumDriver#swipe(int, int, int, int, int)
AppiumDriver#pinch(WebElement)
AppiumDriver#pinch(int, int)
AppiumDriver#zoom(WebElement)
AppiumDriver#zoom(int, int)
AppiumDriver#tap(int, WebElement, int)
AppiumDriver#tap(int, int, int, int)
AppiumDriver#swipe(int, int, int, int, int)
MobileElement#swipe(SwipeElementDirection, int)
MobileElement#swipe(SwipeElementDirection, int, int, int)
MobileElement#zoom()
MobileElement#pinch()
MobileElement#tap(int, int)
io.appium.java_client.SwipeElementDirection
andio.appium.java_client.TouchebleElement
also were marked deprecated.
redesign of
TouchAction
andMultiTouchAction
- constructors were redesigned. There is no strict binding of
AppiumDriver
andTouchAction
/MultiTouchAction
. They can consume any instance of a class that implementsPerformsTouchActions
. io.appium.java_client.ios.IOSTouchAction
was added. It extendsio.appium.java_client.TouchAction
.- the new interface
io.appium.java_client.PerformsActions
was added. It unifiesTouchAction
andMultiTouchAction
now. #543
JsonToMobileElementConverter
re-design #532:- unused
MobileElementToJsonConverter
was removed JsonToMobileElementConverter
is not rhe abstract class now. It generates instances of MobileElement subclasses according to current session parametersJsonToAndroidElementConverter
is deprecated nowJsonToIOSElementConverter
is depreacated nowJsonToYouiEngineElementConverter
is deprecated now.- constructors of 'AppiumDriver' were re-designed.
- constructors of 'AndroidDriver' were re-designed.
- constructors of 'IOSDriver' were re-designed.
-
- [MAJOR ENHANCEMENT] Windows automation. Epic #471
- The new interface
io.appium.java_client.FindsByWindowsAutomation
was added. #462. With @jonstoneman 's authorship. - The new selector strategy
io.appium.java_client.MobileBy.ByWindowsAutomation
was added. #462. With @jonstoneman 's authorship. io.appium.java_client.windows.WindowsDriver
was designed. #538io.appium.java_client.windows.WindowsElement
was designed. #538io.appium.java_client.windows.WindowsKeyCode
was added. #538- Page object tools were updated #538
- the
io.appium.java_client.pagefactory.WindowsFindBy
annotation was added. io.appium.java_client.pagefactory.AppiumFieldDecorator
and supporting tools were actualized.
- the
- The new interface
- [MAJOR ENHANCEMENT] iOS XCUIT mode automation:
io.appium.java_client.remote.AutomationName#IOS_XCUI_TEST
was added- The new interface
io.appium.java_client.FindsByIosNSPredicate
was added. #462. With @rafael-chavez 's authorship. It is implemented byio.appium.java_client.ios.IOSDriver
andio.appium.java_client.ios.IOSElement
. - The new selector strategy
io.appium.java_client.MobileBy.ByIosNsPredicate
was added. #462. With @rafael-chavez 's authorship. - Page object tools were updated #545, #546
- the
io.appium.java_client.pagefactory.iOSXCUITFindBy
annotation was added. io.appium.java_client.pagefactory.AppiumFieldDecorator
and supporting tools were actualized.
- the
- [ENHANCEMENT] Added the ability to set UiAutomator Congfigurator values. #410.
#477. - [ENHANCEMENT]. Additional methods which perform device rotation were implemented. #489. #439. But it works for iOS in XCUIT mode and for Android in UIAutomator2 mode only. The feature request: #7131
- [ENHANCEMENT]. TouchID Implementation (iOS Sim Only). Details: #509
- [ENHANCEMENT]. The ability to use port, ip and log file as server arguments was provided. Feature request: #521. Fixes: #522, #524.
- [ENHANCEMENT]. The new interface
io.appium.java_client.android.HasDeviceDetails
was added. It is implemented byio.appium.java_client.android.AndroidDriver
by default. #518 - [ENHANCEMENT]. New touch actions were added.
io.appium.java_client.ios.IOSTouchAction#doubleTap(WebElement, int, int)
andio.appium.java_client.ios.IOSTouchAction#doubleTap(WebElement)
. #523, #444 - [ENHANCEMENT]. All constructors declared by
io.appium.java_client.AppiumDriver
are public now. - [BUG FIX]: There was the issue when "@WithTimeout" was changing general timeout of the waiting for elements. Bug report: #467. Fixes: #468, #469, #480. Read: supported-settings
- Added the server flag
io.appium.java_client.service.local.flags.AndroidServerFlag#REBOOT
. #476 - Added
io.appium.java_client.remote.AndroidMobileCapabilityType.APP_WAIT_DURATION
capability. #461 - the new automation type
io.appium.java_client.remote.MobilePlatform#ANDROID_UIAUTOMATOR2
was add. - the new automation type
io.appium.java_client.remote.MobilePlatform#YOUI_ENGINE
was add. - Additional capabilities were addede:
IOSMobileCapabilityType#CUSTOM_SSL_CERT
IOSMobileCapabilityType#TAP_WITH_SHORT_PRESS_DURATION
- `IOSMobileCapabilityType#SCALE_FAC...
4.1.2
- Following capabilities were added:
io.appium.java_client.remote.AndroidMobileCapabilityType.ANDROID_INSTALL_TIMEOUT
io.appium.java_client.remote.AndroidMobileCapabilityType.NATIVE_WEB_SCREENSHOT
io.appium.java_client.remote.AndroidMobileCapabilityType.ANDROID_SCREENSHOT_PATH
. The pull request: #452
org.openqa.selenium.Alert
was reimplemented for iOS. Details: #459- The deprecated
io.appium.java_client.generic.searchcontext
was removed. - The dependency on
com.google.code.gson
was updated to 2.7. Also it was adde to exclusions
fororg.seleniumhq.selenium
selenium-java
. - The new AutomationName was added. IOS_XCUI_TEST. It is needed for the further development.
- The new MobilePlatform was added. WINDOWS. It is needed for the further development.