Skip to content

Releases: appium/java-client

v5.0.0-BETA9

16 Jun 21:26
Compare
Choose a tag to compare
v5.0.0-BETA9 Pre-release
Pre-release
  • [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 marked Deprecated. It is going to be removed. #652
  • [UPDATE] Update of the com.google.code.gson:gson to v2.8.1.

v5.0.0-BETA8

26 Apr 22:10
Compare
Choose a tag to compare
v5.0.0-BETA8 Pre-release
Pre-release
  • [ENHANCEMENT] Page factory classes became which had package visibility are public now. #630

    • io.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.0
    • cglib:cglib was updated to 3.2.5
    • org.apache.httpcomponents:httpclient was updated to 4.5.3
    • commons-validator:commons-validator was updated to 1.6
    • org.springframework:spring-context was updated to 4.3.8.RELEASE

v5.0.0-BETA7

11 Apr 21:45
Compare
Choose a tag to compare
v5.0.0-BETA7 Pre-release
Pre-release
  • [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 use java.time.Duration are suugested to be used. #611
  • [ENHANCEMENT] The ability to calculate screenshots overlap was included. #595.

v5.0.0-BETA6

22 Mar 21:09
Compare
Choose a tag to compare
v5.0.0-BETA6 Pre-release
Pre-release

5.0.0-BETA6

  • [UPDATE] Update to Selenium 3.3.1
  • [ENHANCEMENT] iOS XCUIT mode automation: API to run application in background was added. #593
  • [BUG FIX] Issue report: #594. FIX: #597
  • [ENHANCEMENT] The class chain locator was added. #599

v5.0.0-BETA5

06 Mar 21:53
Compare
Choose a tag to compare
v5.0.0-BETA5 Pre-release
Pre-release
  • [UPDATE] Update to Selenium 3.2.0
  • [BUG FIX] Excessive dependency on guava was removed. It causes errors. Issue report: #588. FIX: #589.
  • [ENHANCEMENT]. The capability io.appium.java_client.remote.AndroidMobileCapabilityType#SYSTEM_PORT was added. #591

v5.0.0-BETA4

28 Feb 21:27
Compare
Choose a tag to compare
v5.0.0-BETA4 Pre-release
Pre-release
  • [ENHANCEMENT] Android. API to read the performance data was added. #562
  • [REFACTOR] Android. Simplified the activity starting by reducing the number of parameters through POJO clas. Old methods which start activities were marked @Deprecated. #579 #585
  • [BUG FIX] Issue report:#574. Fix:#582

v5.0.0-BETA3

13 Feb 19:48
Compare
Choose a tag to compare
v5.0.0-BETA3 Pre-release
Pre-release

[BUG FIX]

  • [BUG FIX]:Issue report: #567. Fix: #568

v5.0.0-BETA2

04 Feb 20:20
Compare
Choose a tag to compare
v5.0.0-BETA2 Pre-release
Pre-release
  • [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 the io.appium.java_client.internal.JsonToMobileElementConverter to define which instance of the org.openqa.selenium.WebElement subclass should be created.
  • [ENHANCEMENT]: The additional event firing feature. PR: #559. The WIKI chapter about the event firing was updated.

5.0.0-BETA1

28 Dec 21:05
Compare
Choose a tag to compare
5.0.0-BETA1 Pre-release
Pre-release
  • [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.AppiumFunction was designed. It extends java.util.function.Function and com.google.common.base.Function. It was designed in order to provide compatibility with the org.openqa.selenium.support.ui.Wait #543
    • The new functional interface io.appium.java_client.functions.ExpectedCondition was designed. It extends io.appium.java_client.functions.AppiumFunction and org.openqa.selenium.support.ui.ExpectedCondition. #543
    • The new functional interface io.appium.java_client.functions.ActionSupplier was designed. It extends java.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 any io.appium.java_client.MobileBy subclass for the searching. It should work as expected when current session supports the given selector. It will throw org.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 and io.appium.java_client.TouchebleElement also were marked deprecated.

      redesign of TouchAction and MultiTouchAction

      • constructors were redesigned. There is no strict binding of AppiumDriver and TouchAction /MultiTouchAction. They can consume any instance of a class that implements PerformsTouchActions.
      • io.appium.java_client.ios.IOSTouchAction was added. It extends io.appium.java_client.TouchAction.
      • the new interface io.appium.java_client.PerformsActions was added. It unifies TouchAction and MultiTouchAction 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 parameters
      • JsonToAndroidElementConverter is deprecated now
      • JsonToIOSElementConverter is depreacated now
      • JsonToYouiEngineElementConverter 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. #538
    • io.appium.java_client.windows.WindowsElement was designed. #538
    • io.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.
  • [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 by io.appium.java_client.ios.IOSDriver and io.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.
  • [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 by io.appium.java_client.android.AndroidDriver by default. #518
  • [ENHANCEMENT]. New touch actions were added. io.appium.java_client.ios.IOSTouchAction#doubleTap(WebElement, int, int) and io.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...
Read more

4.1.2

21 Aug 18:49
Compare
Choose a tag to compare
  • 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
    for org.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.