All notable changes to this project will be documented in this file.
- Relax the logic of
:appcapability
- Fix
within_context
- Available packages over HTTP #106
- Remove warning of camelCase capability for W3C format
- Fix including search context in
::Selenium::WebDriver::Elemenetinclude ::Appium::Core::Base::SearchContextinstead of::Selenium::WebDriver::SearchContext
- Add Tizen case
- [Internal] reduce method definition by
add_endpoint_method
- Add
find_element_by_imageandfind_elements_by_imageto handleImageElement- Read here for more details
- Add a
ImageElementto handle images as elements bymatchTemplate- Experimental feature
- [Internal] Define screenshot methods in appium_lib_core instead of Selenium's one
- Add a
formatargument fordevice_time#94
- Return empty array
[]for find_elements
- Has one Breaking Change
- Add
flagsinpress_keycodeandlong_press_keycode- New:
@driver.press_keycode 66, metastate: [1], flags: [0x20, 0x2000]metastateshould set as a keyword argumentlong_press_keycodeas well
- Before:
@driver.press_keycode 66, 1(Can set only metastate)- How to change: add
metastate:for the metastate argument
- How to change: add
- New:
- Add
- [Internal] Change directory and file structure
- [Internal] Set default content-type
- Breaking Change
- Change the results of
app_state.- Before: A number or const.
0, 1, 2, 3, 4orNOT_INSTALLED, NOT_RUNNING, RUNNING_IN_BACKGROUND_SUSPENDED, RUNNING_IN_BACKGROUND, RUNNING_IN_FOREGROUND
- After: Symbol.
:not_installed, :not_running, :running_in_background_suspended, :running_in_background, :running_in_foreground
- Before: A number or const.
- Change the results of
- add
battery_infoto get battery information - add
is_keyboard_shownfor iOS ( see also https://github.com/appium/appium-xcuitest-driver/pull/664/files )
- Revert timeout logic in
1.4.1
- [internal] Remove hot fix for XCUITest action
- Changed the name of arguments
swipe(start_x:, start_y:, end_x:, end_y:)instead ofswipe(start_x:, start_y:, offset_x:, offset_y:)
- Revert
delegate_from_appium_driverforruby_libcompatibility
- add base image comparison
match_images_features,find_image_occurrence,get_images_similarity,compare_images
- [internal] No longer have dependency for Selenium's wait
- Raise
::Appium::Core::Wait::TimeoutErrorinstead of::Selenium::WebDriver::Error::TimeOutError
- Raise
- [internal] Separate mjsonwp commands module and w3c commands module from one command module
- Add a support for WebSocket client based on Faye::WebSocket::Client #74
- Make no-argument commands friendly for IDE
- Only for
ruby_lib_coreinternal process- Remove
touchaction by default and followingselenium-webdriverin W3C action.- Since XCUITest and UA2 drivers force handling the pointer as
touch.
- Since XCUITest and UA2 drivers force handling the pointer as
- Remove
- Be able to change
kindin W3C touch action.
- Add a
bug_reportoption instart_recording_screen, Android - Add clipboard apis #69
- Add
save_viewport_screenshotwhich get screenshot except for status bar. - [iOS] Add
start_performance_recordandget_performance_record
- Fix create_session attempt to throw non-existent error type Appium::Core::Error::WebDriverError #66
- add
session_capabilities: https://appium.io/docs/en/commands/session/get/
- Add Android emulator commands
send_sms,gsm_call,gsm_signal,gsm_voice,set_network_speed,set_power_capacity,set_power_ac
- Add toggles
toggle_location_services,toggle_wifi,toggle_data
- add some app management commands #58
- Require Appium 1.8.0+
- Both platforms work absolute based axis for
move_toandswipe- Breaking Changes
- Android was relevant, previously.
- e.g.:
# Do not move because of the start and end point is the same # Tap (75, 500) and move the point to (75, 500) with duration 500ms. Appium::Core::TouchAction.new(@driver) .swipe(start_x: 75, start_y: 500, offset_x: 75, offset_y: 500, duration: 500) .perform # Tap (75, 500) and move the point to (75, 1000) with duration 500ms. Appium::Core::TouchAction.new(@driver) .swipe(start_x: 75, start_y: 500, offset_x: 75, offset_y: 1000, duration: 500) .perform
- Breaking Changes
start_recording_screen/stop_recording_screensupport iOS fromAppium 1.8.0#48- Breaking Changes
start_recording_screen- The argument,
file_path, was removed.
- The argument,
- Breaking Changes
- Print warning messages to use camelCase if capability key names are snake_case
- For W3C adaption for Appium Server
- Make
@driver.automation_namedowncase #50
- Add
window_rect
- Make
@driver.automation_namesymbol when someone define theautomationNamewith the server argument. #50
- Enhance W3C support
- Timeout related methods
- Refactor
create_sessioninAppium::Core::Base::Bridge - Be able to communicate with Appium by
W3Cbased webdriver protocol if the Appium supports W3C protocol.- If
forceMjsonwp: trueexists in the capability, the client try to communicatemjsonwpbased protocol- By default, it depends on the response from the server
- Read API doc for
Appium::Core::Base::Bridge#create_sessionto read the example offorceMjsonwp
- If
- Backport some commands from OSS module to W3C module
- Read
lib/appium_lib_core/common/base/w3c_bridge.rbfor more details
- Read
- Can get logs like
driver.logs.available_typesanddriver.logs.get
- Fix some w3c methods to work with Appium part 2 #38
- Fix some w3c methods to work with Appium #37
- override default duration to make some action fast #36
- Append
appium:prefix for capabilities automatically due to W3C format. - add take element screenshot for oss module #33
- add w3c touch action tests and some supports for w3c #35
- IME related
- Touch actions based on W3C spec
- Add guidelines in
.github - session/:session_id/appium/device/keyevent #21
- fix creating sessions #31 for W3C creating sessions
Initial release