testcentricity_web 4.0.3 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -4,23 +4,21 @@
4
4
 
5
5
 
6
6
  The TestCentricity™ Web core generic framework for desktop and mobile web browser-based app testing implements a Page Object and Data
7
- Object Model DSL for use with Cucumber, Capybara (version 3.x), and Selenium-Webdriver (version 3.x).
7
+ Object Model DSL for use with Cucumber, Capybara (version 3.x), and Selenium-Webdriver (version 4.x).
8
8
 
9
9
  **An example project that demonstrates the implementation of a page object model framework using Cucumber and TestCentricity™ can be found [here](https://github.com/TestCentricity/tc_web_sample).**
10
10
 
11
11
  The TestCentricity™ Web gem supports running automated tests against the following web test targets:
12
- * locally hosted desktop browsers (Firefox, Chrome, Safari, or IE)
12
+ * locally hosted desktop browsers (Firefox, Chrome, Edge, Safari, or IE)
13
13
  * locally hosted emulated iOS Mobile Safari, Android, Windows Phone, or Blackberry mobile browsers (running within a local instance of Chrome)
14
- * locally hosted "headless" Chrome or Firefox browsers
15
- * desktop and emulated mobile web browsers hosted on Selenium Grid and Dockerized Selenium Grid environments
14
+ * locally hosted "headless" Chrome, Firefox, or Edge browsers
15
+ * remote desktop and emulated mobile web browsers hosted on Selenium Grid 4 and Dockerized Selenium Grid 4 environments
16
16
  * mobile Safari browsers on iOS device simulators or physical iOS devices (using Appium and XCode on OS X)
17
17
  * mobile Chrome or Android browsers on Android Studio virtual device emulators (using Appium and Android Studio on OS X)
18
18
  * cloud hosted desktop (Firefox, Chrome, Safari, IE, or Edge) or mobile (iOS Mobile Safari or Android) web browsers using the following service:
19
19
  * [Browserstack](https://www.browserstack.com/list-of-browsers-and-platforms?product=automate)
20
20
  * [Sauce Labs](https://saucelabs.com/open-source#automated-testing-platform)
21
- * [CrossBrowserTesting](https://crossbrowsertesting.com/selenium-testing)
22
21
  * [TestingBot](https://testingbot.com/features)
23
- * [Gridlastic](https://www.gridlastic.com/test-environments.html)
24
22
  * [LambdaTest](https://www.lambdatest.com/selenium-automation)
25
23
  * web portals utilizing JavaScript front end application frameworks like Ember, React, Angular, and GWT
26
24
  * web pages containing HTML5 Video and Audio objects
@@ -33,7 +31,7 @@ A complete history of bug fixes and new features can be found in the {file:CHANG
33
31
 
34
32
  ## Installation
35
33
 
36
- Add this line to your automation project's Gemfile:
34
+ TestCentricity requires Ruby 2.7 or later. To install the TestCentricity gem, add this line to your automation project's Gemfile:
37
35
 
38
36
  gem 'testcentricity_web'
39
37
 
@@ -80,7 +78,6 @@ And then execute:
80
78
  $ bundle
81
79
 
82
80
 
83
-
84
81
  ## Page Objects
85
82
 
86
83
  The **Page Object Model** is a test automation pattern that aims to create an abstraction of your web app's User Interface that can be used
@@ -303,6 +300,13 @@ A **PageSection Object** is a collection of **UI Elements** that may appear in m
303
300
  app. It is a collection of **UI Elements** that represent a conceptual area of functionality, like a navigation bar, a search capability,
304
301
  or a menu. **UI Elements** and functional behavior are confined to the scope of a **PageSection Object**.
305
302
 
303
+ ![Navigation Header](/doc/images/LI_NavHeader.jpg)
304
+
305
+ ![Navigation Header](/doc/images/LI_NavHeader2.jpg)
306
+
307
+ ![User Profile Popup](/doc/images/LI_Me.jpg)
308
+
309
+
306
310
  A **PageSection Object** may contain other **PageSection Objects**.
307
311
 
308
312
 
@@ -554,6 +558,268 @@ With TestCentricity, all UI elements are based on the **UIElement** class, and i
554
558
  element.aria_busy?
555
559
 
556
560
 
561
+ ### Populating your PageObject or PageSection with data
562
+
563
+ A typical automated test may be required to perform the entry of test data by interacting with various `UIElements` on your `PageObject` or
564
+ `PageSection`. This data entry can be performed using the various object action methods (listed above) for each `UIElement` that needs to be
565
+ interacted with.
566
+
567
+ The `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods support the entry of test data into a collection of
568
+ `UIElements`. The `populate_data_fields` method accepts a hash containing key/hash pairs of `UIElements` and their associated data to be
569
+ entered. Data values must be in the form of a `String` for `textfield` and `selectlist` controls. For `checkbox` and `radio` controls, data
570
+ must either be a `Boolean` or a `String` that evaluates to a `Boolean` value (Yes, No, 1, 0, true, false). For `section` objects, data values
571
+ must be a `String`, and the `section` object must have a `set` method defined.
572
+
573
+ The `populate_data_fields` method verifies that data attributes associated with each `UIElement` is not `nil` or `empty` before attempting to
574
+ enter data into the `UIElement`.
575
+
576
+ The optional `wait_time` parameter is used to specify the time (in seconds) to wait for each `UIElement` to become become viable for data entry
577
+ (the `UIElement` must be visible and enabled) before entering the associated data value. This option is useful in situations where entering data,
578
+ or setting the state of a `UIElement` might cause other `UIElements` to become visible or active. Specifying a wait_time value ensures that the
579
+ subsequent `UIElements` will be ready to be interacted with as states are changed. If the wait time is `nil`, then the wait time will be 5 seconds.
580
+
581
+ def enter_data(user_data)
582
+ fields = {
583
+ first_name_field => user_data.first_name,
584
+ last_name_field => user_data.last_name,
585
+ email_field => user_data.email,
586
+ country_code_select => user_data.country_code,
587
+ phone_number_field => user_data.phone_number,
588
+ time_zone_select => user_data.time_zone,
589
+ language_select => user_data.language
590
+ }
591
+ populate_data_fields(fields, wait_time = 2)
592
+ end
593
+
594
+
595
+ ### Verifying UIElements on your PageObject or PageSection
596
+
597
+ A typical automated test executes one or more interactions with the user interface, and then performs a validation to verify whether
598
+ the expected state of the UI has been achieved. This verification can be performed using the various object state methods (listed above)
599
+ for each `UIElement` that requires verification. Depending on the complexity and number of `UIElements` to be verified, the code required to
600
+ verify the presence of `UIElements` and their correct states can become cumbersome.
601
+
602
+ The `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods support the verification of multiple properties of multiple
603
+ UI elements on a **Page Object** or **PageSection Object**. The `verify_ui_states` method accepts a hash containing key/hash pairs of UI
604
+ elements and their properties or attributes to be verified.
605
+
606
+ ui = {
607
+ object1 => { property: state },
608
+ object2 => { property: state, property: state },
609
+ object3 => { property: state }
610
+ }
611
+ verify_ui_states(ui)
612
+
613
+ The `verify_ui_states` method queues up any exceptions that occur while verifying each object's properties until all `UIElements` and their
614
+ properties have been checked, and then posts any exceptions encountered upon completion. Posted exceptions include a screenshot with a red
615
+ dashed highlight around the UI element that did not match the expected results.
616
+
617
+ The `verify_ui_states` method supports the following property/state pairs:
618
+
619
+ **All Objects:**
620
+
621
+ :exists Boolean
622
+ :enabled Boolean
623
+ :disabled Boolean
624
+ :visible Boolean
625
+ :hidden Boolean
626
+ :displayed Boolean
627
+ :width Integer
628
+ :height Integer
629
+ :x Integer
630
+ :y Integer
631
+ :class String
632
+ :value or :caption String
633
+ :attribute Hash
634
+
635
+ **Text Fields:**
636
+
637
+ :readonly Boolean
638
+ :placeholder String
639
+ :maxlength Integer
640
+ :min Integer
641
+ :max Integer
642
+ :step Integer
643
+
644
+ **Checkboxes:**
645
+
646
+ :checked Boolean
647
+
648
+ **Radio Buttons:**
649
+
650
+ :selected Boolean
651
+
652
+ **Images**
653
+
654
+ :loaded Boolean
655
+ :broken Boolean
656
+ :src String
657
+ :alt String
658
+
659
+ **Lists**
660
+
661
+ :items Array of Strings
662
+ :itemcount Integer
663
+ :item Hash
664
+ :selected String
665
+
666
+ **Select Lists** (ComboBoxes):
667
+
668
+ :items or :options Array of Strings
669
+ :itemcount or :optioncount Integer
670
+ :selected String
671
+
672
+ **Tables**
673
+
674
+ :rowcount Integer
675
+ :columncount Integer
676
+ :columnheaders Array of String
677
+ :cell Hash
678
+ :row Hash
679
+ :column Hash
680
+
681
+ **Audio/Video Media Objects**
682
+
683
+ :autoplay Boolean
684
+ :ended Boolean
685
+ :controls Boolean
686
+ :loop Boolean
687
+ :muted Boolean
688
+ :default_muted Boolean
689
+ :paused Boolean
690
+ :seeking Boolean
691
+ :src String
692
+ :current_time Float
693
+ :default_playback_rate Float
694
+ :duration Float
695
+ :playback_rate Float
696
+ :ready_state Integer
697
+ :volume Float
698
+ :crossorigin String
699
+ :preload String
700
+ :poster String
701
+
702
+ The `verify_ui_states` method supports the following ARIA accessibility property/state pairs:
703
+
704
+ **All Objects:**
705
+
706
+ :aria_label String
707
+ :aria_disabled Boolean
708
+ :aria_labelledby String
709
+ :aria_describedby String
710
+ :aria_live Boolean
711
+ :aria_selected Boolean
712
+ :aria_hidden Boolean
713
+ :aria_expanded Boolean
714
+ :aria_required Boolean
715
+ :aria_invalid Boolean
716
+ :aria_checked Boolean
717
+ :aria_readonly Boolean
718
+ :aria_pressed Boolean
719
+ :aria_haspopup Boolean
720
+ :aria_sort String
721
+ :aria_rowcount String
722
+ :aria_colcount String
723
+ :aria_valuemax String
724
+ :aria_valuemin String
725
+ :aria_valuenow String
726
+ :aria_valuetext String
727
+ :aria_orientation String
728
+ :aria_keyshortcuts String
729
+ :aria_roledescription String
730
+ :aria_autocomplete String
731
+ :aria_controls String
732
+ :aria_modal String
733
+ :aria_multiline Boolean
734
+ :aria_multiselectable Boolean
735
+ :content_editable Boolean
736
+
737
+ The `verify_ui_states` method supports comparison states using property/comparison state pairs:
738
+
739
+ object => { property: { comparison_state: value } }
740
+
741
+ **Comparison States:**
742
+
743
+ :lt or :less_than Integer or String
744
+ :lt_eq or :less_than_or_equal Integer or String
745
+ :gt or :greater_than Integer or String
746
+ :gt_eq or :greater_than_or_equal Integer or String
747
+ :starts_with String
748
+ :ends_with String
749
+ :contains String
750
+ :not_contains or :does_not_contain Integer or String
751
+ :not_equal Integer, String, or Boolean
752
+
753
+ The example below depicts a `verify_changes_saved` method that uses the `verify_ui_states` method to verify that all expected
754
+ values appear in the associated text fields after entering data and performing a save operation.
755
+
756
+ def verify_changes_saved
757
+ # verify saved user data is correctly displayed
758
+ ui = {
759
+ first_name_field => { visible: true, aria_invalid: false, value: User.current.first_name },
760
+ last_name_field => { visible: true, aria_invalid: false, value: User.current.last_name },
761
+ email_field => { visible: true, aria_invalid: false, value: User.current.email },
762
+ phone_number_field => { visible: true, aria_invalid: false, value: User.current.phone_number },
763
+ time_zone_select => { visible: true, aria_invalid: false, value: User.current.time_zone },
764
+ language_select => { visible: true, aria_invalid: false, value: User.current.language },
765
+ avatar_container => { visible: true },
766
+ avatar_image => { visible: true, broken: false, src: { contains: User.current.avatar_file_name } },
767
+ error_message_label => { visible: false }
768
+ }
769
+ verify_ui_states(ui)
770
+
771
+ # verify avatar src url does not contain /null/ institution id
772
+ verify_ui_states(avatar_image => { src: { does_not_contain: "/null/" } })
773
+ end
774
+
775
+
776
+ **I18n Translation Validation**
777
+
778
+ The `verify_ui_states` method also supports I18n string translations using property/I18n key name pairs:
779
+
780
+ object => { property: { translate_key: I18n key name } }
781
+
782
+ **I18n Translation Keys:**
783
+
784
+ :translate String (name of key in I18n compatible .yml file)
785
+ :translate_upcase String (name of key in I18n compatible .yml file)
786
+ :translate_downcase String (name of key in I18n compatible .yml file)
787
+ :translate_capitalize String (name of key in I18n compatible .yml file)
788
+ translate_titlecase: String (name of key in I18n compatible .yml file)
789
+
790
+ The example below depicts the usage of the `verify_ui_states` method to verify that the captions for menu items are correctly
791
+ translated.
792
+
793
+ def verify_menu
794
+ ui = {
795
+ account_settings_item => { visible: true, caption: { translate: 'Header.settings.account' } },
796
+ help_item => { visible: true, caption: { translate: 'Header.settings.help' } },
797
+ feedback_item => { visible: true, caption: { translate: 'Header.settings.feedback' } },
798
+ legal_item => { visible: true, caption: { translate: 'Header.settings.legal' } },
799
+ institution_item => { visible: true, caption: { translate: 'Header.settings.institution' } },
800
+ configurations_item => { visible: true, caption: { translate: 'Header.settings.configurations' } },
801
+ contact_us_item => { visible: true, caption: { translate: 'Header.settings.contact' } },
802
+ downloads_item => { visible: true, caption: { translate: 'Header.settings.downloads' } }
803
+ }
804
+ verify_ui_states(ui)
805
+ end
806
+
807
+ Baseline translation strings are stored in `.yml` files in the `config/locales/` folder. Each supported language/locale combination
808
+ has a corresponding `.yml` file. I18n `.yml` file naming convention uses [ISO-639 language codes and ISO-3166 country codes](https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html). For example:
809
+
810
+ English en.yml
811
+ English (Canada) en-CA.yml
812
+ French (Canada) fr-CA.yml
813
+ French fr.yml
814
+ Spanish es.yml
815
+ German de.yml
816
+ Portuguese (Brazil) pt-BR.yml
817
+ Portuguese (Portugal) pt-PT.yml
818
+
819
+ I18n `.yml` files contain key/value pairs representing the name of a translated string (key) and the string value.
820
+
821
+
822
+
557
823
  ## Instantiating your Page Objects
558
824
 
559
825
  Before you can call the methods in your **Page Objects** and **PageSection Objects**, you must instantiate the **Page Objects** of your
@@ -727,11 +993,11 @@ To use these **PageManager** methods, include the step definitions and code belo
727
993
 
728
994
  ## Connecting to a Web Browser
729
995
 
730
- The `TestCentricity::WebDriverConnect.initialize_web_driver` method configures the appropriate Selenium-Webdriver capabilities required to establish a
731
- connection with a target web browser, and sets the base host URL of the web site you are running your tests against.
996
+ The `TestCentricity::WebDriverConnect.initialize_web_driver` method configures the appropriate Selenium-Webdriver capabilities required to
997
+ establish a connection with a target web browser, and sets the base host URL of the web site you are running your tests against.
732
998
 
733
- The `TestCentricity::WebDriverConnect.initialize_web_driver` method accepts a single optional parameter - the base host URL. Cucumber **Environment
734
- Variables** are used to specify the target local or remote web browser, and the various webdriver capability parameters required to configure
999
+ The `TestCentricity::WebDriverConnect.initialize_web_driver` method accepts a single optional parameter - the base host URL. Cucumber
1000
+ **Environment Variables** are used to specify the target local or remote web browser, and the various webdriver capability parameters required to configure
735
1001
  the connection.
736
1002
 
737
1003
 
@@ -740,14 +1006,18 @@ the connection.
740
1006
  For locally hosted desktop web browsers running on macOS (OS X) or Windows platforms, the `WEB_BROWSER` Environment Variable must be set to one of the
741
1007
  values from the table below:
742
1008
 
743
- `WEB_BROWSER` | **Desktop Platform**
744
- -------------------|----------------
745
- `chrome` | OS X or Windows
746
- `chrome_headless` | OS X or Windows (headless - no visible UI)
747
- `firefox` | OS X or Windows (Firefox version 55 or greater only)
748
- `firefox_headless` | OS X or Windows (headless - no visible UI)
749
- `safari` | OS X only
750
- `ie` | Windows only (IE version 10.x or greater only)
1009
+ | `WEB_BROWSER` | **Desktop Platform** |
1010
+ |--------------------|------------------------------------------------|
1011
+ | `chrome` | OS X or Windows |
1012
+ | `chrome_headless` | OS X or Windows (headless - no visible UI) |
1013
+ | `firefox` | OS X or Windows |
1014
+ | `firefox_headless` | OS X or Windows (headless - no visible UI) |
1015
+ | `edge` | OS X or Windows |
1016
+ | `edge_headless` | OS X or Windows (headless - no visible UI) |
1017
+ | `safari` | OS X only |
1018
+ | `ie` | Windows only (IE version 10.x or greater only) |
1019
+
1020
+ Refer to **section 8.7 (Using Browser specific Profiles in cucumber.yml)** below.
751
1021
 
752
1022
 
753
1023
  #### Setting desktop browser window size
@@ -813,63 +1083,63 @@ Windows. The specified mobile browser's user agent, CSS screen dimensions, and d
813
1083
  local Chrome browser instance. You may even specify the emulated device's screen orientation. For locally hosted emulated mobile web browsers,
814
1084
  the `WEB_BROWSER` Environment Variable must be set to one of the values from the table below:
815
1085
 
816
- `WEB_BROWSER` | `HOST_BROWSER` | **CSS Screen Dimensions** | **Default Orientation** | **OS Version**
817
- ----------------------|----------------|---------------------------|-------------------------|---------------
818
- `ipad` |`chrome` |1024 x 768 |landscape |iOS 12
819
- `ipad_pro` |`chrome` |1366 x 1024 |landscape |iOS 12
820
- `ipad_pro_10_5` |`chrome` |1112 x 834 |landscape |iOS 12.2
821
- `ipad_pro_11` |`chrome` |1194 x 834 |landscape |iOS 12.2
822
- `ipad_pro_12_9` |`chrome` |1366 x 1024 |landscape |iOS 13.1
823
- `ipad_chrome` |`chrome` |1024 x 768 |landscape |iOS 12.2 - Mobile Chrome browser for iOS
824
- `ipad_firefox` |`chrome` |1024 x 768 |landscape |iOS 12.2 - Mobile Firefox browser for iOS
825
- `ipad_edge` |`chrome` |1024 x 768 |landscape |iOS 12.2 - Mobile Edge browser for iOS
826
- `android_tablet` |`chrome` |1024 x 768 |landscape |Android 3.0
827
- `kindle_fire` |`chrome` |1024 x 600 |landscape |
828
- `kindle_firehd7` |`chrome` |800 x 480 |landscape |Fire OS 3
829
- `kindle_firehd8` |`chrome` |1280 x 800 |landscape |Fire OS 5
830
- `kindle_firehd10` |`chrome` |1920 x 1200 |landscape |Fire OS 5
831
- `surface` |`chrome` |1366 x 768 |landscape |
832
- `blackberry_playbook` |`chrome` |1024 x 600 |landscape |BlackBerry Tablet OS
833
- `samsung_galaxy_tab` |`chrome` |1280 x 800 |landscape |Android 4.0.4
834
- `google_nexus7` |`chrome` |960 x 600 |landscape |Android 4.4.4
835
- `google_nexus9` |`chrome` |1024 x 768 |landscape |Android 5.1
836
- `google_nexus10` |`chrome` |1280 x 800 |landscape |Android 5.1
837
- `iphone6` |`chrome` |375 x 667 |portrait |iOS 12
838
- `iphone6_plus` |`chrome` |414 x 736 |portrait |iOS 12
839
- `iphone7` |`chrome` |375 x 667 |portrait |iOS 12
840
- `iphone7_plus` |`chrome` |414 x 736 |portrait |iOS 12
841
- `iphone7_chrome` |`chrome` |375 x 667 |portrait |iOS 12.2 - Mobile Chrome browser for iOS
842
- `iphone7_firefox` |`chrome` |375 x 667 |portrait |iOS 12.2 - Mobile Firefox browser for iOS
843
- `iphone7_edge` |`chrome` |375 x 667 |portrait |iOS 12.2 - Microsoft Edge browser for iOS
844
- `iphone8` |`chrome` |375 x 667 |portrait |iOS 12
845
- `iphone8_plus` |`chrome` |414 x 736 |portrait |iOS 12
846
- `iphone_x` |`chrome` |375 x 812 |portrait |iOS 12.2
847
- `iphone_xr` |`chrome` |414 x 896 |portrait |iOS 12.2
848
- `iphone_xs` |`chrome` |375 x 812 |portrait |iOS 12.2
849
- `iphone_xs_max` |`chrome` |414 x 896 |portrait |iOS 12.2
850
- `iphone_11` |`chrome` |414 x 896 |portrait |iOS 13.1
851
- `iphone_11_pro` |`chrome` |375 x 812 |portrait |iOS 13.1
852
- `iphone_11_pro_max` |`chrome` |414 x 896 |portrait |iOS 13.1
853
- `android_phone` |`chrome` |360 x 640 |portrait |Android 4.2.1
854
- `nexus6` |`chrome` |411 x 731 |portrait |Android 6
855
- `pixel` |`chrome` |411 x 731 |portrait |Android 8
856
- `pixel_xl` |`chrome` |411 x 731 |portrait |Android 8
857
- `samsung_galaxy_s4` |`chrome` |360 x 640 |portrait |Android 5.0.1
858
- `samsung_galaxy_s5` |`chrome` |360 x 640 |portrait |Android 6.0.1
859
- `samsung_galaxy_s6` |`chrome` |360 x 640 |portrait |Android 6.0.1
860
- `windows_phone7` |`chrome` |320 x 480 |portrait |Windows Phone OS 7.5
861
- `windows_phone8` |`chrome` |320 x 480 |portrait |Windows Phone OS 8.0
862
- `lumia_950_xl` |`chrome` |360 x 640 |portrait |Windows Phone OS 10
863
- `blackberry_z10` |`chrome` |384 x 640 |portrait |BlackBerry 10 OS
864
- `blackberry_z30` |`chrome` |360 x 640 |portrait |BlackBerry 10 OS
865
- `blackberry_leap` |`chrome` |360 x 640 |portrait |BlackBerry 10 OS
866
- `blackberry_passport` |`chrome` |504 x 504 |square |BlackBerry 10 OS
1086
+ | `WEB_BROWSER` | `HOST_BROWSER` | **CSS Screen Dimensions** | **Default Orientation** | **OS Version** |
1087
+ |-----------------------|----------------|---------------------------|-------------------------|-------------------------------------------|
1088
+ | `ipad` | `chrome` | 1024 x 768 | landscape | iOS 12 |
1089
+ | `ipad_pro` | `chrome` | 1366 x 1024 | landscape | iOS 12 |
1090
+ | `ipad_pro_10_5` | `chrome` | 1112 x 834 | landscape | iOS 12.2 |
1091
+ | `ipad_pro_11` | `chrome` | 1194 x 834 | landscape | iOS 12.2 |
1092
+ | `ipad_pro_12_9` | `chrome` | 1366 x 1024 | landscape | iOS 13.1 |
1093
+ | `ipad_chrome` | `chrome` | 1024 x 768 | landscape | iOS 12.2 - Mobile Chrome browser for iOS |
1094
+ | `ipad_firefox` | `chrome` | 1024 x 768 | landscape | iOS 12.2 - Mobile Firefox browser for iOS |
1095
+ | `ipad_edge` | `chrome` | 1024 x 768 | landscape | iOS 12.2 - Mobile Edge browser for iOS |
1096
+ | `kindle_fire` | `chrome` | 1024 x 600 | landscape | |
1097
+ | `kindle_firehd7` | `chrome` | 800 x 480 | landscape | Fire OS 3 |
1098
+ | `kindle_firehd8` | `chrome` | 1280 x 800 | landscape | Fire OS 5 |
1099
+ | `kindle_firehd10` | `chrome` | 1920 x 1200 | landscape | Fire OS 5 |
1100
+ | `surface` | `chrome` | 1366 x 768 | landscape | |
1101
+ | `blackberry_playbook` | `chrome` | 1024 x 600 | landscape | BlackBerry Tablet OS |
1102
+ | `samsung_galaxy_tab` | `chrome` | 1280 x 800 | landscape | Android 4.0.4 |
1103
+ | `google_nexus7` | `chrome` | 960 x 600 | landscape | Android 4.4.4 |
1104
+ | `google_nexus9` | `chrome` | 1024 x 768 | landscape | Android 5.1 |
1105
+ | `google_nexus10` | `chrome` | 1280 x 800 | landscape | Android 5.1 |
1106
+ | `iphone6` | `chrome` | 375 x 667 | portrait | iOS 12 |
1107
+ | `iphone6_plus` | `chrome` | 414 x 736 | portrait | iOS 12 |
1108
+ | `iphone7` | `chrome` | 375 x 667 | portrait | iOS 12 |
1109
+ | `iphone7_plus` | `chrome` | 414 x 736 | portrait | iOS 12 |
1110
+ | `iphone7_chrome` | `chrome` | 375 x 667 | portrait | iOS 12.2 - Mobile Chrome browser for iOS |
1111
+ | `iphone7_firefox` | `chrome` | 375 x 667 | portrait | iOS 12.2 - Mobile Firefox browser for iOS |
1112
+ | `iphone7_edge` | `chrome` | 375 x 667 | portrait | iOS 12.2 - Microsoft Edge browser for iOS |
1113
+ | `iphone8` | `chrome` | 375 x 667 | portrait | iOS 12 |
1114
+ | `iphone8_plus` | `chrome` | 414 x 736 | portrait | iOS 12 |
1115
+ | `iphone_x` | `chrome` | 375 x 812 | portrait | iOS 12.2 |
1116
+ | `iphone_xr` | `chrome` | 414 x 896 | portrait | iOS 12.2 |
1117
+ | `iphone_xs` | `chrome` | 375 x 812 | portrait | iOS 12.2 |
1118
+ | `iphone_xs_max` | `chrome` | 414 x 896 | portrait | iOS 12.2 |
1119
+ | `iphone_11` | `chrome` | 414 x 896 | portrait | iOS 13.1 |
1120
+ | `iphone_11_pro` | `chrome` | 375 x 812 | portrait | iOS 13.1 |
1121
+ | `iphone_11_pro_max` | `chrome` | 414 x 896 | portrait | iOS 13.1 |
1122
+ | `nexus6` | `chrome` | 411 x 731 | portrait | Android 6 |
1123
+ | `pixel` | `chrome` | 411 x 731 | portrait | Android 8 |
1124
+ | `pixel_xl` | `chrome` | 411 x 731 | portrait | Android 8 |
1125
+ | `samsung_galaxy_s4` | `chrome` | 360 x 640 | portrait | Android 5.0.1 |
1126
+ | `samsung_galaxy_s5` | `chrome` | 360 x 640 | portrait | Android 6.0.1 |
1127
+ | `samsung_galaxy_s6` | `chrome` | 360 x 640 | portrait | Android 6.0.1 |
1128
+ | `windows_phone7` | `chrome` | 320 x 480 | portrait | Windows Phone OS 7.5 |
1129
+ | `windows_phone8` | `chrome` | 320 x 480 | portrait | Windows Phone OS 8.0 |
1130
+ | `lumia_950_xl` | `chrome` | 360 x 640 | portrait | Windows Phone OS 10 |
1131
+ | `blackberry_z10` | `chrome` | 384 x 640 | portrait | BlackBerry 10 OS |
1132
+ | `blackberry_z30` | `chrome` | 360 x 640 | portrait | BlackBerry 10 OS |
1133
+ | `blackberry_leap` | `chrome` | 360 x 640 | portrait | BlackBerry 10 OS |
1134
+ | `blackberry_passport` | `chrome` | 504 x 504 | square | BlackBerry 10 OS |
867
1135
 
868
1136
  To change the emulated device's screen orientation from the default setting, set the `ORIENTATION` Environment Variable to either `portrait` or `landscape`.
869
1137
 
870
1138
  To use a local instance of the Chrome desktop browser to host the emulated mobile web browser, you must set the `HOST_BROWSER` Environment Variable
871
1139
  to `chrome`.
872
1140
 
1141
+ Refer to **section 8.7 (Using Browser specific Profiles in cucumber.yml)** below.
1142
+
873
1143
 
874
1144
  #### User defined mobile device profiles
875
1145
 
@@ -903,16 +1173,17 @@ The format for a new device profile is:
903
1173
  :user_agent: "user agent string"
904
1174
  ```
905
1175
 
906
- ### Selenium Grid and Dockerized Selenium Grid hosted desktop and emulated mobile web browsers
1176
+ ### Selenium Grid 4 and Dockerized Selenium Grid 4 hosted desktop and emulated mobile web browsers
907
1177
 
908
- For desktop and emulated mobile web browsers running on Selenium Grid or Dockerized Selenium Grid environments ([like Zalenium](https://opensource.zalando.com/zalenium/)), the following **Environment Variables** must be set
909
- as described in the table below.
1178
+ For remote desktop and emulated mobile web browsers running on Selenium Grid 4 or Dockerized Selenium Grid 4 environments as described in the table below.
910
1179
 
911
- **Environment Variable** | **Description**
912
- --------------- | ----------------
913
- `WEB_BROWSER` | Must be set to one of the following desktop browsers - `chrome`, `chrome_headless`, or `firefox`, or any of the mobile web browsers described above.
914
- `SELENIUM` | Must be set to `remote`
915
- `REMOTE_ENDPOINT` | Must be set to the URL of the Grid hub, which is usually `http://localhost:4444/wd/hub`
1180
+ | **Environment Variable** | **Description** |
1181
+ |--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
1182
+ | `WEB_BROWSER` | Must be set to one of the following desktop browsers - `chrome`, `chrome_headless`, `edge`, `edge_headless`, or `firefox`, or any of the mobile web browsers described above. |
1183
+ | `SELENIUM` | Must be set to `remote` |
1184
+ | `REMOTE_ENDPOINT` | Must be set to the URL of the Grid hub, which is usually `http://localhost:4444/wd/hub` |
1185
+
1186
+ Refer to **section 8.7 (Using Browser specific Profiles in cucumber.yml)** below.
916
1187
 
917
1188
 
918
1189
  ### Mobile Safari browser on iOS Simulators or iOS Physical Devices
@@ -926,27 +1197,31 @@ The Appium server must be running prior to invoking Cucumber to run your feature
926
1197
 
927
1198
  Once your test environment is properly configured, the following **Environment Variables** must be set as described in the table below.
928
1199
 
929
- **Environment Variable** | **Description**
930
- --------------- | ----------------
931
- `WEB_BROWSER` | Must be set to `appium`
932
- `APP_PLATFORM_NAME` | Must be set to `iOS`
933
- `APP_BROWSER` | Must be set to `Safari`
934
- `APP_VERSION` | Must be set to `12.2`, `11.4`, `10.3.1`, or which ever iOS version you wish to run within the XCode Simulator
935
- `APP_DEVICE` | Set to iOS device name supported by the iOS Simulator (`iPhone 6s Plus`, `iPad Pro (10.5-inch)`, `iPad Air 2`, etc.) or name of physically connected iOS device
936
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
937
- `APP_UDID` | UDID of physically connected iOS device (not used for simulators)
938
- `TEAM_ID` | unique 10-character Apple developer team identifier string (not used for simulators)
939
- `TEAM_NAME` | String representing a signing certificate (not used for simulators)
940
- `APP_ALLOW_POPUPS` | [Optional] Allow javascript to open new windows in Safari. Set to `true` or `false`
941
- `APP_IGNORE_FRAUD_WARNING` | [Optional] Prevent Safari from showing a fraudulent website warning. Set to `true` or `false`
942
- `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false`
943
- `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false`
944
- `APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com`
945
- `WDA_LOCAL_PORT` | [Optional] Used to forward traffic from Mac host to real iOS devices over USB. Default value is same as port number used by WDA on device.
946
- `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA`
947
- `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr`
948
- `ORIENTATION` | [Optional] Set to `portrait` or `landscape` (only for iOS simulators)
949
- `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client
1200
+ | **Environment Variable** | **Description** |
1201
+ |----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
1202
+ | `WEB_BROWSER` | Must be set to `appium` |
1203
+ | `APP_PLATFORM_NAME` | Must be set to `iOS` |
1204
+ | `APP_BROWSER` | Must be set to `Safari` |
1205
+ | `APP_VERSION` | Must be set to `12.2`, `11.4`, `10.3.1`, or which ever iOS version you wish to run within the XCode Simulator |
1206
+ | `APP_DEVICE` | Set to iOS device name supported by the iOS Simulator (`iPhone 6s Plus`, `iPad Pro (10.5-inch)`, `iPad Air 2`, etc.) or name of physically connected iOS device |
1207
+ | `DEVICE_TYPE` | Must be set to `phone` or `tablet` |
1208
+ | `APP_UDID` | UDID of physically connected iOS device (not used for simulators) |
1209
+ | `TEAM_ID` | unique 10-character Apple developer team identifier string (not used for simulators) |
1210
+ | `TEAM_NAME` | String representing a signing certificate (not used for simulators) |
1211
+ | `APP_ALLOW_POPUPS` | [Optional] Allow javascript to open new windows in Safari. Set to `true` or `false` |
1212
+ | `APP_IGNORE_FRAUD_WARNING` | [Optional] Prevent Safari from showing a fraudulent website warning. Set to `true` or `false` |
1213
+ | `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false` |
1214
+ | `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false` |
1215
+ | `APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com` |
1216
+ | `WDA_LOCAL_PORT` | [Optional] Used to forward traffic from Mac host to real iOS devices over USB. Default value is same as port number used by WDA on device. |
1217
+ | `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA` |
1218
+ | `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr` |
1219
+ | `ORIENTATION` | [Optional] Set to `portrait` or `landscape` (only for iOS simulators) |
1220
+ | `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client |
1221
+ | `SHOW_SIM_KEYBOARD` | [Optional] Show the simulator keyboard during text entry. Set to `true` or `false` |
1222
+ | `SHUTDOWN_OTHER_SIMS` | [Optional] Close any other running simulators. Set to `true` or `false` |
1223
+
1224
+ Refer to **section 8.7 (Using Browser specific Profiles in cucumber.yml)** below.
950
1225
 
951
1226
 
952
1227
  ### Mobile Chrome or Android browsers on Android Studio Virtual Device emulators
@@ -961,57 +1236,59 @@ for information on configuring Appium to use the correct version of Chromedriver
961
1236
 
962
1237
  Once your test environment is properly configured, the following **Environment Variables** must be set as described in the table below.
963
1238
 
964
- **Environment Variable** | **Description**
965
- --------------- | ----------------
966
- `WEB_BROWSER` | Must be set to `appium`
967
- `APP_PLATFORM_NAME` | Must be set to `Android`
968
- `APP_BROWSER` | Must be set to `Chrome` or `Browser`
969
- `APP_VERSION` | Must be set to `8.0`, `7.0`, or which ever Android OS version you wish to run with the Android Virtual Device
970
- `APP_DEVICE` | Set to Android Virtual Device ID (`Pixel_2_XL_API_26`, `Nexus_6_API_23`, etc.) found in Advanced Settings of AVD Configuration
971
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
972
- `ORIENTATION` | [Optional] Set to `portrait` or `landscape`
973
- `APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com`
974
- `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false`
975
- `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false`
976
- `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA`
977
- `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr`
978
- `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client
979
- `CHROMEDRIVER_EXECUTABLE` | [Optional] Absolute local path to webdriver executable
1239
+ | **Environment Variable** | **Description** |
1240
+ |---------------------------|--------------------------------------------------------------------------------------------------------------------------------|
1241
+ | `WEB_BROWSER` | Must be set to `appium` |
1242
+ | `APP_PLATFORM_NAME` | Must be set to `Android` |
1243
+ | `APP_BROWSER` | Must be set to `Chrome` or `Browser` |
1244
+ | `APP_VERSION` | Must be set to `8.0`, `7.0`, or which ever Android OS version you wish to run with the Android Virtual Device |
1245
+ | `APP_DEVICE` | Set to Android Virtual Device ID (`Pixel_2_XL_API_26`, `Nexus_6_API_23`, etc.) found in Advanced Settings of AVD Configuration |
1246
+ | `DEVICE_TYPE` | Must be set to `phone` or `tablet` |
1247
+ | `ORIENTATION` | [Optional] Set to `portrait` or `landscape` |
1248
+ | `APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com` |
1249
+ | `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false` |
1250
+ | `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false` |
1251
+ | `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA` |
1252
+ | `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr` |
1253
+ | `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client |
1254
+ | `CHROMEDRIVER_EXECUTABLE` | [Optional] Absolute local path to webdriver executable |
1255
+
1256
+ Refer to **section 8.7 (Using Browser specific Profiles in cucumber.yml)** below.
980
1257
 
981
1258
 
982
1259
  ### Remotely hosted desktop and mobile web browsers
983
1260
 
984
- You can run your automated tests against remotely hosted desktop and mobile web browsers using the BrowserStack, CrossBrowserTesting,
985
- Sauce Labs, TestingBot, Gridlastic, or LambdaTest services. If your tests are running against a web site hosted on your local computer
986
- (`localhost`), or on a staging server inside your LAN, you must set the `TUNNELING` Environment Variable to `true`.
1261
+ You can run your automated tests against remotely hosted desktop and mobile web browsers using the BrowserStack, SauceLabs, TestingBot, or
1262
+ LambdaTest services. If your tests are running against a web site hosted on your local computer (`localhost`), or on a staging server inside
1263
+ your LAN, you must set the `TUNNELING` Environment Variable to `true`.
1264
+
1265
+ Refer to **section 8.7 (Using Browser specific Profiles in cucumber.yml)** below.
987
1266
 
988
1267
 
989
1268
  #### Remote desktop browsers on the BrowserStack service
990
1269
 
991
1270
  For remotely hosted desktop web browsers on the BrowserStack service, the following **Environment Variables** must be set as described in
992
- the table below. Refer to the [Browserstack-specific capabilities chart page](https://www.browserstack.com/automate/capabilities)
1271
+ the table below. Refer to the [Browserstack-specific capabilities chart page](https://www.browserstack.com/automate/capabilities?tag=selenium-4)
993
1272
  for information regarding the specific capabilities.
994
1273
 
995
- **Environment Variable** | **Description**
996
- ------------------ | ----------------
997
- `WEB_BROWSER` | Must be set to `browserstack`
998
- `BS_USERNAME` | Must be set to your BrowserStack account user name
999
- `BS_AUTHKEY` | Must be set to your BrowserStack account access key
1000
- `BS_OS` | Must be set to `OS X` or `Windows`
1001
- `BS_OS_VERSION` | Refer to `os_version` capability in chart
1002
- `BS_BROWSER` | Refer to `browser` capability in chart
1003
- `BS_VERSION` | [Optional] Refer to `browser_version` capability in chart. If not specified, latest stable version of browser will be used.
1004
- `TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`). If `true`, the BrowserStack Local instance will be automatically started.
1005
- `RESOLUTION` | [Optional] Refer to supported screen `resolution` capability in chart
1006
- `BROWSER_SIZE` | [Optional] Specify width, height of browser window
1007
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1008
- `TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart
1009
- `IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/ip-geolocation) to select a country code.
1010
- `SELENIUM_VERSION` | [Optional] Specify Selenium WebDriver version to use
1011
- `CONSOLE_LOGS` | [Optional] Used to capture browser console logs. Refer to `browserstack.console` capability in chart
1012
- `WD_VERSION` | [Optional] Specify browser-specific WebDriver version to use. Refer to `browserstack.geckodriver`, `browserstack.ie.driver`, and `browserstack.safari.driver` capabilities in chart
1013
- `ALLOW_POPUPS` | [Optional] Allow popups (`true` or `false`) - for Safari, IE, and Edge browsers only
1014
- `ALLOW_COOKIES` | [Optional] Allow all cookies (`true` or `false`) - for Safari browsers only
1274
+ | **Environment Variable** | **Description** |
1275
+ |--------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
1276
+ | `WEB_BROWSER` | Must be set to `browserstack` |
1277
+ | `BS_USERNAME` | Must be set to your BrowserStack account user name |
1278
+ | `BS_AUTHKEY` | Must be set to your BrowserStack account access key |
1279
+ | `BS_OS` | Must be set to `OS X` or `Windows` |
1280
+ | `BS_OS_VERSION` | Refer to `os_version` capability in chart |
1281
+ | `BS_BROWSER` | Refer to `browser` capability in chart |
1282
+ | `BS_VERSION` | [Optional] Refer to `browser_version` capability in chart. If not specified, latest stable version of browser will be used. |
1283
+ | `TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`). If `true`, the BrowserStack Local instance will be automatically started. |
1284
+ | `RESOLUTION` | [Optional] Refer to supported screen `resolution` capability in chart |
1285
+ | `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`) |
1286
+ | `TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart |
1287
+ | `IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/ip-geolocation) to select a country code. |
1288
+ | `ALLOW_POPUPS` | [Optional] Allow popups (`true` or `false`) - for Safari, IE, and Edge browsers only |
1289
+ | `ALLOW_COOKIES` | [Optional] Allow all cookies (`true` or `false`) - for Safari browsers only |
1290
+ | `SCREENSHOTS` | [Optional] Generate screenshots for debugging (`true` or `false`) |
1291
+ | `NETWORK_LOGS` | [Optional] Capture network logs (`true` or `false`) |
1015
1292
 
1016
1293
  If the BrowserStack Local instance is running (`TUNNELING` Environment Variable is `true`), call the`TestCentricity::WebDriverConnect.close_tunnel` method
1017
1294
  upon completion of your test suite to stop the Local instance. Place the code shown below in your `env.rb` or `hooks.rb` file.
@@ -1025,65 +1302,27 @@ upon completion of your test suite to stop the Local instance. Place the code sh
1025
1302
  #### Remote mobile browsers on the BrowserStack service
1026
1303
 
1027
1304
  For remotely hosted mobile web browsers on the BrowserStack service, the following **Environment Variables** must be set as described in
1028
- the table below. Refer to the [Browserstack-specific capabilities chart page](https://www.browserstack.com/automate/capabilities)
1305
+ the table below. Refer to the [Browserstack-specific capabilities chart page](https://www.browserstack.com/automate/capabilities?tag=selenium-4)
1029
1306
  for information regarding the specific capabilities.
1030
1307
 
1031
- **Environment Variable** | **Description**
1032
- --------------- | ----------------
1033
- `WEB_BROWSER` | Must be set to `browserstack`
1034
- `BS_USERNAME` | Must be set to your BrowserStack account user name
1035
- `BS_AUTHKEY` | Must be set to your BrowserStack account access key
1036
- `BS_OS` | Must be set to `ios` or `android`
1037
- `BS_BROWSER` | Must be set to `iPhone`, `iPad`, or `android`
1038
- `BS_PLATFORM` | Must be set to `MAC` (for iOS) or `ANDROID`
1039
- `BS_DEVICE` | Refer to `device` capability in chart
1040
- `BS_REAL_MOBILE` | Set to `true` if running against a real device
1041
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
1042
- `TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`). If `true`, the BrowserStack Local instance will be automatically started.
1043
- `ORIENTATION` | [Optional] Set to `portrait` or `landscape`
1044
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1045
- `TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart
1046
- `IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/ip-geolocation) to select a country code.
1047
- `CONSOLE_LOGS` | [Optional] Used to capture browser console logs. Refer to `browserstack.console` capability in chart
1048
-
1049
-
1050
-
1051
- #### Remote desktop browsers on the CrossBrowserTesting service
1052
-
1053
- For remotely hosted desktop web browsers on the CrossBrowserTesting service, the following **Environment Variables** must be set as described in
1054
- the table below. Use the Configuration Wizard on the [Start a Selenium Test page](https://app.crossbrowsertesting.com/selenium/run) to obtain
1055
- information regarding the specific capabilities.
1056
-
1057
- **Environment Variable** | **Description**
1058
- --------------- | ----------------
1059
- `WEB_BROWSER` | Must be set to `crossbrowser`
1060
- `CB_USERNAME` | Must be set to your CrossBrowserTesting account user name or email address
1061
- `CB_AUTHKEY` | Must be set to your CrossBrowserTesting account access key
1062
- `CB_OS` | Refer to `os_api_name` capability in the sample script of the Wizard
1063
- `CB_BROWSER` | Refer to `browser_api_name` capability in the sample script of the Wizard
1064
- `RESOLUTION` | [Optional] Refer to supported `screen_resolution` capability in the sample script of the Wizard
1065
- `BROWSER_SIZE` | [Optional] Specify width, height of browser window
1066
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1067
-
1068
-
1069
- #### Remote mobile browsers on the CrossBrowserTesting service
1070
-
1071
- For remotely hosted mobile web browsers on the CrossBrowserTesting service, the following **Environment Variables** must be set as described in
1072
- the table below. Use the Configuration Wizard on the [Start a Selenium Test page](https://app.crossbrowsertesting.com/selenium/run) to obtain
1073
- information regarding the specific capabilities.
1074
-
1075
- **Environment Variable** | **Description**
1076
- --------------- | ----------------
1077
- `WEB_BROWSER` | Must be set to `crossbrowser`
1078
- `CB_USERNAME` | Must be set to your CrossBrowserTesting account user name or email address
1079
- `CB_AUTHKEY` | Must be set to your CrossBrowserTesting account access key
1080
- `CB_PLATFORM` | Refer to `os_api_name` capability in the sample script of the Wizard
1081
- `CB_BROWSER` | Refer to `browser_api_name` capability in the sample script of the Wizard
1082
- `RESOLUTION` | Refer to supported `screen_resolution` capability in the sample script of the Wizard
1083
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
1084
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1085
-
1086
-
1308
+ | **Environment Variable** | **Description** |
1309
+ |--------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
1310
+ | `WEB_BROWSER` | Must be set to `browserstack` |
1311
+ | `BS_USERNAME` | Must be set to your BrowserStack account user name |
1312
+ | `BS_AUTHKEY` | Must be set to your BrowserStack account access key |
1313
+ | `BS_OS` | Must be set to `ios` or `android` |
1314
+ | `BS_BROWSER` | Must be set to `Safari` (for iOS) or `Chrome` (for Android) |
1315
+ | `BS_DEVICE` | Refer to `device` capability in chart |
1316
+ | `BS_REAL_MOBILE` | Set to `true` if running against a real device |
1317
+ | `DEVICE_TYPE` | Must be set to `phone` or `tablet` |
1318
+ | `TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`). If `true`, the BrowserStack Local instance will be automatically started. |
1319
+ | `ORIENTATION` | [Optional] Set to `portrait` or `landscape` |
1320
+ | `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`) |
1321
+ | `TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart |
1322
+ | `IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/ip-geolocation) to select a country code. |
1323
+ | `SCREENSHOTS` | [Optional] Generate screenshots for debugging (`true` or `false`) |
1324
+ | `NETWORK_LOGS` | [Optional] Capture network logs (`true` or `false`) |
1325
+ | `APPIUM_LOGS` | [Optional] Generate Appium logs (`true` or `false`) |
1087
1326
 
1088
1327
  #### Remote desktop browsers on the Sauce Labs service
1089
1328
 
@@ -1091,18 +1330,18 @@ For remotely hosted desktop web browsers on the Sauce Labs service, the followin
1091
1330
  the table below. Use the Selenium API on the [Platform Configurator page](https://wiki.saucelabs.com/display/DOCS/Platform+Configurator#/) to obtain
1092
1331
  information regarding the specific capabilities.
1093
1332
 
1094
- **Environment Variable** | **Description**
1095
- --------------- | ----------------
1096
- `WEB_BROWSER` | Must be set to `saucelabs`
1097
- `SL_USERNAME` | Must be set to your Sauce Labs account user name or email address
1098
- `SL_AUTHKEY` | Must be set to your Sauce Labs account access key
1099
- `SL_OS` | Refer to `platform` capability in the Copy Code section of the Platform Configurator page
1100
- `SL_BROWSER` | Must be set to `chrome`, `firefox`, `safari`, `internet explorer`, or `edge`
1101
- `SL_VERSION` | Refer to `version` capability in the Copy Code section of the Platform Configurator page
1102
- `RESOLUTION` | [Optional] Refer to supported `screenResolution` capability in the Copy Code section of the Platform Configurator page
1103
- `BROWSER_SIZE `| [Optional] Specify width, height of browser window
1104
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1105
-
1333
+ | **Environment Variable** | **Description** |
1334
+ |--------------------------|------------------------------------------------------------------------------------------------------------------------|
1335
+ | `WEB_BROWSER` | Must be set to `saucelabs` |
1336
+ | `SL_USERNAME` | Must be set to your Sauce Labs account user name or email address |
1337
+ | `SL_AUTHKEY` | Must be set to your Sauce Labs account access key |
1338
+ | `DATA_CENTER` | Must be set to your Sauce Labs account Data Center assignment (`us-west-1`, `eu-central-1`, `apac-southeast-1`) |
1339
+ | `SL_OS` | Refer to `platform` capability in the Copy Code section of the Platform Configurator page |
1340
+ | `SL_BROWSER` | Must be set to `chrome`, `firefox`, `safari`, `internet explorer`, or `edge` |
1341
+ | `SL_VERSION` | Refer to `version` capability in the Copy Code section of the Platform Configurator page |
1342
+ | `RESOLUTION` | [Optional] Refer to supported `screenResolution` capability in the Copy Code section of the Platform Configurator page |
1343
+ | `BROWSER_SIZE ` | [Optional] Specify width, height of browser window |
1344
+ | `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`) |
1106
1345
 
1107
1346
  #### Remote desktop browsers on the TestingBot service
1108
1347
 
@@ -1110,60 +1349,17 @@ For remotely hosted desktop web browsers on the TestingBot service, the followin
1110
1349
  the table below. Refer to the [TestingBot List of Available Browsers page](https://testingbot.com/support/getting-started/browsers.html) for information
1111
1350
  regarding the specific capabilities.
1112
1351
 
1113
- **Environment Variable** | **Description**
1114
- --------------- | ----------------
1115
- `WEB_BROWSER` | Must be set to `testingbot`
1116
- `TB_USERNAME` | Must be set to your TestingBot account user name
1117
- `TB_AUTHKEY` | Must be set to your TestingBot account access key
1118
- `TB_OS` | Refer to `platform` capability in chart
1119
- `TB_BROWSER` | Refer to `browserName` capability in chart
1120
- `TB_VERSION` | Refer to `version` capability in chart
1121
- `TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`)
1122
- `RESOLUTION` | [Optional] Possible values: `800x600`, `1024x768`, `1280x960`, `1280x1024`, `1600x1200`, `1920x1200`, `2560x1440`
1123
- `BROWSER_SIZE`| [Optional] Specify width, height of browser window
1124
-
1125
-
1126
- #### Remote mobile browsers on the TestingBot service
1127
-
1128
- For remotely hosted mobile web browsers on the TestingBot service, the following **Environment Variables** must be set as described in
1129
- the table below. Refer to the [TestingBot List of Available Browsers page](https://testingbot.com/support/getting-started/browsers.html) for information
1130
- regarding the specific capabilities.
1131
-
1132
- **Environment Variable** | **Description**
1133
- --------------- | ----------------
1134
- `WEB_BROWSER` | Must be set to `testingbot`
1135
- `TB_USERNAME` | Must be set to your TestingBot account user name
1136
- `TB_AUTHKEY` | Must be set to your TestingBot account access key
1137
- `TB_OS` | Must be set to `MAC` (for iOS) or `ANDROID`
1138
- `TB_BROWSER` | Must be set to `safari` (for iOS) or `browser` (for Android)
1139
- `TB_VERSION` | Refer to `version` capability in chart
1140
- `TB_PLATFORM` | Must be set to `iOS` or `ANDROID`
1141
- `TB_DEVICE` | Refer to `deviceName` capability in chart
1142
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
1143
- `TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`)
1144
- `ORIENTATION` | [Optional] Set to `portrait` or `landscape`
1145
-
1146
-
1147
- #### Remote desktop browsers on the Gridlastic service
1148
-
1149
- For remotely hosted desktop web browsers on the Gridlastic service, the following **Environment Variables** must be set as described in
1150
- the table below. Refer to the [Gridlastic Selenium Grid Test Environments](https://www.gridlastic.com/test-environments.html) for information
1151
- regarding the specific capabilities.
1152
-
1153
- **Environment Variable** | **Description**
1154
- --------------- | ----------------
1155
- `WEB_BROWSER` | Must be set to `gridlastic`
1156
- `GL_USERNAME` | Must be set to your Gridlastic account user name
1157
- `GL_AUTHKEY` | Must be set to your Gridlastic account access key
1158
- `GL_SUBDOMAIN` | Must be set to your Gridlastic subdomain
1159
- `GL_OS` | Refer to `platform` capability in chart
1160
- `GL_BROWSER` | Refer to `browserName` capability in chart
1161
- `GL_VERSION` | Refer to `version` capability in chart
1162
- `GL_PLATFORM` | Must be set to `windows` when running on Windows operating systems
1163
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1164
- `VIDEO_URL` | [Optional] Video Files Location Endpoint URL shown in the **Your Selenium Grid Credentials** section of the Gridlastic Dashboard
1165
-
1166
-
1352
+ | **Environment Variable** | **Description** |
1353
+ |--------------------------|-------------------------------------------------------------------------------------------------------------------|
1354
+ | `WEB_BROWSER` | Must be set to `testingbot` |
1355
+ | `TB_USERNAME` | Must be set to your TestingBot account user name |
1356
+ | `TB_AUTHKEY` | Must be set to your TestingBot account access key |
1357
+ | `TB_OS` | Refer to `platform` capability in chart |
1358
+ | `TB_BROWSER` | Refer to `browserName` capability in chart |
1359
+ | `TB_VERSION` | Refer to `version` capability in chart |
1360
+ | `TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`) |
1361
+ | `RESOLUTION` | [Optional] Possible values: `800x600`, `1024x768`, `1280x960`, `1280x1024`, `1600x1200`, `1920x1200`, `2560x1440` |
1362
+ | `BROWSER_SIZE` | [Optional] Specify width, height of browser window |
1167
1363
 
1168
1364
  #### Remote desktop browsers on the LambdaTest service
1169
1365
 
@@ -1171,21 +1367,20 @@ For remotely hosted desktop web browsers on the LambdaTest service, the followin
1171
1367
  below. Use the Configuration Wizard on the [Selenium Desired Capabilities Generator](https://www.lambdatest.com/capabilities-generator/) to obtain
1172
1368
  information regarding the specific capabilities.
1173
1369
 
1174
- **Environment Variable** | **Description**
1175
- --------------- | ----------------
1176
- `WEB_BROWSER` | Must be set to `lambdatest`
1177
- `LT_USERNAME` | Must be set to your LambdaTest account user name or email address
1178
- `LT_AUTHKEY` | Must be set to your LambdaTest account access key
1179
- `LT_OS` | Refer to `platform` capability in the sample script of the Wizard
1180
- `LT_BROWSER` | Refer to `browserName` capability in the sample script of the Wizard
1181
- `LT_VERSION` | Refer to `version` capability in chart
1182
- `RESOLUTION` | [Optional] Refer to supported `resolution` capability in the sample script of the Wizard
1183
- `BROWSER_SIZE` | [Optional] Specify width, height of browser window
1184
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1185
- `ALLOW_POPUPS` | [Optional] Allow popups (`true` or `false`) - for Safari, IE, and Edge browsers only
1186
- `ALLOW_COOKIES` | [Optional] Allow all cookies (`true` or `false`) - for Safari browsers only
1187
- `CONSOLE_LOGS` | [Optional] Used to capture browser console logs.
1188
-
1370
+ | **Environment Variable** | **Description** |
1371
+ |--------------------------|------------------------------------------------------------------------------------------|
1372
+ | `WEB_BROWSER` | Must be set to `lambdatest` |
1373
+ | `LT_USERNAME` | Must be set to your LambdaTest account user name or email address |
1374
+ | `LT_AUTHKEY` | Must be set to your LambdaTest account access key |
1375
+ | `LT_OS` | Refer to `platform` capability in the sample script of the Wizard |
1376
+ | `LT_BROWSER` | Refer to `browserName` capability in the sample script of the Wizard |
1377
+ | `LT_VERSION` | Refer to `version` capability in chart |
1378
+ | `RESOLUTION` | [Optional] Refer to supported `resolution` capability in the sample script of the Wizard |
1379
+ | `BROWSER_SIZE` | [Optional] Specify width, height of browser window |
1380
+ | `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`) |
1381
+ | `ALLOW_POPUPS` | [Optional] Allow popups (`true` or `false`) - for Safari, IE, and Edge browsers only |
1382
+ | `ALLOW_COOKIES` | [Optional] Allow all cookies (`true` or `false`) - for Safari browsers only |
1383
+ | `CONSOLE_LOGS` | [Optional] Used to capture browser console logs. |
1189
1384
 
1190
1385
  ### Using Browser specific Profiles in cucumber.yml
1191
1386
 
@@ -1194,32 +1389,33 @@ target web browsers is to create browser specific **Profiles** that set the appr
1194
1389
  in your `cucumber.yml` file.
1195
1390
 
1196
1391
  Below is a list of Cucumber **Profiles** for supported locally and remotely hosted desktop and mobile web browsers (put these in in your
1197
- `cucumber.yml` file). Before you can use the BrowserStack, CrossBrowserTesting, Sauce Labs, TestingBot, Gridlastic or LambdaTest services, you
1198
- will need to replace the *INSERT USER NAME HERE* and *INSERT PASSWORD HERE* placeholder text with your user account and authorization code for
1199
- the cloud service(s) that you intend to connect with. When using the Gridlastic service, you will also need replace the *INSERT SUBDOMAIN HERE*
1200
- placeholder text with the Subdomain specified on the Grid Configuration Parameters section of the Gridlastic Dashboard.
1392
+ `cucumber.yml` file). Before you can use the BrowserStack, SauceLabs, TestingBot or LambdaTest services, you will need to replace the
1393
+ *INSERT USER NAME HERE* and *INSERT PASSWORD HERE* placeholder text with your user account and authorization code for the cloud service(s)
1394
+ that you intend to connect with.
1201
1395
 
1202
1396
 
1203
- <% desktop = "--tags @desktop --require features BROWSER_TILE=true BROWSER_SIZE=1500,1000" %>
1204
- <% tablet = "--tags @desktop --require features BROWSER_TILE=true" %>
1205
- <% mobile = "--tags @mobile --require features BROWSER_TILE=true" %>
1397
+ <% desktop = "--tags @desktop --require features BROWSER_TILE=true BROWSER_SIZE=1500,1000" %>
1398
+ <% tablet = "--tags @desktop --require features BROWSER_TILE=true" %>
1399
+ <% mobile = "--tags @mobile --require features BROWSER_TILE=true" %>
1206
1400
 
1207
1401
  #==============
1208
1402
  # profiles for locally hosted desktop web browsers
1209
1403
  #==============
1210
1404
 
1211
- firefox: WEB_BROWSER=firefox <%= desktop %>
1212
- chrome: WEB_BROWSER=chrome <%= desktop %>
1213
- safari: WEB_BROWSER=safari <%= desktop %>
1214
- ie: WEB_BROWSER=ie <%= desktop %>
1405
+ firefox: WEB_BROWSER=firefox <%= desktop %>
1406
+ chrome: WEB_BROWSER=chrome <%= desktop %>
1407
+ edge: WEB_BROWSER=edge <%= desktop %>
1408
+ safari: WEB_BROWSER=safari <%= desktop %>
1409
+ ie: WEB_BROWSER=ie <%= desktop %>
1215
1410
 
1216
- chrome_headless: WEB_BROWSER=chrome_headless <%= desktop %>
1217
- firefox_headless: WEB_BROWSER=firefox_headless <%= desktop %>
1411
+ firefox_headless: WEB_BROWSER=firefox_headless <%= desktop %>
1412
+ chrome_headless: WEB_BROWSER=chrome_headless <%= desktop %>
1413
+ edge_headless: WEB_BROWSER=edge_headless <%= desktop %>
1218
1414
 
1219
1415
  #==============
1220
1416
  # profile for Selenium Grid and Dockerized Selenium Grid hosted desktop web browsers
1221
1417
  #==============
1222
- grid: SELENIUM=remote REMOTE_ENDPOINT="http://localhost:4444/wd/hub"
1418
+ grid: SELENIUM=remote REMOTE_ENDPOINT="http://localhost:4444/wd/hub"
1223
1419
 
1224
1420
 
1225
1421
  #==============
@@ -1253,9 +1449,7 @@ placeholder text with the Subdomain specified on the Grid Configuration Paramete
1253
1449
  iphone_11: WEB_BROWSER=iphone_11 HOST_BROWSER=chrome <%= mobile %>
1254
1450
  iphone_11_pro: WEB_BROWSER=iphone_11_pro HOST_BROWSER=chrome <%= mobile %>
1255
1451
  iphone_11_pro_max: WEB_BROWSER=iphone_11_pro_max HOST_BROWSER=chrome <%= mobile %>
1256
- android_phone: WEB_BROWSER=android_phone HOST_BROWSER=chrome <%= mobile %>
1257
1452
  nexus6: WEB_BROWSER=nexus6 HOST_BROWSER=chrome <%= mobile %>
1258
- android_tablet: WEB_BROWSER=android_tablet HOST_BROWSER=chrome <%= tablet %>
1259
1453
  kindle_fire: WEB_BROWSER=kindle_fire HOST_BROWSER=chrome <%= tablet %>
1260
1454
  kindle_firehd7: WEB_BROWSER=kindle_firehd7 HOST_BROWSER=chrome <%= tablet %>
1261
1455
  kindle_firehd8: WEB_BROWSER=kindle_firehd8 HOST_BROWSER=chrome <%= tablet %>
@@ -1284,43 +1478,19 @@ placeholder text with the Subdomain specified on the Grid Configuration Paramete
1284
1478
  # profiles for mobile device screen orientation
1285
1479
  #==============
1286
1480
 
1287
- portrait: ORIENTATION=portrait
1288
- landscape: ORIENTATION=landscape
1481
+ portrait: ORIENTATION=portrait
1482
+ landscape: ORIENTATION=landscape
1289
1483
 
1290
1484
 
1291
1485
  #==============
1292
1486
  # profiles for mobile Safari web browsers hosted within XCode iOS simulator
1293
1487
  # NOTE: Requires installation of XCode, iOS version specific target simulators, Appium, and the appium_capybara gem
1294
1488
  #==============
1295
-
1296
- appium_ios: WEB_BROWSER=appium APP_PLATFORM_NAME="iOS" APP_BROWSER="Safari" <%= mobile %>
1297
- app_ios_10: --profile appium_ios APP_VERSION="10.3"
1298
- app_ios_11: --profile appium_ios APP_VERSION="11.2"
1299
-
1300
- iphone_7_plus_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 7 Plus"
1301
- iphone_7_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 7"
1302
- iphone_7se_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
1303
- iphone_6s_plus_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s Plus"
1304
- iphone_6s_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s"
1305
- iphone_SE_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
1306
- iphone_X_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone X"
1307
- iphone_8_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 8"
1308
- iphone_8_plus_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 8 Plus"
1309
- iphone_7_plus_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 7 Plus"
1310
- iphone_7_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 7"
1311
- iphone_7se_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
1312
- iphone_6s_plus_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s Plus"
1313
- iphone_6s_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s"
1314
- iphone_SE_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
1315
-
1316
- ipad_pro_12_9_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (12.9-inch)"
1317
- ipad_pro_12_9_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (12.9-inch)"
1318
- ipad_pro_10_5_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (10.5-inch)"
1319
- ipad_pro_10_5_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (10.5-inch)"
1320
- ipad_pro_9_7_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (9.7-inch)"
1321
- ipad_pro_9_7_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (9.7-inch)"
1322
- ipad_air_2_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Air 2"
1323
- ipad_air_2_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Air 2"
1489
+
1490
+ appium_ios: WEB_BROWSER=appium AUTOMATION_ENGINE=XCUITest APP_PLATFORM_NAME="ios" APP_BROWSER="Safari" NEW_COMMAND_TIMEOUT=30 SHUTDOWN_OTHER_SIMS=true SHOW_SIM_KEYBOARD=false
1491
+ app_ios_15: --profile appium_ios APP_VERSION="15.2"
1492
+ ipad_pro_12_9_15_sim: --profile app_ios_15 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (12.9-inch) (5th generation)" <%= desktop %>
1493
+ ipad_air_15_sim: --profile app_ios_15 DEVICE_TYPE=tablet APP_DEVICE="iPad Air (4th generation)" <%= desktop %>
1324
1494
 
1325
1495
 
1326
1496
  #==============
@@ -1328,334 +1498,110 @@ placeholder text with the Subdomain specified on the Grid Configuration Paramete
1328
1498
  # NOTE: Requires installation of XCode, Appium, and the appium_capybara gem
1329
1499
  #==============
1330
1500
 
1331
- my_ios_11_3_iphone: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="My Test iPhoneX" APP_UDID="INSERT YOUR DEVICE UDID"
1332
- my_ios_10_3_ipad: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="My Test iPad Pro" APP_UDID="INSERT YOUR DEVICE UDID"
1501
+ my_ios_15_iphone: --profile app_ios_15 DEVICE_TYPE=phone APP_DEVICE="My Test iPhoneX" APP_UDID="INSERT YOUR DEVICE UDID"
1502
+ my_ios_15_ipad: --profile app_ios_15 DEVICE_TYPE=tablet APP_DEVICE="My Test iPad Pro" APP_UDID="INSERT YOUR DEVICE UDID"
1333
1503
 
1334
1504
 
1335
1505
  #==============
1336
1506
  # profiles for Android mobile web browsers hosted within Android Studio Android Virtual Device emulators
1337
1507
  # NOTE: Requires installation of Android Studio, Android version specific virtual device simulators, Appium, and the appium_capybara gem
1338
1508
  #==============
1339
-
1340
- appium_android: WEB_BROWSER=appium APP_PLATFORM_NAME="Android" <%= mobile %>
1341
- android_api_26: --profile appium_android APP_BROWSER="Chrome" APP_VERSION="8.0"
1342
- android_api_23: --profile appium_android APP_BROWSER="Browser" APP_VERSION="6.0"
1343
- pixel_xl_api26_sim: --profile android_api_26 DEVICE_TYPE=phone APP_DEVICE="Pixel_XL_API_26"
1344
- pixel_2_xl_api26_sim: --profile android_api_26 DEVICE_TYPE=phone APP_DEVICE="Pixel_2_XL_API_26"
1345
- nexus_6_api23_sim: --profile android_api_23 DEVICE_TYPE=phone APP_DEVICE="Nexus_6_API_23"
1509
+
1510
+ appium_android: WEB_BROWSER=appium APP_PLATFORM_NAME="Android" <%= mobile %>
1511
+ app_android_12: --profile appium_android APP_BROWSER="Chrome" APP_VERSION="12.0"
1512
+ pixel_c_api31_sim: --profile app_android_12 DEVICE_TYPE=tablet APP_DEVICE="Pixel_C_API_31"
1513
+
1346
1514
 
1347
1515
  #==============
1348
1516
  # profiles for remotely hosted web browsers on the BrowserStack service
1349
1517
  #==============
1350
1518
 
1351
- browserstack: WEB_BROWSER=browserstack BS_USERNAME="<INSERT USER NAME HERE>" BS_AUTHKEY="<INSERT PASSWORD HERE>"
1352
- bs_desktop: --profile browserstack <%= desktop %> RESOLUTION="1920x1080"
1353
- bs_mobile: --profile browserstack <%= mobile %>
1354
-
1355
- # BrowserStack OS X desktop browser profiles
1356
- bs_macos_mojave: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Mojave"
1357
- bs_ff_mojave: --profile bs_macos_mojave BS_BROWSER="Firefox"
1358
- bs_chrome_mojave: --profile bs_macos_mojave BS_BROWSER="Chrome"
1359
- bs_safari_mojave: --profile bs_macos_mojave BS_BROWSER="Safari"
1360
-
1361
- bs_macos_high_sierra: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="High Sierra"
1362
- bs_ff_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Firefox"
1363
- bs_chrome_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Chrome"
1364
- bs_safari_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Safari"
1365
-
1366
- bs_macos_sierra: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Sierra"
1367
- bs_ff_sierra: --profile bs_macos_sierra BS_BROWSER="Firefox"
1368
- bs_chrome_sierra: --profile bs_macos_sierra BS_BROWSER="Chrome"
1369
- bs_safari_sierra: --profile bs_macos_sierra BS_BROWSER="Safari"
1370
-
1371
- bs_osx_el_capitan: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="El Capitan"
1372
- bs_ff_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Firefox"
1373
- bs_chrome_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Chrome"
1374
- bs_safari_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Safari"
1375
-
1376
- bs_osx_yosemite: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Yosemite"
1377
- bs_ff_yos: --profile bs_osx_yosemite BS_BROWSER="Firefox"
1378
- bs_chrome_yos: --profile bs_osx_yosemite BS_BROWSER="Chrome"
1379
- bs_safari_yos: --profile bs_osx_yosemite BS_BROWSER="Safari"
1519
+ browserstack: WEB_BROWSER=browserstack BS_USERNAME="<INSERT USER NAME HERE>" BS_AUTHKEY="<INSERT PASSWORD HERE>"
1520
+ bs_desktop: --profile browserstack <%= desktop %> RESOLUTION="1920x1080"
1521
+ bs_mobile: --profile browserstack <%= mobile %>
1380
1522
 
1523
+ # BrowserStack macOS desktop browser profiles
1524
+ bs_macos_monterey: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Monterey"
1525
+ bs_chrome_monterey: --profile bs_macos_monterey BS_BROWSER="Chrome" BS_VERSION="latest"
1526
+ bs_edge_monterey: --profile bs_macos_monterey BS_BROWSER="Edge" BS_VERSION="latest"
1527
+ bs_safari_monterey: --profile bs_macos_monterey BS_BROWSER="Safari" BS_VERSION="latest"
1528
+
1381
1529
  # BrowserStack Windows desktop browser profiles
1382
- bs_win8: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="8"
1383
- bs_win10: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="10"
1384
- bs_ff_win8: --profile bs_win8 BS_BROWSER="Firefox"
1385
- bs_ff_win10: --profile bs_win10 BS_BROWSER="Firefox"
1386
- bs_chrome_win8: --profile bs_win8 BS_BROWSER="Chrome"
1387
- bs_chrome_win10: --profile bs_win10 BS_BROWSER="Chrome"
1388
-
1389
- bs_ie10_win8: --profile bs_win8 BS_BROWSER="IE" BS_VERSION="10.0"
1390
- bs_ie11_win8: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="8.1" BS_BROWSER="IE" BS_VERSION="11.0"
1391
- bs_ie11_win10: --profile bs_win10 BS_BROWSER="IE" BS_VERSION="11.0"
1392
- bs_edge_win10: --profile bs_win10 BS_BROWSER="Edge" BS_VERSION="15.0"
1393
-
1530
+ bs_win11: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="11"
1531
+ bs_chrome_win11: --profile bs_win11 BS_BROWSER="Chrome" BS_VERSION="latest"
1532
+ bs_edge_win11: --profile bs_win11 BS_BROWSER="Edge" BS_VERSION="latest"
1533
+ bs_win10: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="10"
1534
+ bs_ie_win10: --profile bs_win10 BS_BROWSER="IE" BS_VERSION="11.0"
1535
+
1394
1536
  # BrowserStack iOS mobile browser profiles
1395
- bs_iphone: --profile bs_mobile BS_PLATFORM=MAC BS_OS=ios BS_BROWSER=iPhone DEVICE_TYPE=phone
1396
- bs_iphone6s_plus: --profile bs_iphone BS_DEVICE="iPhone 6S Plus"
1397
- bs_iphone6s: --profile bs_iphone BS_DEVICE="iPhone 6S"
1398
- bs_iphone6_plus: --profile bs_iphone BS_DEVICE="iPhone 6 Plus"
1399
- bs_iphone6: --profile bs_iphone BS_DEVICE="iPhone 6"
1400
- bs_iphone5s: --profile bs_iphone BS_DEVICE="iPhone 5S"
1401
- bs_iphone4s: --profile bs_iphone BS_DEVICE="iPhone 4S (6.0)"
1402
-
1403
- bs_ipad: --profile bs_mobile BS_PLATFORM=MAC BS_BROWSER=iPad DEVICE_TYPE=tablet
1404
- bs_ipad_pro: --profile bs_ipad BS_DEVICE="iPad Pro"
1405
- bs_ipad_air2: --profile bs_ipad BS_DEVICE="iPad Air 2"
1406
- bs_ipad_air: --profile bs_ipad BS_DEVICE="iPad Air"
1407
- bs_ipad_mini: --profile bs_ipad BS_DEVICE="iPad Mini 4"
1408
-
1409
- # BrowserStack iOS real device mobile browser profiles
1410
- bs_iphone_device: --profile bs_iphone BS_REAL_MOBILE="true"
1411
- bs_iphoneX: --profile bs_iphone_device BS_OS_VERSION="11.0" BS_DEVICE="iPhone X"
1412
- bs_iphone8_plus: --profile bs_iphone_device BS_OS_VERSION="11.0" BS_DEVICE="iPhone 8 Plus"
1413
- bs_iphone8: --profile bs_iphone_device BS_OS_VERSION="11.0" BS_DEVICE="iPhone 8"
1414
- bs_iphone7_plus: --profile bs_iphone_device BS_OS_VERSION="10.3" BS_DEVICE="iPhone 7 Plus"
1415
- bs_iphone7: --profile bs_iphone_device BS_OS_VERSION="10.3" BS_DEVICE="iPhone 7"
1416
-
1417
- bs_ipad_device: --profile bs_ipad BS_REAL_MOBILE="true"
1418
- bs_ipad5: --profile bs_ipad_device BS_OS_VERSION="11.0" BS_DEVICE="iPad 5th"
1537
+ bs_ipad: --profile bs_mobile BS_OS=ios BS_BROWSER=Safari DEVICE_TYPE=tablet BS_REAL_MOBILE="true"
1538
+ bs_ipad_pro_12: --profile bs_ipad BS_DEVICE="iPad Pro 12.9 2018" BS_OS_VERSION="15"
1419
1539
 
1420
1540
  # BrowserStack Android mobile browser profiles
1421
- bs_android: --profile bs_mobile BS_PLATFORM=ANDROID BS_BROWSER=android BS_OS=android
1422
- bs_android_phone: --profile bs_android DEVICE_TYPE=phone
1423
- bs_galaxy_s5: --profile bs_android_phone BS_DEVICE="Samsung Galaxy S5"
1424
- bs_nexus5: --profile bs_android_phone BS_DEVICE="Google Nexus 5"
1425
- bs_moto_razr: --profile bs_android_phone BS_DEVICE="Motorola Razr"
1426
- bs_sony_xperia: --profile bs_android_phone BS_DEVICE="Sony Xperia Tipo"
1427
-
1428
- bs_android_tablet: --profile bs_android DEVICE_TYPE=tablet
1429
- bs_kindle_fire_hd89: --profile bs_android_tablet BS_DEVICE="Amazon Kindle Fire HD 8.9"
1430
- bs_kindle_fire_hdx7: --profile bs_android_tablet BS_DEVICE="Amazon Kindle Fire HDX 7"
1431
- bs_kindle_fire2: --profile bs_android_tablet BS_DEVICE="Amazon Kindle Fire 2"
1432
- bs_nexus7: --profile bs_android_tablet BS_DEVICE="Google Nexus 7"
1433
-
1434
- # BrowserStack Android real device mobile browser profiles
1435
- bs_android_device: --profile bs_mobile BS_BROWSER=android BS_OS=android BS_REAL_MOBILE="true"
1436
- bs_google_pixel8: --profile bs_android_device BS_DEVICE="Google Pixel" BS_OS_VERSION="8.0" DEVICE_TYPE=phone
1437
- bs_google_pixel71: --profile bs_android_device BS_DEVICE="Google Pixel" BS_OS_VERSION="7.1" DEVICE_TYPE=phone
1438
- bs_nexus6: --profile bs_android_device BS_DEVICE="Google Nexus 6" DEVICE_TYPE=phone
1439
- bs_galaxy_s8_plus: --profile bs_android_device BS_DEVICE="Samsung Galaxy S8 Plus" DEVICE_TYPE=phone
1440
- bs_galaxy_s8: --profile bs_android_device BS_DEVICE="Samsung Galaxy S8" DEVICE_TYPE=phone
1441
- bs_galaxy_s7: --profile bs_android_device BS_DEVICE="Samsung Galaxy S7" DEVICE_TYPE=phone
1442
- bs_galaxy_s6: --profile bs_android_device BS_DEVICE="Samsung Galaxy S6" DEVICE_TYPE=phone
1443
- bs_galaxy_note4: --profile bs_android_device BS_DEVICE="Samsung Galaxy Note 4" DEVICE_TYPE=tablet
1444
- bs_nexus9: --profile bs_android_device BS_DEVICE="Google Nexus 9" DEVICE_TYPE=tablet
1541
+ bs_android: --profile bs_mobile BS_OS=android BS_BROWSER=Chrome DEVICE_TYPE=tablet BS_REAL_MOBILE="true"
1542
+ bs_android_tablet: --profile bs_android BS_DEVICE="Samsung Galaxy Tab S7" BS_OS_VERSION="10.0"
1445
1543
 
1446
1544
 
1447
- #==============
1448
- # profiles for remotely hosted web browsers on the CrossBrowserTesting service
1449
- #==============
1450
-
1451
- crossbrowser: WEB_BROWSER=crossbrowser CB_USERNAME="<INSERT USER NAME HERE>" CB_AUTHKEY="<INSERT PASSWORD HERE>"
1452
- cb_desktop: --profile crossbrowser <%= desktop %>
1453
- cb_mobile: --profile crossbrowser <%= mobile %>
1454
-
1455
- # CrossBrowserTesting OS X desktop browser profiles
1456
- cb_osx: --profile cb_desktop RESOLUTION="1920x1200"
1457
- cb_macos_sierra: --profile cb_osx CB_OS="Mac10.12"
1458
- cb_chrome_sierra: --profile cb_macos_sierra CB_BROWSER="Chrome53x64"
1459
- cb_safari_sierra: --profile cb_macos_sierra CB_BROWSER="Safari10"
1460
-
1461
- cb_osx_el_capitan: --profile cb_osx CB_OS="Mac10.11"
1462
- cb_ff_el_cap: --profile cb_osx_el_capitan CB_BROWSER="FF46"
1463
- cb_chrome_el_cap: --profile cb_osx_el_capitan CB_BROWSER="Chrome48x64"
1464
- cb_safari_el_cap: --profile cb_osx_el_capitan CB_BROWSER="Safari9"
1465
-
1466
- cb_osx_yosemite: --profile cb_osx CB_OS="Mac10.10"
1467
- cb_ff_yos: --profile cb_osx_yosemite CB_BROWSER="FF46"
1468
- cb_chrome_yos: --profile cb_osx_yosemite CB_BROWSER="Chrome48x64"
1469
- cb_safari_yos: --profile cb_osx_yosemite CB_BROWSER="Safari8"
1470
-
1471
- # CrossBrowserTesting Windows desktop browser profiles
1472
- cb_win: --profile cb_desktop RESOLUTION="1920x1080"
1473
- cb_win8: --profile cb_win CB_OS="Win8"
1474
- cb_win10: --profile cb_win CB_OS="Win10"
1475
- cb_ff_win8: --profile cb_win8 CB_BROWSER="FF46"
1476
- cb_ff_win10: --profile cb_win10 CB_BROWSER="FF46"
1477
- cb_chrome_win8: --profile cb_win8 CB_BROWSER="Chrome48x64"
1478
- cb_chrome_win10: --profile cb_win10 CB_BROWSER="Chrome48x64"
1479
- cb_edge_win10: --profile cb_win10 CB_BROWSER="Edge20"
1480
-
1481
- cb_ie11_win8: --profile cb_win8 CB_BROWSER="IE11"
1482
- cb_ie10_win8: --profile cb_win8 CB_BROWSER="IE10"
1483
- cb_ie11_win10: --profile cb_win10 CB_BROWSER="IE11"
1484
-
1485
- # CrossBrowserTesting iOS mobile browser profiles
1486
- cb_iphone6s_plus: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone6sPlus-iOS9sim" CB_BROWSER="MblSafari9.0" RESOLUTION="1242x2208"
1487
- cb_iphone6s: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone6s-iOS9sim" CB_BROWSER="MblSafari9.0" RESOLUTION="750x1334"
1488
- cb_iphone6_plus: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone6Plus-iOS8sim" CB_BROWSER="MblSafari8.0" RESOLUTION="1242x2208"
1489
- cb_iphone6: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone6-iOS8sim" CB_BROWSER="MblSafari8.0" RESOLUTION="750x1334"
1490
- cb_iphone5s: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone5s-iOS7sim" CB_BROWSER="MblSafari7.0" RESOLUTION="640x1136"
1491
- cb_ipad_pro: --profile cb_mobile DEVICE_TYPE=tablet CB_PLATFORM="iPadPro-iOS9Sim" CB_BROWSER="MblSafari9.0" RESOLUTION="2732x2048"
1492
- cb_ipad_air2: --profile cb_mobile DEVICE_TYPE=tablet CB_PLATFORM="iPadAir2-iOS9Sim" CB_BROWSER="MblSafari9.0" RESOLUTION="2048x1536"
1493
- cb_ipad_air: --profile cb_mobile DEVICE_TYPE=tablet CB_PLATFORM="iPadAir-iOS8Sim" CB_BROWSER="MblSafari8.0" RESOLUTION="2048x1536"
1494
- cb_ipad_mini: --profile cb_mobile DEVICE_TYPE=tablet CB_PLATFORM="iPadMiniRetina-iOS7Sim" CB_BROWSER="MblSafari7.0" RESOLUTION="2048x1536"
1495
-
1496
- # CrossBrowserTesting Android mobile browser profiles
1497
- cb_nexus7: --profile cb_mobile CB_PLATFORM="Nexus7-And42" CB_BROWSER="MblChrome37" RESOLUTION="800x1280"
1498
- cb_galaxy_tab2: --profile cb_mobile CB_PLATFORM="GalaxyTab2-And41" CB_BROWSER="MblChrome38" RESOLUTION="1280x800"
1499
- cb_galaxy_s5: --profile cb_mobile CB_PLATFORM="GalaxyS5-And44" CB_BROWSER="MblChrome35" RESOLUTION="1080x1920"
1500
- cb_galaxy_s4: --profile cb_mobile CB_PLATFORM="GalaxyS4-And42" CB_BROWSER="MblChrome33" RESOLUTION="1080x1920"
1501
-
1502
-
1503
1545
  #==============
1504
1546
  # profiles for remotely hosted web browsers on the SauceLabs service
1505
1547
  #==============
1506
1548
 
1507
- saucelabs: WEB_BROWSER=saucelabs SL_USERNAME="<INSERT USER NAME HERE>" SL_AUTHKEY="<INSERT PASSWORD HERE>"
1508
- sl_desktop: --profile saucelabs <%= desktop %>
1509
-
1510
- # SauceLabs OS X desktop browser profiles
1511
- sl_osx_sierra: --profile sl_desktop SL_OS="macOS 10.12"
1512
- sl_ff_sierra: --profile sl_osx_sierra SL_BROWSER="firefox"
1513
- sl_chrome_sierra: --profile sl_osx_sierra SL_BROWSER="chrome"
1514
- sl_safari_sierra: --profile sl_osx_sierra SL_BROWSER="safari"
1515
-
1516
- sl_osx_el_capitan: --profile sl_desktop SL_OS="OS X 10.11"
1517
- sl_ff_el_cap: --profile sl_osx_el_capitan SL_BROWSER="firefox"
1518
- sl_chrome_el_cap: --profile sl_osx_el_capitan SL_BROWSER="chrome"
1519
- sl_safari_el_cap: --profile sl_osx_el_capitan SL_BROWSER="safari"
1549
+ saucelabs: WEB_BROWSER=saucelabs SL_USERNAME="<INSERT USER NAME HERE>" SL_AUTHKEY="<INSERT PASSWORD HERE>" DATA_CENTER="<INSERT DATA CENTER HERE"
1550
+ sl_desktop: --profile saucelabs <%= desktop %>
1551
+ sl_mobile: --profile saucelabs <%= mobile %>
1520
1552
 
1521
- sl_osx_yosemite: --profile sl_desktop SL_OS="OS X 10.10" RESOLUTION="1920x1200"
1522
- sl_ff_yos: --profile sl_osx_yosemite SL_BROWSER="firefox"
1523
- sl_chrome_yos: --profile sl_osx_yosemite SL_BROWSER="chrome"
1524
- sl_safari_yos: --profile sl_osx_yosemite SL_BROWSER="safari"
1553
+ # SauceLabs macOS desktop browser profiles
1554
+ sl_macos_monterey: --profile sl_desktop SL_OS="macOS 12" RESOLUTION="1920x1440"
1555
+ sl_chrome_monterey: --profile sl_macos_monterey SL_BROWSER="chrome" SL_VERSION="latest"
1556
+ sl_edge_monterey: --profile sl_macos_monterey SL_BROWSER="MicrosoftEdge" SL_VERSION="latest"
1557
+ sl_firefox_monterey: --profile sl_macos_monterey SL_BROWSER="Firefox" SL_VERSION="latest"
1525
1558
 
1526
1559
  # SauceLabs Windows desktop browser profiles
1527
- sl_win8: --profile sl_desktop SL_OS="Windows 8.1" RESOLUTION="1280x1024"
1528
- sl_win10: --profile sl_desktop SL_OS="Windows 10" RESOLUTION="1280x1024"
1529
- sl_ff_win8: --profile sl_win8 SL_BROWSER="firefox"
1530
- sl_ff_win10: --profile sl_win10 SL_BROWSER="firefox"
1531
- sl_chrome_win8: --profile sl_win8 SL_BROWSER="chrome"
1532
- sl_chrome_win10: --profile sl_win10 SL_BROWSER="chrome"
1560
+ sl_windows: --profile sl_desktop RESOLUTION="1920x1200"
1561
+ sl_edge_win11: --profile sl_windows SL_OS="Windows 11" SL_BROWSER="MicrosoftEdge" SL_VERSION="latest"
1562
+ sl_ie_win10: --profile sl_windows SL_OS="Windows 10" SL_BROWSER="internet explorer" SL_VERSION="11"
1533
1563
 
1534
- sl_ie11_win8: --profile sl_win8 SL_BROWSER="internet explorer" SL_VERSION="11.0"
1535
- sl_ie11_win10: --profile sl_win10 SL_BROWSER="internet explorer"
1564
+ # SauceLabs iOS mobile browser profiles
1565
+ sl_ipad: --profile sl_mobile DEVICE_TYPE=tablet SL_PLATFORM=iOS SL_BROWSER=Safari
1566
+ sl_ipad_pro_12: --profile sl_ipad SL_DEVICE="iPad Pro (12.9 inch) (5th generation) Simulator" SL_VERSION="15.0"
1536
1567
 
1537
1568
 
1538
1569
  #==============
1539
1570
  # profiles for remotely hosted web browsers on the TestingBot service
1540
1571
  #==============
1541
1572
 
1542
- testingbot: WEB_BROWSER=testingbot TB_USERNAME="<INSERT USER NAME HERE>" TB_AUTHKEY="<INSERT PASSWORD HERE>"
1543
- tb_desktop: --profile testingbot <%= desktop %> RESOLUTION="1920x1200"
1544
- tb_mobile: --profile testingbot <%= mobile %>
1573
+ testingbot: WEB_BROWSER=testingbot TB_USERNAME="<INSERT USER NAME HERE>" TB_AUTHKEY="<INSERT PASSWORD HERE>"
1574
+ tb_desktop: --profile testingbot <%= desktop %> RESOLUTION="1920x1200"
1545
1575
 
1546
- # TestingBot OS X desktop browser profiles
1547
- tb_macos_sierra: --profile tb_desktop TB_OS="SIERRA"
1548
- tb_ff_sierra: --profile tb_macos_sierra TB_BROWSER="firefox"
1549
- tb_chrome_sierra: --profile tb_macos_sierra TB_BROWSER="chrome"
1550
- tb_safari_sierra: --profile tb_macos_sierra TB_BROWSER="safari" TB_VERSION="10"
1551
-
1552
- tb_osx_el_capitan: --profile tb_desktop TB_OS="CAPITAN"
1553
- tb_ff_el_cap: --profile tb_osx_el_capitan TB_BROWSER="firefox"
1554
- tb_chrome_el_cap: --profile tb_osx_el_capitan TB_BROWSER="chrome"
1555
- tb_safari_el_cap: --profile tb_osx_el_capitan TB_BROWSER="safari" TB_VERSION="9"
1556
-
1557
- tb_osx_yosemite: --profile tb_desktop TB_OS="YOSEMITE"
1558
- tb_ff_yos: --profile tb_osx_yosemite TB_BROWSER="firefox"
1559
- tb_chrome_yos: --profile tb_osx_yosemite TB_BROWSER="chrome"
1560
- tb_safari_yos: --profile tb_osx_yosemite TB_BROWSER="safari" TB_VERSION="8"
1576
+ # TestingBot macOS desktop browser profiles
1577
+ tb_macos_monterey: --profile tb_desktop TB_OS="MONTEREY"
1578
+ tb_chrome_monterey: --profile tb_macos_monterey TB_BROWSER="chrome" TB_VERSION="latest"
1579
+ tb_edge_monterey: --profile tb_macos_monterey TB_BROWSER="microsoftedge" TB_VERSION="latest"
1561
1580
 
1562
1581
  # TestingBot Windows desktop browser profiles
1563
- tb_win8: --profile tb_desktop TB_OS="WIN8"
1564
- tb_win10: --profile tb_desktop TB_OS="WIN10"
1565
- tb_ff_win8: --profile tb_win8 TB_BROWSER="firefox"
1566
- tb_ff_win10: --profile tb_win10 TB_BROWSER="firefox"
1567
- tb_chrome_win8: --profile tb_win8 TB_BROWSER="chrome"
1568
- tb_chrome_win10: --profile tb_win10 TB_BROWSER="chrome"
1569
-
1570
- tb_ie11_win8: --profile tb_win8 TB_BROWSER="internet explorer" TB_VERSION="11"
1571
- tb_ie10_win8: --profile tb_win8 TB_BROWSER="internet explorer" TB_VERSION="10"
1572
- tb_ie11_win10: --profile tb_win10 TB_BROWSER="internet explorer" TB_VERSION="11"
1573
- tb_edge_win10: --profile tb_win10 TB_BROWSER="microsoftedge" TB_VERSION="14"
1574
-
1575
- # TestingBot iOS mobile browser profiles
1576
- tb_ios: --profile tb_mobile TB_OS="MAC" TB_BROWSER="safari" TB_PLATFORM="iOS"
1577
- tb_iphone6s_plus_10: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="10.0" TB_DEVICE="iPhone 6s Plus"
1578
- tb_iphone6s_plus_93: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="9.3" TB_DEVICE="iPhone 6s Plus"
1579
- tb_iphone6_plus_10: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="10.0" TB_DEVICE="iPhone 6 Plus"
1580
- tb_iphone6_plus_93: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="9.3" TB_DEVICE="iPhone 6 Plus"
1581
- tb_iphone6s_10: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="10.0" TB_DEVICE="iPhone 6s"
1582
- tb_iphone6s_93: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="9.3" TB_DEVICE="iPhone 6s"
1583
- tb_iphone5s_10: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="10.0" TB_DEVICE="iPhone 5s"
1584
- tb_iphone5s_93: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="9.3" TB_DEVICE="iPhone 5s"
1585
- tb_ipad_pro_10: --profile tb_ios DEVICE_TYPE=tablet TB_VERSION="10.0" TB_DEVICE="iPad Pro"
1586
- tb_ipad_pro_93: --profile tb_ios DEVICE_TYPE=tablet TB_VERSION="9.3" TB_DEVICE="iPad Pro"
1587
- tb_ipad_air2_10: --profile tb_ios DEVICE_TYPE=tablet TB_VERSION="10.0" TB_DEVICE="iPad Air 2"
1588
- tb_ipad_air2_93: --profile tb_ios DEVICE_TYPE=tablet TB_VERSION="9.3" TB_DEVICE="iPad Air 2"
1589
-
1590
- # TestingBot Android mobile browser profiles
1591
- tb_android: --profile tb_mobile TB_OS="ANDROID" TB_BROWSER="browser" TB_PLATFORM="Android"
1592
- tb_nexus_s: --profile tb_android TB_VERSION="6.0" TB_DEVICE="Nexus S"
1593
- tb_nexus_1: --profile tb_android TB_VERSION="5.0" TB_DEVICE="Nexus 1"
1594
- tb_nexus_4: --profile tb_android TB_VERSION="6.0" TB_DEVICE="Nexus 4"
1595
- tb_galaxy_nexus: --profile tb_android TB_VERSION="4.4" TB_DEVICE="Galaxy Nexus"
1596
- tb_galaxy_s4: --profile tb_android TB_VERSION="4.4" TB_DEVICE="Galaxy S4"
1597
- tb_galaxy_s5: --profile tb_android TB_VERSION="5.0" TB_DEVICE="Galaxy S5"
1598
- tb_galaxy_s6: --profile tb_android TB_VERSION="6.0" TB_DEVICE="Galaxy S6"
1599
-
1600
-
1601
- #==============
1602
- # profiles for remotely hosted web browsers on the Gridlastic service
1603
- #==============
1604
-
1605
- gridlastic: WEB_BROWSER=gridlastic GL_USERNAME="<INSERT USER NAME HERE>" GL_AUTHKEY="<INSERT PASSWORD HERE>" GL_SUBDOMAIN="<INSERT SUBDOMAIN HERE>"
1606
- gl_video: RECORD_VIDEO="True" VIDEO_URL="<INSERT VIDEO URL HERE>"
1607
- gl_desktop: --profile gridlastic --profile gl_video <%= desktop %>
1608
-
1609
- # Gridlastic Windows desktop browser profiles
1610
- gl_windows: --profile gl_desktop GL_PLATFORM="windows"
1611
- gl_win8: --profile gl_windows GL_OS="WIN8"
1612
- gl_win8_1: --profile gl_windows GL_OS="WIN8_1"
1613
- gl_win10: --profile gl_windows GL_OS="WIN10"
1614
- gl_ff_win8: --profile gl_win8_1 GL_BROWSER="firefox" GL_VERSION="59"
1615
- gl_ff_win10: --profile gl_win10 GL_BROWSER="firefox" GL_VERSION="59"
1616
- gl_chrome_win8: --profile gl_win8_1 GL_BROWSER="chrome" GL_VERSION="latest"
1617
- gl_chrome_win10: --profile gl_win10 GL_BROWSER="chrome" GL_VERSION="latest"
1618
-
1619
- gl_ie11_win8: --profile gl_win8_1 GL_BROWSER="internet explorer" GL_VERSION="11"
1620
- gl_ie10_win8: --profile gl_win8 GL_BROWSER="internet explorer" GL_VERSION="10"
1621
- gl_ie11_win10: --profile gl_win10 GL_BROWSER="internet explorer" GL_VERSION="11"
1622
-
1623
- # Gridlastic Linux desktop browser profiles
1624
- gl_chrome_linux: --profile gl_desktop GL_OS="LINUX" GL_BROWSER="chrome" GL_VERSION="latest"
1582
+ tb_win11: --profile tb_desktop TB_OS="WIN11"
1583
+ tb_edge_win11: --profile tb_win11 TB_BROWSER="microsoftedge" TB_VERSION="latest"
1584
+ tb_win10: --profile tb_desktop TB_OS="WIN10"
1585
+ tb_ie_win10: --profile tb_win10 TB_BROWSER="internet explorer" TB_VERSION="11"
1625
1586
 
1626
1587
 
1627
1588
  #==============
1628
1589
  # profiles for remotely hosted web browsers on the LambdaTest service
1629
1590
  #==============
1630
1591
 
1631
- lambdatest: WEB_BROWSER=lambdatest LT_USERNAME=<INSERT USER NAME HERE> LT_AUTHKEY=<INSERT PASSWORD HERE>
1632
- lt_desktop: --profile lambdatest <%= desktop %> RESOLUTION="1920x1080"
1633
- lt_firefox: LT_BROWSER="Firefox" LT_VERSION="67.0"
1634
- lt_chrome: LT_BROWSER="Chrome" LT_VERSION="76.0"
1635
- lt_safari: LT_BROWSER="Safari" ALLOW_COOKIES="true" ALLOW_POPUPS="true"
1636
-
1637
- # LambdaTest OS X desktop browser profiles
1638
- lt_macos_mojave: --profile lt_desktop LT_OS="macOS Mojave"
1639
- lt_ff_mojave: --profile lt_macos_mojave --profile lt_firefox
1640
- lt_chrome_mojave: --profile lt_macos_mojave --profile lt_chrome
1641
- lt_safari_mojave: --profile lt_macos_mojave --profile lt_safari LT_VERSION="12.0"
1642
-
1643
- lt_macos_high_sierra: --profile lt_desktop LT_OS="macOS High Sierra"
1644
- lt_ff_high_sierra: --profile lt_macos_high_sierra --profile lt_firefox
1645
- lt_chrome_high_sierra: --profile lt_macos_high_sierra --profile lt_chrome
1646
- lt_safari_high_sierra: --profile lt_macos_high_sierra --profile lt_safari LT_VERSION="11.0"
1592
+ lambdatest: WEB_BROWSER=lambdatest LT_USERNAME=<INSERT USER NAME HERE> LT_AUTHKEY=<INSERT PASSWORD HERE>
1593
+ lt_desktop: --profile lambdatest <%= desktop %> RESOLUTION="2560x1440"
1647
1594
 
1648
- lt_macos_sierra: --profile lt_desktop LT_OS="macOS Sierra"
1649
- lt_ff_sierra: --profile lt_macos_sierra --profile lt_firefox
1650
- lt_chrome_sierra: --profile lt_macos_sierra --profile lt_chrome
1651
- lt_safari_sierra: --profile lt_macos_sierra --profile lt_safari LT_VERSION="10.0"
1595
+ # LambdaTest macOS desktop browser profiles
1596
+ lt_macos_monterey: --profile lt_desktop LT_OS="MacOS Monterey"
1597
+ lt_chrome_monterey: --profile lt_macos_monterey LT_BROWSER="Chrome" LT_VERSION="98.0"
1598
+ lt_edge_monterey: --profile lt_macos_monterey LT_BROWSER="MicrosoftEdge" LT_VERSION="97.0"
1652
1599
 
1653
1600
  # LambdaTest Windows desktop browser profiles
1654
- lt_win10: --profile lt_desktop LT_OS="Windows 10"
1655
- lt_ff_win10: --profile lt_win10 --profile lt_firefox
1656
- lt_chrome_win10: --profile lt_win10 --profile lt_chrome
1657
- lt_ie11_win10: --profile lt_win10 LT_BROWSER="Internet Explorer" LT_VERSION="11.0"
1658
- lt_edge_win10: --profile lt_win10 LT_BROWSER="MicrosoftEdge" LT_VERSION="18.0"
1601
+ lt_win11: --profile lt_desktop LT_OS="Windows 11"
1602
+ lt_edge_win11: --profile lt_win11 LT_BROWSER="MicrosoftEdge" LT_VERSION="98.0"
1603
+ lt_win10: --profile lt_desktop LT_OS="Windows 10"
1604
+ lt_i0_win11: --profile lt_win10 LT_BROWSER="Internet Explorer" LT_VERSION="11.0"
1659
1605
 
1660
1606
 
1661
1607
  To specify a locally hosted target browser using a profile at runtime, you use the flag `--profile` or `-p` followed by the profile name when
@@ -1699,14 +1645,14 @@ landscape orientation running on the BrowserStack service:
1699
1645
 
1700
1646
  ## Web Test Automation Framework Implementation
1701
1647
 
1702
- <img src="https://i.imgur.com/qw48Kkf.jpg" width="1024" alt="Web Framework Overview" title="Web Framework Overview">
1648
+ ![TestCentricity Web Framework Overview](/doc/images/TC_Web.jpg)
1703
1649
 
1704
1650
 
1705
1651
 
1706
1652
 
1707
1653
  ## Copyright and License
1708
1654
 
1709
- TestCentricity™ Framework is Copyright (c) 2014-2021, Tony Mrozinski.
1655
+ TestCentricity™ Framework is Copyright (c) 2014-2022, Tony Mrozinski.
1710
1656
  All rights reserved.
1711
1657
 
1712
1658
  Redistribution and use in source and binary forms, with or without