All notable changes to this project will be documented in this file.
- Updated
selenium-webdriver
gem to version 4.26.0. - Updated
rexml
gem to latest version to address ReDoS vulnerability.
- Updated
selenium-webdriver
gem to version 4.25.0.
- Updated
selenium-webdriver
gem to version 4.24.0.
- Updated
appium_lib
gem to version 15.2.2. - Updated
appium_lib_core
gem to version 9.2.1.
- Updated
selenium-webdriver
gem to version 4.23.0. - Updated
appium_lib
gem to version 15.2.0. - Updated
appium_lib_core
gem to version 9.2.0.
- Updated
selenium-webdriver
gem to version 4.22.0.
- When testing using locally hosted iOS simulators or physical devices, and when not passing an options hash to specify
desired capabilities, the
AppiumConnect.initialize_appium
method now correctly sets the following XCUItest capabilities:appium:webviewConnectTimeout
capability is now correctly specified as anInteger
appium:maxTypingFrequency
set to 15 keystrokes per minute to resolve an issue where characters are intermittently dropped during text entry byAppUIElement.set
,AppUIElement.send_keys
, orBaseScreenSectionObject.populate_data_fields
methods.
AppList.list_item
attribute now defaults toXCUIElementTypeOther
class for iOS/iPadOS platform andandroid.view.ViewGroup
class for Android platform.
- Updated
appium_lib
gem to version 15.1.0. - Updated
appium_lib_core
gem to version 9.1.1. - Updated
selenium-webdriver
gem to version 4.21.1.
- Added support for radio buttons via the
AppRadio
UI element class and the following methods:ScreenObject.radio
ScreenObject.radios
ScreenSection.radio
ScreenSection.radios
ScreenObject.populate_data_fields
andScreenSection.populate_data_fields
methods now support radio buttons.
- Updated
selenium-webdriver
gem to version 4.20.1. - Updated
appium_lib_core
gem to version 8.0.2.
ScreenSection.find_section
is now able to findScreenSection
objects embedded within otherScreenSections
.
ScreenSection.disabled?
no longer returns wrong values.
- Updated
selenium-webdriver
gem to version 4.20.0. - Updated
appium_lib
gem to version 15.0.0. - Updated
appium_lib_core
gem to version 8.0.1. - No longer using deprecated Appium
driver.keyboard_shown?
method.
AppiumConnect.initialize_appium
,AppiumServer.start
, andAppiumServer.running?
methods now support Appium version 2.x. Backward compatibility with Appium version 1.x is provided ifAPPIUM_SERVER_VERSION
Environment Variable is set to1
.
- Updated
selenium-webdriver
gem to version 4.19.0.
DataPresenter.initialize
no longer fails ifdata
parameter isnil
.ScreenObject.load_screen
now supports deeplinks on iOS physical devices.
- Added support for specifying and connecting to mobile devices and simulators on unsupported cloud hosting services using
custom
user-defined driver and capabilities. - Added the following new gesture methods:
AppUIElement.scroll_into_view
AppUIElement.drag_by
AppUIElement.drag_and_drop
AppUIElement.swipe_gesture
ScreenObject.swipe_gesture
ScreenSection.swipe_gesture
ScreenSection.scroll_into_view
- Added
AppUIElement.count
method. - Added
AppAlert.buttons
andAppAlert.get_caption
methods. - Added the following biometrics methods:
AppiumConnect.is_biometric_enrolled?
AppiumConnect.set_biometric_enrollment
AppiumConnect.biometric_match
AppiumConnect.initialize_appium
method now accepts an optionaloptions
hash for specifying desired capabilities (using W3C protocol), driver, driver name, endpoint URL, global driver setting, and device type information.- Updated
ScreenObject.verify_ui_states
andScreenSection.verify_ui_states
methods to support automatically scrolling to offscreen UI elements. - All touch and gesture methods refactored to no longer depend on deprecated
TouchAction
andMultiTouchAction
classes. - Ruby version 3.0.0 or greater is now required.
- Updated
appium_lib
gem to version 14.0.0. - Updated
selenium-webdriver
gem to version 4.18.1.
- Support for test data assets stored in Excel
.xls
has been removed because.xls
files cannot be properly tracked and diffed by source control tools like git. ExcelData
andExcelDataSource
classes removed.- Removed dependence on
spreadsheet
gem. - Removed the following deprecated methods:
AppiumConnect.switch_to_default_context
AppiumConnect.reset_app
AppiumConnect.launch_app
AppiumConnect.close_app
AppiumConnect.available_contexts
now correctly returns a list of native app and web contexts when testing hybrid apps with WebViews on iOS simulators.
- The
DRIVER
Environment Variable is now used to specify theappium
,browserstack
,saucelabs
,testingbot
, orlambdatest
driver.
AppButton.get_caption
correctly returns captions of React Native buttons on Android platform where button caption object hierarchy is//android.widget.Button/android.widget.ViewGroup/android.widget.TextView
.
- Fixed
gemspec
to no longer include specs and Cucumber tests as part of deployment package for the gem.
- Added
AppUIElement.wait_until_enabled
method.
- Added
AppAlert.await_and_respond
method.
- Added runtime dependencies
curb
andjson
to gemspec. - Fixed CHANGELOG url in gemspec.
- Added support for testing on cloud hosted iOS and Android simulators and real devices on BrowserStack, SauceLabs, and TestingBot services.
ScreenObject.load_page
method adds support for using deep links to directly load screens/pages of native apps.AppiumConnect.upload_app
method adds support for uploading native apps to BrowserStack and TestingBot services prior to running tests.
- Ruby version 2.7 or greater is required.