README.md in testcentricity_mobile-4.0.8 vs README.md in testcentricity_mobile-4.0.9

- old
+ new

@@ -1,20 +1,20 @@ -# TestCentricity™ Mobile +# TestCentricity™ For Mobile [![Gem Version](https://badge.fury.io/rb/testcentricity_mobile.svg)](https://badge.fury.io/rb/testcentricity_mobile) [![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) ![Gem Downloads](https://img.shields.io/gem/dt/testcentricity_mobile) ![Maintained](https://img.shields.io/badge/maintenance-actively--developed-brightgreen.svg) [![Docs](https://img.shields.io/badge/docs-rubydoc-blue.svg)](http://www.rubydoc.info/gems/testcentricity_mobile) -The TestCentricity™ Mobile core framework for native mobile iOS and Android app testing implements a Screen Object Model +The TestCentricity™ For Mobile core framework for native mobile iOS and Android app testing implements a Screen Object Model DSL for use with Cucumber (version 7.x or greater) and Appium 2.x. It also facilitates the configuration of the appropriate Appium capabilities and driver required to establish a connection with locally or cloud hosted iOS and Android real devices or simulators. -The TestCentricity™ Mobile gem supports automated testing of native iOS and Android apps running on the following mobile +The TestCentricity™ For Mobile gem supports automated testing of native iOS and Android apps running on the following mobile test targets: * locally hosted iOS device simulators or physical iOS devices (using Appium and XCode on macOS) * locally hosted Android devices or Android Studio virtual device emulators (using Appium and Android Studio) * cloud hosted physical devices and simulators from the following service: * [Browserstack](https://www.browserstack.com/list-of-browsers-and-platforms/app_automate) @@ -22,42 +22,40 @@ * [TestingBot](https://testingbot.com/mobile/realdevicetesting) ## What's New -A complete history of bug fixes and new features can be found in the {file:CHANGELOG.md CHANGELOG} file. +A complete history of bug fixes and new features can be found in the [CHANGELOG](https://github.com/TestCentricity/testcentricity_mobile/blob/master/CHANGELOG.md) file. The RubyDocs for this gem can be found [here](https://www.rubydoc.info/gems/testcentricity_mobile/). -Two example projects that demonstrates the implementation of a screen object model framework using Cucumber and TestCentricity™ -Mobile can be found at the following: +Two example projects that demonstrates the implementation of a screen object model framework using TestCentricity™ For Mobile +and Cucumber can be found at the following: * [tc_mobile_react_native_demo](https://github.com/TestCentricity/tc_mobile_react_native_demo) * [tc_mobile_wdio_demo](https://github.com/TestCentricity/tc_mobile_wdio_demo) Refer to [this wiki page](https://github.com/TestCentricity/testcentricity_mobile/wiki/XCUItest-driver-bug-impacts-iOS-dialogs-managed-by-com.apple.springboard) for information on a bug with the latest versions of the XCUItest driver that affects Appium's ability to interact with and verify iOS system level modal dialogs. ### Which gem should I use? -* The [TestCentricity **Mobile** gem](https://rubygems.org/gems/testcentricity_mobile) only supports testing of native iOS and Android mobile apps -* The [TestCentricity **Apps** gem](https://rubygems.org/gems/testcentricity_apps) only supports testing of MacOS desktop apps and native iOS and Android mobile apps -* The [TestCentricity **Web** gem](https://rubygems.org/gems/testcentricity_web) only supports testing of web interfaces via desktop and mobile web browsers -* The TestCentricity gem supports testing of native mobile apps and/or web interfaces via desktop and mobile web browsers. +* The [TestCentricity For **Mobile** gem](https://rubygems.org/gems/testcentricity_mobile) supports testing of native iOS and Android mobile apps +* The [TestCentricity For **Apps** gem](https://rubygems.org/gems/testcentricity_apps) supports testing of MacOS desktop apps and native iOS and Android mobile apps +* The [TestCentricity For **Web** gem](https://rubygems.org/gems/testcentricity_web) supports testing of web interfaces via desktop and mobile web browsers -| Tested platforms | TestCentricity Mobile | TestCentricity Apps | TestCentricity Web | TestCentricity | -|----------------------------------------------------|-----------------------|---------------------|--------------------|----------------| -| Native mobile iOS and/or Android apps only | Yes | Yes | No | No | -| MacOS desktop apps | No | Yes | No | No | -| Desktop/mobile web browsers only | No | No | Yes | No | -| Native mobile apps and desktop/mobile web browsers | No | No | No | Yes | +| Tested platforms | TestCentricity For Mobile | TestCentricity For Apps | TestCentricity For Web | +|--------------------------------------------|:-:|:-:|:-:| +| Native mobile iOS and/or Android apps only | Yes | Yes | No | +| MacOS desktop apps | No | Yes | No | +| Desktop/mobile web browsers only | No | No | Yes | ## Installation -TestCentricity Mobile version 3.0 and above requires Ruby 3.0.0 or later. To install the TestCentricity Mobile gem, add -this line to your automation project's Gemfile: +TestCentricity For Mobile version 3.0 and above requires Ruby 3.0.0 or later. To install the TestCentricity For Mobile gem, +add this line to your automation project's `Gemfile`: gem 'testcentricity_mobile' And then execute: @@ -876,11 +874,11 @@ the above examples. It is not necessary to specify the scroll axis in the code below, as `:vertical` is the default scroll axis that is set when instantiating an `AppList` element. iOS Cloud List `ScreenObject` ```ruby - class CloudListScreen < ScreenObject + class CloudListScreen < TestCentricity::ScreenObject trait(:screen_name) { 'Cloud List' } trait(:screen_locator) { { class_chain: '**/XCUIElementTypeWindow/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther' } } # Cloud List screen UI elements list :cloud_list, { class_chain: '**/XCUIElementTypeScrollView/XCUIElementTypeOther' } @@ -894,11 +892,11 @@ end ``` Android CloudListScreen `ScreenObject` ```ruby - class CloudListScreen < ScreenObject + class CloudListScreen < TestCentricity::ScreenObject trait(:screen_name) { 'Cloud List' } trait(:screen_locator) { { xpath: '//android.widget.FrameLayout[@resource-id="android:id/content"]/android.view.ViewGroup' } } # Cloud List screen UI elements list :cloud_list, { xpath: '//android.widget.ScrollView/android.view.ViewGroup' } @@ -937,11 +935,11 @@ `initialize` method to define the scroll axis and list item components that make up the Carousel horizontal scrolling ListView from the above examples. iOS Swipe `ScreenObject` ```ruby - class SwipeScreen < ScreenObject + class SwipeScreen < TestCentricity::ScreenObject trait(:screen_name) { 'Swipe' } trait(:screen_locator) { { accessibility_id: 'Swipe-screen' } } # Swipe screen UI elements list :carousel_list, { accessibility_id: 'Carousel' } @@ -958,11 +956,11 @@ end ``` Android Swipe `ScreenObject` ```ruby - class SwipeScreen < ScreenObject + class SwipeScreen < TestCentricity::ScreenObject trait(:screen_name) { 'Swipe' } trait(:screen_locator) { { accessibility_id: 'Swipe-screen' } } # Swipe screen UI elements list :carousel_list, { accessibility_id: 'Carousel' } @@ -1009,11 +1007,11 @@ The code snippet below demonstrate the use of the `AppList.define_list_elements` method in the `FormScreen` screen object's `initialize` method to define the list item components that make up the Android Popup style ListView from the above example. Android FormScreen `ScreenObject` ```ruby - class FormScreen < ScreenObject + class FormScreen < TestCentricity::ScreenObject trait(:screen_name) { 'Form' } trait(:screen_locator) { { accessibility_id: 'Forms-screen' } } # Form screen UI elements list :drop_down_menu, { id: 'com.wdiodemoapp:id/select_dialog_listview' } @@ -1715,11 +1713,11 @@ Refer to the following pages for information on uploading your iOS `.ipa` or `.app` or Android `.apk` app files to the Sauce Labs servers: - [Mobile App Storage](https://docs.saucelabs.com/mobile-apps/app-storage/) -The TestCentricity Mobile gem does not currently support automatic upload of app files to Sauce Labs servers. Uploading +The TestCentricity For Mobile gem does not currently support automatic upload of app files to Sauce Labs servers. Uploading will have to be performed manually or via your CI workflow. If you have not specified a custom test ID for your apps, your tests will most likely fail as a new `app_url` will be generated, and you will have to update your test configuration data to use the new `app_url`. If you have specified a custom test ID for your apps, your tests should be able to run without modifying your test configs. @@ -2011,10 +2009,10 @@ --- ## Mobile Test Automation Framework Implementation -![TestCentricity Mobile Framework Overview](https://raw.githubusercontent.com/TestCentricity/testcentricity_mobile/main/.github/images/TC_Mobile.jpg "TestCentricity Mobile Framework Overview") +![TestCentricity For Mobile Framework Overview](https://raw.githubusercontent.com/TestCentricity/testcentricity_mobile/main/.github/images/TC_Mobile.jpg "TestCentricity For Mobile Framework Overview") --- ## Copyright and License