CHANGELOG

All notable changes to this project will be documented in this file.

[3.1.1] - 04-AUGUST-2022

Fixed

  • AppiumConnect.available_contexts now correctly returns a list of native app and web contexts when testing hybrid apps with WebViews on iOS simulators.

[3.1.0] - 02-AUGUST-2022

Added

  • The DRIVER Environment Variable is now used to specify the appium, browserstack, saucelabs, testingbot, or lambdatest driver.

  • Changed

  • The WEB_BROWSER Environment Variable is no longer used to specify the appium, browserstack, saucelabs, testingbot, or lambdatest driver.

Updated

[3.0.6] - 21-JUNE-2022

Fixed

  • 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.

[3.0.5] - 12-JUNE-2022

Fixed

  • Fixed gemspec to no longer include specs and Cucumber tests as part of deployment package for the gem.

Updated

[3.0.4] - 02-JUNE-2022

Added

  • Added AppUIElement.wait_until_enabled method.

Updated

[3.0.3] - 30-MAY-2022

Added

  • Added AppAlert.await_and_respond method.

[3.0.2] - 26-MAY-2022

Fixed

  • Added runtime dependencies curb and json to gemspec.
  • Fixed CHANGELOG url in gemspec.

[3.0.1] - 26-MAY-2022

Added

  • 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.

Updated

Changed

  • Ruby version 2.7 or greater is required.

[2.4.3] - 2018-04-11

Changed

  • Updated device profiles for iPhone 7 (iOS 11) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.

[2.4.1] - 2018-03-27

Added

  • Added device profiles for iPad (iOS 10) with MS Edge browser.

[2.4.0] - 2018-03-25

Changed

  • Updated TestCentricity::WebDriverConnect.initialize_web_driver method to read the APP_FULL_RESET, APP_NO_RESET, and NEW_COMMAND_TIMEOUT Environment Variables and set the corresponding fullReset, noReset, and newCommandTimeout Appium capabilities for iOS and Android physical devices and simulators. Also reads the WDA_LOCAL_PORT Environment Variable and sets the wdaLocalPort Appium capability for iOS physical devices only.

[2.3.19] - 2018-03-14

Fixed

  • Fixed device profile for android_phone - Generic Android Phone.

[2.3.18] - 2018-03-11

Changed

  • Updated SelectList.define_list_elements method to accept value for :list_trigger element.
  • Updated SelectList.choose_option to respect :list_item value and to click on :list_trigger element, if one is specified.
  • Updated PageSection and PageObject UI element object declaration methods to no longer use class_eval pattern.
  • Updated device profiles for iPhone 7 (iOS 10) with Chrome browser and iPad (iOS 10) with Chrome browser.

Fixed

  • Fixed SelectList.choose_option to also accept :text, :value, and :index option hashes across all types of select list objects.

[2.3.17] - 2018-03-08

Added

  • Added List.wait_until_item_count_is and List.wait_until_item_count_changes methods.

Changed

  • UIElement.wait_until_value_is and List.wait_until_item_count_is methods now accept comparison hash.

[2.3.16] - 2018-03-04

Added

  • Added PageSection.double_click, PageObject.right_click, and PageObject.send_keys methods.

[2.3.15] - 2018-03-02

Added

  • Added PageObject.wait_until_exists and PageObject.wait_until_gone methods.

Fixed

  • Fixed bug in UIElement.get_object_type method that could result in a NoMethodError obj not defined error.
  • Fixed bug in PageObject.verify_ui_states and PageSection.verify_ui_states methods that failed to enqueue errors when UI elements could not be found.

[2.3.14] - 2018-02-28

Changed

  • Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser.

[2.3.13] - 2018-02-09

Added

  • Added AppiumServer.start, AppiumServer.running?, and AppiumServer.stop methods for starting and stopping the Appium Server prior to executing tests on iOS physical devices or simulators, or Android virtual device emulators.

[2.3.12] - 2018-02-07

Added

  • Added Environ.is_simulator? and Environ.is_web? methods.

[2.3.11] - 2018-02-02

Added

  • Added support for running tests in Mobile Safari browser on physical iOS devices.

Changed

  • Updated device profiles for iPhone 7 (iOS 10) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.

[2.3.10] - 2018-01-31

Added

  • Added support for running tests in mobile Chrome or Android browsers on Android Studio virtual device emulators.
  • Added displayed?, get_all_items_count, and get_all_list_items methods to PageSection class.
  • Added get_all_items_count, and get_all_list_items methods to List class.

[2.3.9] - 2018-01-27

Changed

  • Updated PageObject.populate_data_fields and PageSection.populate_data_fields methods to accept optional wait_time parameter.
  • Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser, iPhone 7 (iOS 10) with Chrome browser, and iPhone 7 (iOS 10) with Firefox browser.
  • Updated device profiles for iPad (iOS 10) with Chrome browser and iPad (iOS 10) with Firefox browser.

[2.3.8] - 2018-01-23

Fixed

  • Fixed locator resolution for Indexed PageSection Objects.

[2.3.7] - 2018-01-18

Added

  • Added width, height, x, y, and displayed? methods to UIElement class.

[2.3.6] - 2017-12-21

Added

  • Added TextField.clear method for deleting the contents of text fields. This method should trigger the onchange event for the associated text field.

Changed

  • TextField.clear method now works with most number type fields.

[2.3.5] - 2017-12-19

Changed

  • Updated PageObject.populate_data_fields and PageSection.populate_data_fields methods to be compatible with Redactor editor fields.
  • Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser, iPhone 7 (iOS 10) with Chrome browser, and iPhone 7 (iOS 10) with Firefox browser.

[2.3.4] - 2017-12-12

Fixed

  • Fixed bug in PageObject.populate_data_fields and PageSection.populate_data_fields methods that prevented deletion of data in number type textfields and textarea controls.

[2.3.3] - 2017-12-09

Added

  • Added device profile for iPhone 7 (iOS 10) with MS Edge browser.

Fixed

  • Corrected device profiles for iPad (iOS 10) with Mobile Chrome browser and iPad (iOS 10) with Mobile Firefox browser.

[2.3.1] - 2017-12-07

Added

  • When testing using remotely hosted browsers on the BrowserStack service, the BrowserStack Local instance is automatically started if the TUNNELING Environment Variable is set to true. Environ.tunneling will be set to true if the BrowserStack Local instance is succesfully started.
  • Added TestCentricity::WebDriverConnect.close_tunnel method to close BrowserStack Local instance when Local testing is enabled. Refer to the Remotely hosted desktop and mobile web browsers section for information on usage.

[2.2.1] - 2017-11-29

Changed

  • SelectList.choose_option method now accepts index values for Chosen list objects.

[2.2.0] - 2017-11-29

Changed

  • CSS selectors or XPath expressions may be used as locators for all types of UI Elements, including tables.

[2.1.10] - 2017-11-14

Added

  • Added device profiles for iPhone 7 (iOS 10) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.

[2.1.9] - 2017-11-13

Fixed

  • Fixed bug in SelectList.choose_option, SelectList.get_options, SelectList.get_option_count, and SelectList.get_selected_option methods which did not recognize grouped option in Chosen list objects.

[2.1.8] - 2017-11-09

Added

  • Added PageSection.verify_list_items method for Indexed PageSection Objects.

[2.1.7] - 2017-11-07

Changed

  • Updated PageObject.populate_data_fields and PageSection.populate_data_fields methods to use backspace characters to delete contents of a textfield instead of using clear, which was preventing onchange JavaScript events from being triggered in some browsers.

[2.1.6] - 2017-10-31

Fixed

  • Fixed bug in TestCentricity::WebDriverConnect.set_webdriver_path method that was failing to set the path to the appropriate chromedriver file for OS X and Windows.

[2.1.5] - 2017-10-28

Added

  • Added get_min, get_max, and get_step methods to TextField class.
  • Updated PageObject.verify_ui_states and PageSection.verify_ui_states methods to support verification of min, max, and step attributes for textfields.

Fixed

  • Fixed Chrome and Firefox support for setting browser language via the LOCALE Environment Variable. This capability now works for emulated mobile browsers hosted in a local instance of Chrome or Firefox.

[2.1.4] - 2017-10-24

Added

  • Added suppression of the Info Bar that displays "Chrome is being controlled by automated test software" on locally hosted instances of the Chrome browser.

[2.1.3] - 2017-10-17

Added

  • Added support for "tiling" or cascading multiple browser windows when the BROWSER_TILE and PARALLEL Environment Variables are set to true. For each concurrent parallel thread being executed, the position of each browser will be offset by 100 pixels right and 100 pixels down. For parallel test execution, use the parallel_tests gem to decrease overall test execution time.

[2.1.2] - 2017-10-01

Added

  • Added device profiles for Microsoft Lumia 950, Blackberry Leap, Blackberry Passport, and Kindle Fire HD 10
  • Added ability to set browser language support via the LOCALE Environment Variable for local instances of Chrome browsers

[2.1.0] - 2017-09-23

Added

  • Added device profiles for iPhone 8, iPhone 8 Plus, iPhone X devices running iOS 11
  • Added device profile for iPad Pro 10.5" with iOS 11

Changed

  • Updated iPhone 7 and iPhone 7 Plus profiles to iOS 10
  • Updated Google Pixel and Google Pixel XL profiles to Android 8
  • Added device profiles for iPhone 7 (iOS 10) with Mobile Chrome browser and iPad (iOS 10) with Mobile Chrome browser
  • The TestCentricity::WebDriverConnect.initialize_web_driver method now sets the Environ object to the correct device connection states for local and cloud hosted browsers.

Fixed

  • The TestCentricity::WebDriverConnect.initialize_web_driver method no longer calls initialize_browser_size when running tests against cloud hosted mobile web browser, which was resulting in Appium throwing exceptions for unsupported method calls.
  • The TestCentricity::WebDriverConnect.set_webdriver_path method now correctly sets the path for Chrome webDrivers when the HOST_BROWSER Environment Variable is set to chrome. Tests against locally hosted emulated mobile web browser running on a local instance of Chrome will now work correctly.