testcentricity_web 4.1.0 → 4.1.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -4,7 +4,7 @@
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 4.1).
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
 
@@ -12,15 +12,13 @@ The TestCentricity™ Web gem supports running automated tests against the follo
12
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
14
  * locally hosted "headless" Chrome, Firefox, or Edge browsers
15
- * desktop and emulated mobile web browsers hosted on Selenium Grid and Dockerized Selenium Grid environments
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
+ <img src="https://i.imgur.com/BTgi59R.jpg" alt="Navigation Header" title="Navigation Header">
304
+
305
+ <img src="https://i.imgur.com/dkxloE5.jpg" alt="Navigation Header" title="Navigation Header">
306
+
307
+ <img src="https://i.imgur.com/Yqgw4sP.jpg" alt="User Profile Popup" title="User Profile Popup">
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
@@ -740,16 +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
- `edge` | OS X or Windows
750
- `edge_headless` | OS X or Windows (headless - no visible UI)
751
- `safari` | OS X only
752
- `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.
753
1021
 
754
1022
 
755
1023
  #### Setting desktop browser window size
@@ -815,63 +1083,63 @@ Windows. The specified mobile browser's user agent, CSS screen dimensions, and d
815
1083
  local Chrome browser instance. You may even specify the emulated device's screen orientation. For locally hosted emulated mobile web browsers,
816
1084
  the `WEB_BROWSER` Environment Variable must be set to one of the values from the table below:
817
1085
 
818
- `WEB_BROWSER` | `HOST_BROWSER` | **CSS Screen Dimensions** | **Default Orientation** | **OS Version**
819
- ----------------------|----------------|---------------------------|-------------------------|---------------
820
- `ipad` |`chrome` |1024 x 768 |landscape |iOS 12
821
- `ipad_pro` |`chrome` |1366 x 1024 |landscape |iOS 12
822
- `ipad_pro_10_5` |`chrome` |1112 x 834 |landscape |iOS 12.2
823
- `ipad_pro_11` |`chrome` |1194 x 834 |landscape |iOS 12.2
824
- `ipad_pro_12_9` |`chrome` |1366 x 1024 |landscape |iOS 13.1
825
- `ipad_chrome` |`chrome` |1024 x 768 |landscape |iOS 12.2 - Mobile Chrome browser for iOS
826
- `ipad_firefox` |`chrome` |1024 x 768 |landscape |iOS 12.2 - Mobile Firefox browser for iOS
827
- `ipad_edge` |`chrome` |1024 x 768 |landscape |iOS 12.2 - Mobile Edge browser for iOS
828
- `android_tablet` |`chrome` |1024 x 768 |landscape |Android 3.0
829
- `kindle_fire` |`chrome` |1024 x 600 |landscape |
830
- `kindle_firehd7` |`chrome` |800 x 480 |landscape |Fire OS 3
831
- `kindle_firehd8` |`chrome` |1280 x 800 |landscape |Fire OS 5
832
- `kindle_firehd10` |`chrome` |1920 x 1200 |landscape |Fire OS 5
833
- `surface` |`chrome` |1366 x 768 |landscape |
834
- `blackberry_playbook` |`chrome` |1024 x 600 |landscape |BlackBerry Tablet OS
835
- `samsung_galaxy_tab` |`chrome` |1280 x 800 |landscape |Android 4.0.4
836
- `google_nexus7` |`chrome` |960 x 600 |landscape |Android 4.4.4
837
- `google_nexus9` |`chrome` |1024 x 768 |landscape |Android 5.1
838
- `google_nexus10` |`chrome` |1280 x 800 |landscape |Android 5.1
839
- `iphone6` |`chrome` |375 x 667 |portrait |iOS 12
840
- `iphone6_plus` |`chrome` |414 x 736 |portrait |iOS 12
841
- `iphone7` |`chrome` |375 x 667 |portrait |iOS 12
842
- `iphone7_plus` |`chrome` |414 x 736 |portrait |iOS 12
843
- `iphone7_chrome` |`chrome` |375 x 667 |portrait |iOS 12.2 - Mobile Chrome browser for iOS
844
- `iphone7_firefox` |`chrome` |375 x 667 |portrait |iOS 12.2 - Mobile Firefox browser for iOS
845
- `iphone7_edge` |`chrome` |375 x 667 |portrait |iOS 12.2 - Microsoft Edge browser for iOS
846
- `iphone8` |`chrome` |375 x 667 |portrait |iOS 12
847
- `iphone8_plus` |`chrome` |414 x 736 |portrait |iOS 12
848
- `iphone_x` |`chrome` |375 x 812 |portrait |iOS 12.2
849
- `iphone_xr` |`chrome` |414 x 896 |portrait |iOS 12.2
850
- `iphone_xs` |`chrome` |375 x 812 |portrait |iOS 12.2
851
- `iphone_xs_max` |`chrome` |414 x 896 |portrait |iOS 12.2
852
- `iphone_11` |`chrome` |414 x 896 |portrait |iOS 13.1
853
- `iphone_11_pro` |`chrome` |375 x 812 |portrait |iOS 13.1
854
- `iphone_11_pro_max` |`chrome` |414 x 896 |portrait |iOS 13.1
855
- `android_phone` |`chrome` |360 x 640 |portrait |Android 4.2.1
856
- `nexus6` |`chrome` |411 x 731 |portrait |Android 6
857
- `pixel` |`chrome` |411 x 731 |portrait |Android 8
858
- `pixel_xl` |`chrome` |411 x 731 |portrait |Android 8
859
- `samsung_galaxy_s4` |`chrome` |360 x 640 |portrait |Android 5.0.1
860
- `samsung_galaxy_s5` |`chrome` |360 x 640 |portrait |Android 6.0.1
861
- `samsung_galaxy_s6` |`chrome` |360 x 640 |portrait |Android 6.0.1
862
- `windows_phone7` |`chrome` |320 x 480 |portrait |Windows Phone OS 7.5
863
- `windows_phone8` |`chrome` |320 x 480 |portrait |Windows Phone OS 8.0
864
- `lumia_950_xl` |`chrome` |360 x 640 |portrait |Windows Phone OS 10
865
- `blackberry_z10` |`chrome` |384 x 640 |portrait |BlackBerry 10 OS
866
- `blackberry_z30` |`chrome` |360 x 640 |portrait |BlackBerry 10 OS
867
- `blackberry_leap` |`chrome` |360 x 640 |portrait |BlackBerry 10 OS
868
- `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 |
869
1135
 
870
1136
  To change the emulated device's screen orientation from the default setting, set the `ORIENTATION` Environment Variable to either `portrait` or `landscape`.
871
1137
 
872
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
873
1139
  to `chrome`.
874
1140
 
1141
+ Refer to **section 8.7 (Using Browser specific Profiles in cucumber.yml)** below.
1142
+
875
1143
 
876
1144
  #### User defined mobile device profiles
877
1145
 
@@ -905,16 +1173,17 @@ The format for a new device profile is:
905
1173
  :user_agent: "user agent string"
906
1174
  ```
907
1175
 
908
- ### 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
909
1177
 
910
- 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
911
- 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.
912
1179
 
913
- **Environment Variable** | **Description**
914
- --------------- | ----------------
915
- `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.
916
- `SELENIUM` | Must be set to `remote`
917
- `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.
918
1187
 
919
1188
 
920
1189
  ### Mobile Safari browser on iOS Simulators or iOS Physical Devices
@@ -928,29 +1197,31 @@ The Appium server must be running prior to invoking Cucumber to run your feature
928
1197
 
929
1198
  Once your test environment is properly configured, the following **Environment Variables** must be set as described in the table below.
930
1199
 
931
- **Environment Variable** | **Description**
932
- --------------- | ----------------
933
- `WEB_BROWSER` | Must be set to `appium`
934
- `APP_PLATFORM_NAME` | Must be set to `iOS`
935
- `APP_BROWSER` | Must be set to `Safari`
936
- `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
937
- `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
938
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
939
- `APP_UDID` | UDID of physically connected iOS device (not used for simulators)
940
- `TEAM_ID` | unique 10-character Apple developer team identifier string (not used for simulators)
941
- `TEAM_NAME` | String representing a signing certificate (not used for simulators)
942
- `APP_ALLOW_POPUPS` | [Optional] Allow javascript to open new windows in Safari. Set to `true` or `false`
943
- `APP_IGNORE_FRAUD_WARNING` | [Optional] Prevent Safari from showing a fraudulent website warning. Set to `true` or `false`
944
- `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false`
945
- `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false`
946
- `APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com`
947
- `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.
948
- `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA`
949
- `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr`
950
- `ORIENTATION` | [Optional] Set to `portrait` or `landscape` (only for iOS simulators)
951
- `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client
952
- `SHOW_SIM_KEYBOARD` | [Optional] Show the simulator keyboard during text entry. Set to `true` or `false`
953
- `SHUTDOWN_OTHER_SIMS`| [Optional] Close any other running simulators. Set to `true` or `false`
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.
954
1225
 
955
1226
 
956
1227
  ### Mobile Chrome or Android browsers on Android Studio Virtual Device emulators
@@ -965,29 +1236,33 @@ for information on configuring Appium to use the correct version of Chromedriver
965
1236
 
966
1237
  Once your test environment is properly configured, the following **Environment Variables** must be set as described in the table below.
967
1238
 
968
- **Environment Variable** | **Description**
969
- --------------- | ----------------
970
- `WEB_BROWSER` | Must be set to `appium`
971
- `APP_PLATFORM_NAME` | Must be set to `Android`
972
- `APP_BROWSER` | Must be set to `Chrome` or `Browser`
973
- `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
974
- `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
975
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
976
- `ORIENTATION` | [Optional] Set to `portrait` or `landscape`
977
- `APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com`
978
- `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false`
979
- `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false`
980
- `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA`
981
- `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr`
982
- `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client
983
- `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.
984
1257
 
985
1258
 
986
1259
  ### Remotely hosted desktop and mobile web browsers
987
1260
 
988
- You can run your automated tests against remotely hosted desktop and mobile web browsers using the BrowserStack, CrossBrowserTesting,
989
- Sauce Labs, TestingBot, Gridlastic, or LambdaTest services. If your tests are running against a web site hosted on your local computer
990
- (`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.
991
1266
 
992
1267
 
993
1268
  #### Remote desktop browsers on the BrowserStack service
@@ -996,24 +1271,24 @@ For remotely hosted desktop web browsers on the BrowserStack service, the follow
996
1271
  the table below. Refer to the [Browserstack-specific capabilities chart page](https://www.browserstack.com/automate/capabilities?tag=selenium-4)
997
1272
  for information regarding the specific capabilities.
998
1273
 
999
- **Environment Variable** | **Description**
1000
- ------------------ | ----------------
1001
- `WEB_BROWSER` | Must be set to `browserstack`
1002
- `BS_USERNAME` | Must be set to your BrowserStack account user name
1003
- `BS_AUTHKEY` | Must be set to your BrowserStack account access key
1004
- `BS_OS` | Must be set to `OS X` or `Windows`
1005
- `BS_OS_VERSION` | Refer to `os_version` capability in chart
1006
- `BS_BROWSER` | Refer to `browser` capability in chart
1007
- `BS_VERSION` | [Optional] Refer to `browser_version` capability in chart. If not specified, latest stable version of browser will be used.
1008
- `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.
1009
- `RESOLUTION` | [Optional] Refer to supported screen `resolution` capability in chart
1010
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1011
- `TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart
1012
- `IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/ip-geolocation) to select a country code.
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
1015
- `SCREENSHOTS` | [Optional] Generate screenshots for debugging (`true` or `false`)
1016
- `NETWORK_LOGS` | [Optional] Capture network logs (`true` or `false`)
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`) |
1017
1292
 
1018
1293
  If the BrowserStack Local instance is running (`TUNNELING` Environment Variable is `true`), call the`TestCentricity::WebDriverConnect.close_tunnel` method
1019
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.
@@ -1030,63 +1305,24 @@ For remotely hosted mobile web browsers on the BrowserStack service, the followi
1030
1305
  the table below. Refer to the [Browserstack-specific capabilities chart page](https://www.browserstack.com/automate/capabilities?tag=selenium-4)
1031
1306
  for information regarding the specific capabilities.
1032
1307
 
1033
- **Environment Variable** | **Description**
1034
- --------------- | ----------------
1035
- `WEB_BROWSER` | Must be set to `browserstack`
1036
- `BS_USERNAME` | Must be set to your BrowserStack account user name
1037
- `BS_AUTHKEY` | Must be set to your BrowserStack account access key
1038
- `BS_OS` | Must be set to `ios` or `android`
1039
- `BS_BROWSER` | Must be set to `Safari` (for iOS) or `Chrome` (for Android)
1040
- `BS_DEVICE` | Refer to `device` capability in chart
1041
- `BS_REAL_MOBILE` | Set to `true` if running against a real device
1042
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
1043
- `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.
1044
- `ORIENTATION` | [Optional] Set to `portrait` or `landscape`
1045
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1046
- `TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart
1047
- `IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/ip-geolocation) to select a country code.
1048
- `SCREENSHOTS` | [Optional] Generate screenshots for debugging (`true` or `false`)
1049
- `NETWORK_LOGS` | [Optional] Capture network logs (`true` or `false`)
1050
- `APPIUM_LOGS` | [Optional] Generate Appium logs (`true` or `false`)
1051
-
1052
-
1053
-
1054
- #### Remote desktop browsers on the CrossBrowserTesting service
1055
-
1056
- For remotely hosted desktop web browsers on the CrossBrowserTesting service, the following **Environment Variables** must be set as described in
1057
- the table below. Use the Configuration Wizard on the [Start a Selenium Test page](https://app.crossbrowsertesting.com/selenium/run) to obtain
1058
- information regarding the specific capabilities.
1059
-
1060
- **Environment Variable** | **Description**
1061
- --------------- | ----------------
1062
- `WEB_BROWSER` | Must be set to `crossbrowser`
1063
- `CB_USERNAME` | Must be set to your CrossBrowserTesting account user name or email address
1064
- `CB_AUTHKEY` | Must be set to your CrossBrowserTesting account access key
1065
- `CB_OS` | Refer to `os_api_name` capability in the sample script of the Wizard
1066
- `CB_BROWSER` | Refer to `browser_api_name` capability in the sample script of the Wizard
1067
- `RESOLUTION` | [Optional] Refer to supported `screen_resolution` capability in the sample script of the Wizard
1068
- `BROWSER_SIZE` | [Optional] Specify width, height of browser window
1069
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1070
-
1071
-
1072
- #### Remote mobile browsers on the CrossBrowserTesting service
1073
-
1074
- For remotely hosted mobile web browsers on the CrossBrowserTesting service, the following **Environment Variables** must be set as described in
1075
- the table below. Use the Configuration Wizard on the [Start a Selenium Test page](https://app.crossbrowsertesting.com/selenium/run) to obtain
1076
- information regarding the specific capabilities.
1077
-
1078
- **Environment Variable** | **Description**
1079
- --------------- | ----------------
1080
- `WEB_BROWSER` | Must be set to `crossbrowser`
1081
- `CB_USERNAME` | Must be set to your CrossBrowserTesting account user name or email address
1082
- `CB_AUTHKEY` | Must be set to your CrossBrowserTesting account access key
1083
- `CB_PLATFORM` | Refer to `os_api_name` capability in the sample script of the Wizard
1084
- `CB_BROWSER` | Refer to `browser_api_name` capability in the sample script of the Wizard
1085
- `RESOLUTION` | Refer to supported `screen_resolution` capability in the sample script of the Wizard
1086
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
1087
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1088
-
1089
-
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`) |
1090
1326
 
1091
1327
  #### Remote desktop browsers on the Sauce Labs service
1092
1328
 
@@ -1094,18 +1330,18 @@ For remotely hosted desktop web browsers on the Sauce Labs service, the followin
1094
1330
  the table below. Use the Selenium API on the [Platform Configurator page](https://wiki.saucelabs.com/display/DOCS/Platform+Configurator#/) to obtain
1095
1331
  information regarding the specific capabilities.
1096
1332
 
1097
- **Environment Variable** | **Description**
1098
- --------------- | ----------------
1099
- `WEB_BROWSER` | Must be set to `saucelabs`
1100
- `SL_USERNAME` | Must be set to your Sauce Labs account user name or email address
1101
- `SL_AUTHKEY` | Must be set to your Sauce Labs account access key
1102
- `SL_OS` | Refer to `platform` capability in the Copy Code section of the Platform Configurator page
1103
- `SL_BROWSER` | Must be set to `chrome`, `firefox`, `safari`, `internet explorer`, or `edge`
1104
- `SL_VERSION` | Refer to `version` capability in the Copy Code section of the Platform Configurator page
1105
- `RESOLUTION` | [Optional] Refer to supported `screenResolution` capability in the Copy Code section of the Platform Configurator page
1106
- `BROWSER_SIZE `| [Optional] Specify width, height of browser window
1107
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1108
-
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`) |
1109
1345
 
1110
1346
  #### Remote desktop browsers on the TestingBot service
1111
1347
 
@@ -1113,60 +1349,17 @@ For remotely hosted desktop web browsers on the TestingBot service, the followin
1113
1349
  the table below. Refer to the [TestingBot List of Available Browsers page](https://testingbot.com/support/getting-started/browsers.html) for information
1114
1350
  regarding the specific capabilities.
1115
1351
 
1116
- **Environment Variable** | **Description**
1117
- --------------- | ----------------
1118
- `WEB_BROWSER` | Must be set to `testingbot`
1119
- `TB_USERNAME` | Must be set to your TestingBot account user name
1120
- `TB_AUTHKEY` | Must be set to your TestingBot account access key
1121
- `TB_OS` | Refer to `platform` capability in chart
1122
- `TB_BROWSER` | Refer to `browserName` capability in chart
1123
- `TB_VERSION` | Refer to `version` capability in chart
1124
- `TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`)
1125
- `RESOLUTION` | [Optional] Possible values: `800x600`, `1024x768`, `1280x960`, `1280x1024`, `1600x1200`, `1920x1200`, `2560x1440`
1126
- `BROWSER_SIZE`| [Optional] Specify width, height of browser window
1127
-
1128
-
1129
- #### Remote mobile browsers on the TestingBot service
1130
-
1131
- For remotely hosted mobile web browsers on the TestingBot service, the following **Environment Variables** must be set as described in
1132
- the table below. Refer to the [TestingBot List of Available Browsers page](https://testingbot.com/support/getting-started/browsers.html) for information
1133
- regarding the specific capabilities.
1134
-
1135
- **Environment Variable** | **Description**
1136
- --------------- | ----------------
1137
- `WEB_BROWSER` | Must be set to `testingbot`
1138
- `TB_USERNAME` | Must be set to your TestingBot account user name
1139
- `TB_AUTHKEY` | Must be set to your TestingBot account access key
1140
- `TB_OS` | Must be set to `MAC` (for iOS) or `ANDROID`
1141
- `TB_BROWSER` | Must be set to `safari` (for iOS) or `browser` (for Android)
1142
- `TB_VERSION` | Refer to `version` capability in chart
1143
- `TB_PLATFORM` | Must be set to `iOS` or `ANDROID`
1144
- `TB_DEVICE` | Refer to `deviceName` capability in chart
1145
- `DEVICE_TYPE` | Must be set to `phone` or `tablet`
1146
- `TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`)
1147
- `ORIENTATION` | [Optional] Set to `portrait` or `landscape`
1148
-
1149
-
1150
- #### Remote desktop browsers on the Gridlastic service
1151
-
1152
- For remotely hosted desktop web browsers on the Gridlastic service, the following **Environment Variables** must be set as described in
1153
- the table below. Refer to the [Gridlastic Selenium Grid Test Environments](https://www.gridlastic.com/test-environments.html) for information
1154
- regarding the specific capabilities.
1155
-
1156
- **Environment Variable** | **Description**
1157
- --------------- | ----------------
1158
- `WEB_BROWSER` | Must be set to `gridlastic`
1159
- `GL_USERNAME` | Must be set to your Gridlastic account user name
1160
- `GL_AUTHKEY` | Must be set to your Gridlastic account access key
1161
- `GL_SUBDOMAIN` | Must be set to your Gridlastic subdomain
1162
- `GL_OS` | Refer to `platform` capability in chart
1163
- `GL_BROWSER` | Refer to `browserName` capability in chart
1164
- `GL_VERSION` | Refer to `version` capability in chart
1165
- `GL_PLATFORM` | Must be set to `windows` when running on Windows operating systems
1166
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1167
- `VIDEO_URL` | [Optional] Video Files Location Endpoint URL shown in the **Your Selenium Grid Credentials** section of the Gridlastic Dashboard
1168
-
1169
-
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 |
1170
1363
 
1171
1364
  #### Remote desktop browsers on the LambdaTest service
1172
1365
 
@@ -1174,21 +1367,20 @@ For remotely hosted desktop web browsers on the LambdaTest service, the followin
1174
1367
  below. Use the Configuration Wizard on the [Selenium Desired Capabilities Generator](https://www.lambdatest.com/capabilities-generator/) to obtain
1175
1368
  information regarding the specific capabilities.
1176
1369
 
1177
- **Environment Variable** | **Description**
1178
- --------------- | ----------------
1179
- `WEB_BROWSER` | Must be set to `lambdatest`
1180
- `LT_USERNAME` | Must be set to your LambdaTest account user name or email address
1181
- `LT_AUTHKEY` | Must be set to your LambdaTest account access key
1182
- `LT_OS` | Refer to `platform` capability in the sample script of the Wizard
1183
- `LT_BROWSER` | Refer to `browserName` capability in the sample script of the Wizard
1184
- `LT_VERSION` | Refer to `version` capability in chart
1185
- `RESOLUTION` | [Optional] Refer to supported `resolution` capability in the sample script of the Wizard
1186
- `BROWSER_SIZE` | [Optional] Specify width, height of browser window
1187
- `RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
1188
- `ALLOW_POPUPS` | [Optional] Allow popups (`true` or `false`) - for Safari, IE, and Edge browsers only
1189
- `ALLOW_COOKIES` | [Optional] Allow all cookies (`true` or `false`) - for Safari browsers only
1190
- `CONSOLE_LOGS` | [Optional] Used to capture browser console logs.
1191
-
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. |
1192
1384
 
1193
1385
  ### Using Browser specific Profiles in cucumber.yml
1194
1386
 
@@ -1197,32 +1389,33 @@ target web browsers is to create browser specific **Profiles** that set the appr
1197
1389
  in your `cucumber.yml` file.
1198
1390
 
1199
1391
  Below is a list of Cucumber **Profiles** for supported locally and remotely hosted desktop and mobile web browsers (put these in in your
1200
- `cucumber.yml` file). Before you can use the BrowserStack, CrossBrowserTesting, Sauce Labs, TestingBot, Gridlastic or LambdaTest services, you
1201
- will need to replace the *INSERT USER NAME HERE* and *INSERT PASSWORD HERE* placeholder text with your user account and authorization code for
1202
- the cloud service(s) that you intend to connect with. When using the Gridlastic service, you will also need replace the *INSERT SUBDOMAIN HERE*
1203
- 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.
1204
1395
 
1205
1396
 
1206
- <% desktop = "--tags @desktop --require features BROWSER_TILE=true BROWSER_SIZE=1500,1000" %>
1207
- <% tablet = "--tags @desktop --require features BROWSER_TILE=true" %>
1208
- <% 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" %>
1209
1400
 
1210
1401
  #==============
1211
1402
  # profiles for locally hosted desktop web browsers
1212
1403
  #==============
1213
1404
 
1214
- firefox: WEB_BROWSER=firefox <%= desktop %>
1215
- chrome: WEB_BROWSER=chrome <%= desktop %>
1216
- safari: WEB_BROWSER=safari <%= desktop %>
1217
- 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 %>
1218
1410
 
1219
- chrome_headless: WEB_BROWSER=chrome_headless <%= desktop %>
1220
- 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 %>
1221
1414
 
1222
1415
  #==============
1223
1416
  # profile for Selenium Grid and Dockerized Selenium Grid hosted desktop web browsers
1224
1417
  #==============
1225
- grid: SELENIUM=remote REMOTE_ENDPOINT="http://localhost:4444/wd/hub"
1418
+ grid: SELENIUM=remote REMOTE_ENDPOINT="http://localhost:4444/wd/hub"
1226
1419
 
1227
1420
 
1228
1421
  #==============
@@ -1256,9 +1449,7 @@ placeholder text with the Subdomain specified on the Grid Configuration Paramete
1256
1449
  iphone_11: WEB_BROWSER=iphone_11 HOST_BROWSER=chrome <%= mobile %>
1257
1450
  iphone_11_pro: WEB_BROWSER=iphone_11_pro HOST_BROWSER=chrome <%= mobile %>
1258
1451
  iphone_11_pro_max: WEB_BROWSER=iphone_11_pro_max HOST_BROWSER=chrome <%= mobile %>
1259
- android_phone: WEB_BROWSER=android_phone HOST_BROWSER=chrome <%= mobile %>
1260
1452
  nexus6: WEB_BROWSER=nexus6 HOST_BROWSER=chrome <%= mobile %>
1261
- android_tablet: WEB_BROWSER=android_tablet HOST_BROWSER=chrome <%= tablet %>
1262
1453
  kindle_fire: WEB_BROWSER=kindle_fire HOST_BROWSER=chrome <%= tablet %>
1263
1454
  kindle_firehd7: WEB_BROWSER=kindle_firehd7 HOST_BROWSER=chrome <%= tablet %>
1264
1455
  kindle_firehd8: WEB_BROWSER=kindle_firehd8 HOST_BROWSER=chrome <%= tablet %>
@@ -1287,43 +1478,19 @@ placeholder text with the Subdomain specified on the Grid Configuration Paramete
1287
1478
  # profiles for mobile device screen orientation
1288
1479
  #==============
1289
1480
 
1290
- portrait: ORIENTATION=portrait
1291
- landscape: ORIENTATION=landscape
1481
+ portrait: ORIENTATION=portrait
1482
+ landscape: ORIENTATION=landscape
1292
1483
 
1293
1484
 
1294
1485
  #==============
1295
1486
  # profiles for mobile Safari web browsers hosted within XCode iOS simulator
1296
1487
  # NOTE: Requires installation of XCode, iOS version specific target simulators, Appium, and the appium_capybara gem
1297
1488
  #==============
1298
-
1299
- appium_ios: WEB_BROWSER=appium APP_PLATFORM_NAME="iOS" APP_BROWSER="Safari" <%= mobile %>
1300
- app_ios_10: --profile appium_ios APP_VERSION="10.3"
1301
- app_ios_11: --profile appium_ios APP_VERSION="11.2"
1302
-
1303
- iphone_7_plus_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 7 Plus"
1304
- iphone_7_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 7"
1305
- iphone_7se_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
1306
- iphone_6s_plus_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s Plus"
1307
- iphone_6s_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s"
1308
- iphone_SE_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
1309
- iphone_X_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone X"
1310
- iphone_8_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 8"
1311
- iphone_8_plus_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 8 Plus"
1312
- iphone_7_plus_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 7 Plus"
1313
- iphone_7_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 7"
1314
- iphone_7se_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
1315
- iphone_6s_plus_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s Plus"
1316
- iphone_6s_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s"
1317
- iphone_SE_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
1318
-
1319
- ipad_pro_12_9_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (12.9-inch)"
1320
- ipad_pro_12_9_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (12.9-inch)"
1321
- ipad_pro_10_5_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (10.5-inch)"
1322
- ipad_pro_10_5_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (10.5-inch)"
1323
- ipad_pro_9_7_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (9.7-inch)"
1324
- ipad_pro_9_7_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (9.7-inch)"
1325
- ipad_air_2_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Air 2"
1326
- 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 %>
1327
1494
 
1328
1495
 
1329
1496
  #==============
@@ -1331,334 +1498,110 @@ placeholder text with the Subdomain specified on the Grid Configuration Paramete
1331
1498
  # NOTE: Requires installation of XCode, Appium, and the appium_capybara gem
1332
1499
  #==============
1333
1500
 
1334
- my_ios_11_3_iphone: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="My Test iPhoneX" APP_UDID="INSERT YOUR DEVICE UDID"
1335
- 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"
1336
1503
 
1337
1504
 
1338
1505
  #==============
1339
1506
  # profiles for Android mobile web browsers hosted within Android Studio Android Virtual Device emulators
1340
1507
  # NOTE: Requires installation of Android Studio, Android version specific virtual device simulators, Appium, and the appium_capybara gem
1341
1508
  #==============
1342
-
1343
- appium_android: WEB_BROWSER=appium APP_PLATFORM_NAME="Android" <%= mobile %>
1344
- android_api_26: --profile appium_android APP_BROWSER="Chrome" APP_VERSION="8.0"
1345
- android_api_23: --profile appium_android APP_BROWSER="Browser" APP_VERSION="6.0"
1346
- pixel_xl_api26_sim: --profile android_api_26 DEVICE_TYPE=phone APP_DEVICE="Pixel_XL_API_26"
1347
- pixel_2_xl_api26_sim: --profile android_api_26 DEVICE_TYPE=phone APP_DEVICE="Pixel_2_XL_API_26"
1348
- 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
+
1349
1514
 
1350
1515
  #==============
1351
1516
  # profiles for remotely hosted web browsers on the BrowserStack service
1352
1517
  #==============
1353
1518
 
1354
- browserstack: WEB_BROWSER=browserstack BS_USERNAME="<INSERT USER NAME HERE>" BS_AUTHKEY="<INSERT PASSWORD HERE>"
1355
- bs_desktop: --profile browserstack <%= desktop %> RESOLUTION="1920x1080"
1356
- bs_mobile: --profile browserstack <%= mobile %>
1357
-
1358
- # BrowserStack OS X desktop browser profiles
1359
- bs_macos_mojave: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Mojave"
1360
- bs_ff_mojave: --profile bs_macos_mojave BS_BROWSER="Firefox"
1361
- bs_chrome_mojave: --profile bs_macos_mojave BS_BROWSER="Chrome"
1362
- bs_safari_mojave: --profile bs_macos_mojave BS_BROWSER="Safari"
1363
-
1364
- bs_macos_high_sierra: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="High Sierra"
1365
- bs_ff_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Firefox"
1366
- bs_chrome_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Chrome"
1367
- bs_safari_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Safari"
1368
-
1369
- bs_macos_sierra: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Sierra"
1370
- bs_ff_sierra: --profile bs_macos_sierra BS_BROWSER="Firefox"
1371
- bs_chrome_sierra: --profile bs_macos_sierra BS_BROWSER="Chrome"
1372
- bs_safari_sierra: --profile bs_macos_sierra BS_BROWSER="Safari"
1373
-
1374
- bs_osx_el_capitan: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="El Capitan"
1375
- bs_ff_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Firefox"
1376
- bs_chrome_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Chrome"
1377
- bs_safari_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Safari"
1378
-
1379
- bs_osx_yosemite: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Yosemite"
1380
- bs_ff_yos: --profile bs_osx_yosemite BS_BROWSER="Firefox"
1381
- bs_chrome_yos: --profile bs_osx_yosemite BS_BROWSER="Chrome"
1382
- 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 %>
1383
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
+
1384
1529
  # BrowserStack Windows desktop browser profiles
1385
- bs_win8: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="8"
1386
- bs_win10: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="10"
1387
- bs_ff_win8: --profile bs_win8 BS_BROWSER="Firefox"
1388
- bs_ff_win10: --profile bs_win10 BS_BROWSER="Firefox"
1389
- bs_chrome_win8: --profile bs_win8 BS_BROWSER="Chrome"
1390
- bs_chrome_win10: --profile bs_win10 BS_BROWSER="Chrome"
1391
-
1392
- bs_ie10_win8: --profile bs_win8 BS_BROWSER="IE" BS_VERSION="10.0"
1393
- bs_ie11_win8: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="8.1" BS_BROWSER="IE" BS_VERSION="11.0"
1394
- bs_ie11_win10: --profile bs_win10 BS_BROWSER="IE" BS_VERSION="11.0"
1395
- bs_edge_win10: --profile bs_win10 BS_BROWSER="Edge" BS_VERSION="15.0"
1396
-
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
+
1397
1536
  # BrowserStack iOS mobile browser profiles
1398
- bs_iphone: --profile bs_mobile BS_PLATFORM=MAC BS_OS=ios BS_BROWSER=iPhone DEVICE_TYPE=phone
1399
- bs_iphone6s_plus: --profile bs_iphone BS_DEVICE="iPhone 6S Plus"
1400
- bs_iphone6s: --profile bs_iphone BS_DEVICE="iPhone 6S"
1401
- bs_iphone6_plus: --profile bs_iphone BS_DEVICE="iPhone 6 Plus"
1402
- bs_iphone6: --profile bs_iphone BS_DEVICE="iPhone 6"
1403
- bs_iphone5s: --profile bs_iphone BS_DEVICE="iPhone 5S"
1404
- bs_iphone4s: --profile bs_iphone BS_DEVICE="iPhone 4S (6.0)"
1405
-
1406
- bs_ipad: --profile bs_mobile BS_PLATFORM=MAC BS_BROWSER=iPad DEVICE_TYPE=tablet
1407
- bs_ipad_pro: --profile bs_ipad BS_DEVICE="iPad Pro"
1408
- bs_ipad_air2: --profile bs_ipad BS_DEVICE="iPad Air 2"
1409
- bs_ipad_air: --profile bs_ipad BS_DEVICE="iPad Air"
1410
- bs_ipad_mini: --profile bs_ipad BS_DEVICE="iPad Mini 4"
1411
-
1412
- # BrowserStack iOS real device mobile browser profiles
1413
- bs_iphone_device: --profile bs_iphone BS_REAL_MOBILE="true"
1414
- bs_iphoneX: --profile bs_iphone_device BS_OS_VERSION="11.0" BS_DEVICE="iPhone X"
1415
- bs_iphone8_plus: --profile bs_iphone_device BS_OS_VERSION="11.0" BS_DEVICE="iPhone 8 Plus"
1416
- bs_iphone8: --profile bs_iphone_device BS_OS_VERSION="11.0" BS_DEVICE="iPhone 8"
1417
- bs_iphone7_plus: --profile bs_iphone_device BS_OS_VERSION="10.3" BS_DEVICE="iPhone 7 Plus"
1418
- bs_iphone7: --profile bs_iphone_device BS_OS_VERSION="10.3" BS_DEVICE="iPhone 7"
1419
-
1420
- bs_ipad_device: --profile bs_ipad BS_REAL_MOBILE="true"
1421
- 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"
1422
1539
 
1423
1540
  # BrowserStack Android mobile browser profiles
1424
- bs_android: --profile bs_mobile BS_PLATFORM=ANDROID BS_BROWSER=android BS_OS=android
1425
- bs_android_phone: --profile bs_android DEVICE_TYPE=phone
1426
- bs_galaxy_s5: --profile bs_android_phone BS_DEVICE="Samsung Galaxy S5"
1427
- bs_nexus5: --profile bs_android_phone BS_DEVICE="Google Nexus 5"
1428
- bs_moto_razr: --profile bs_android_phone BS_DEVICE="Motorola Razr"
1429
- bs_sony_xperia: --profile bs_android_phone BS_DEVICE="Sony Xperia Tipo"
1430
-
1431
- bs_android_tablet: --profile bs_android DEVICE_TYPE=tablet
1432
- bs_kindle_fire_hd89: --profile bs_android_tablet BS_DEVICE="Amazon Kindle Fire HD 8.9"
1433
- bs_kindle_fire_hdx7: --profile bs_android_tablet BS_DEVICE="Amazon Kindle Fire HDX 7"
1434
- bs_kindle_fire2: --profile bs_android_tablet BS_DEVICE="Amazon Kindle Fire 2"
1435
- bs_nexus7: --profile bs_android_tablet BS_DEVICE="Google Nexus 7"
1436
-
1437
- # BrowserStack Android real device mobile browser profiles
1438
- bs_android_device: --profile bs_mobile BS_BROWSER=android BS_OS=android BS_REAL_MOBILE="true"
1439
- bs_google_pixel8: --profile bs_android_device BS_DEVICE="Google Pixel" BS_OS_VERSION="8.0" DEVICE_TYPE=phone
1440
- bs_google_pixel71: --profile bs_android_device BS_DEVICE="Google Pixel" BS_OS_VERSION="7.1" DEVICE_TYPE=phone
1441
- bs_nexus6: --profile bs_android_device BS_DEVICE="Google Nexus 6" DEVICE_TYPE=phone
1442
- bs_galaxy_s8_plus: --profile bs_android_device BS_DEVICE="Samsung Galaxy S8 Plus" DEVICE_TYPE=phone
1443
- bs_galaxy_s8: --profile bs_android_device BS_DEVICE="Samsung Galaxy S8" DEVICE_TYPE=phone
1444
- bs_galaxy_s7: --profile bs_android_device BS_DEVICE="Samsung Galaxy S7" DEVICE_TYPE=phone
1445
- bs_galaxy_s6: --profile bs_android_device BS_DEVICE="Samsung Galaxy S6" DEVICE_TYPE=phone
1446
- bs_galaxy_note4: --profile bs_android_device BS_DEVICE="Samsung Galaxy Note 4" DEVICE_TYPE=tablet
1447
- 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"
1448
1543
 
1449
1544
 
1450
- #==============
1451
- # profiles for remotely hosted web browsers on the CrossBrowserTesting service
1452
- #==============
1453
-
1454
- crossbrowser: WEB_BROWSER=crossbrowser CB_USERNAME="<INSERT USER NAME HERE>" CB_AUTHKEY="<INSERT PASSWORD HERE>"
1455
- cb_desktop: --profile crossbrowser <%= desktop %>
1456
- cb_mobile: --profile crossbrowser <%= mobile %>
1457
-
1458
- # CrossBrowserTesting OS X desktop browser profiles
1459
- cb_osx: --profile cb_desktop RESOLUTION="1920x1200"
1460
- cb_macos_sierra: --profile cb_osx CB_OS="Mac10.12"
1461
- cb_chrome_sierra: --profile cb_macos_sierra CB_BROWSER="Chrome53x64"
1462
- cb_safari_sierra: --profile cb_macos_sierra CB_BROWSER="Safari10"
1463
-
1464
- cb_osx_el_capitan: --profile cb_osx CB_OS="Mac10.11"
1465
- cb_ff_el_cap: --profile cb_osx_el_capitan CB_BROWSER="FF46"
1466
- cb_chrome_el_cap: --profile cb_osx_el_capitan CB_BROWSER="Chrome48x64"
1467
- cb_safari_el_cap: --profile cb_osx_el_capitan CB_BROWSER="Safari9"
1468
-
1469
- cb_osx_yosemite: --profile cb_osx CB_OS="Mac10.10"
1470
- cb_ff_yos: --profile cb_osx_yosemite CB_BROWSER="FF46"
1471
- cb_chrome_yos: --profile cb_osx_yosemite CB_BROWSER="Chrome48x64"
1472
- cb_safari_yos: --profile cb_osx_yosemite CB_BROWSER="Safari8"
1473
-
1474
- # CrossBrowserTesting Windows desktop browser profiles
1475
- cb_win: --profile cb_desktop RESOLUTION="1920x1080"
1476
- cb_win8: --profile cb_win CB_OS="Win8"
1477
- cb_win10: --profile cb_win CB_OS="Win10"
1478
- cb_ff_win8: --profile cb_win8 CB_BROWSER="FF46"
1479
- cb_ff_win10: --profile cb_win10 CB_BROWSER="FF46"
1480
- cb_chrome_win8: --profile cb_win8 CB_BROWSER="Chrome48x64"
1481
- cb_chrome_win10: --profile cb_win10 CB_BROWSER="Chrome48x64"
1482
- cb_edge_win10: --profile cb_win10 CB_BROWSER="Edge20"
1483
-
1484
- cb_ie11_win8: --profile cb_win8 CB_BROWSER="IE11"
1485
- cb_ie10_win8: --profile cb_win8 CB_BROWSER="IE10"
1486
- cb_ie11_win10: --profile cb_win10 CB_BROWSER="IE11"
1487
-
1488
- # CrossBrowserTesting iOS mobile browser profiles
1489
- cb_iphone6s_plus: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone6sPlus-iOS9sim" CB_BROWSER="MblSafari9.0" RESOLUTION="1242x2208"
1490
- cb_iphone6s: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone6s-iOS9sim" CB_BROWSER="MblSafari9.0" RESOLUTION="750x1334"
1491
- cb_iphone6_plus: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone6Plus-iOS8sim" CB_BROWSER="MblSafari8.0" RESOLUTION="1242x2208"
1492
- cb_iphone6: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone6-iOS8sim" CB_BROWSER="MblSafari8.0" RESOLUTION="750x1334"
1493
- cb_iphone5s: --profile cb_mobile DEVICE_TYPE=phone CB_PLATFORM="iPhone5s-iOS7sim" CB_BROWSER="MblSafari7.0" RESOLUTION="640x1136"
1494
- cb_ipad_pro: --profile cb_mobile DEVICE_TYPE=tablet CB_PLATFORM="iPadPro-iOS9Sim" CB_BROWSER="MblSafari9.0" RESOLUTION="2732x2048"
1495
- cb_ipad_air2: --profile cb_mobile DEVICE_TYPE=tablet CB_PLATFORM="iPadAir2-iOS9Sim" CB_BROWSER="MblSafari9.0" RESOLUTION="2048x1536"
1496
- cb_ipad_air: --profile cb_mobile DEVICE_TYPE=tablet CB_PLATFORM="iPadAir-iOS8Sim" CB_BROWSER="MblSafari8.0" RESOLUTION="2048x1536"
1497
- cb_ipad_mini: --profile cb_mobile DEVICE_TYPE=tablet CB_PLATFORM="iPadMiniRetina-iOS7Sim" CB_BROWSER="MblSafari7.0" RESOLUTION="2048x1536"
1498
-
1499
- # CrossBrowserTesting Android mobile browser profiles
1500
- cb_nexus7: --profile cb_mobile CB_PLATFORM="Nexus7-And42" CB_BROWSER="MblChrome37" RESOLUTION="800x1280"
1501
- cb_galaxy_tab2: --profile cb_mobile CB_PLATFORM="GalaxyTab2-And41" CB_BROWSER="MblChrome38" RESOLUTION="1280x800"
1502
- cb_galaxy_s5: --profile cb_mobile CB_PLATFORM="GalaxyS5-And44" CB_BROWSER="MblChrome35" RESOLUTION="1080x1920"
1503
- cb_galaxy_s4: --profile cb_mobile CB_PLATFORM="GalaxyS4-And42" CB_BROWSER="MblChrome33" RESOLUTION="1080x1920"
1504
-
1505
-
1506
1545
  #==============
1507
1546
  # profiles for remotely hosted web browsers on the SauceLabs service
1508
1547
  #==============
1509
1548
 
1510
- saucelabs: WEB_BROWSER=saucelabs SL_USERNAME="<INSERT USER NAME HERE>" SL_AUTHKEY="<INSERT PASSWORD HERE>"
1511
- sl_desktop: --profile saucelabs <%= desktop %>
1512
-
1513
- # SauceLabs OS X desktop browser profiles
1514
- sl_osx_sierra: --profile sl_desktop SL_OS="macOS 10.12"
1515
- sl_ff_sierra: --profile sl_osx_sierra SL_BROWSER="firefox"
1516
- sl_chrome_sierra: --profile sl_osx_sierra SL_BROWSER="chrome"
1517
- sl_safari_sierra: --profile sl_osx_sierra SL_BROWSER="safari"
1518
-
1519
- sl_osx_el_capitan: --profile sl_desktop SL_OS="OS X 10.11"
1520
- sl_ff_el_cap: --profile sl_osx_el_capitan SL_BROWSER="firefox"
1521
- sl_chrome_el_cap: --profile sl_osx_el_capitan SL_BROWSER="chrome"
1522
- 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 %>
1523
1552
 
1524
- sl_osx_yosemite: --profile sl_desktop SL_OS="OS X 10.10" RESOLUTION="1920x1200"
1525
- sl_ff_yos: --profile sl_osx_yosemite SL_BROWSER="firefox"
1526
- sl_chrome_yos: --profile sl_osx_yosemite SL_BROWSER="chrome"
1527
- 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"
1528
1558
 
1529
1559
  # SauceLabs Windows desktop browser profiles
1530
- sl_win8: --profile sl_desktop SL_OS="Windows 8.1" RESOLUTION="1280x1024"
1531
- sl_win10: --profile sl_desktop SL_OS="Windows 10" RESOLUTION="1280x1024"
1532
- sl_ff_win8: --profile sl_win8 SL_BROWSER="firefox"
1533
- sl_ff_win10: --profile sl_win10 SL_BROWSER="firefox"
1534
- sl_chrome_win8: --profile sl_win8 SL_BROWSER="chrome"
1535
- 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"
1536
1563
 
1537
- sl_ie11_win8: --profile sl_win8 SL_BROWSER="internet explorer" SL_VERSION="11.0"
1538
- 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"
1539
1567
 
1540
1568
 
1541
1569
  #==============
1542
1570
  # profiles for remotely hosted web browsers on the TestingBot service
1543
1571
  #==============
1544
1572
 
1545
- testingbot: WEB_BROWSER=testingbot TB_USERNAME="<INSERT USER NAME HERE>" TB_AUTHKEY="<INSERT PASSWORD HERE>"
1546
- tb_desktop: --profile testingbot <%= desktop %> RESOLUTION="1920x1200"
1547
- tb_mobile: --profile testingbot <%= mobile %>
1548
-
1549
- # TestingBot OS X desktop browser profiles
1550
- tb_macos_sierra: --profile tb_desktop TB_OS="SIERRA"
1551
- tb_ff_sierra: --profile tb_macos_sierra TB_BROWSER="firefox"
1552
- tb_chrome_sierra: --profile tb_macos_sierra TB_BROWSER="chrome"
1553
- tb_safari_sierra: --profile tb_macos_sierra TB_BROWSER="safari" TB_VERSION="10"
1573
+ testingbot: WEB_BROWSER=testingbot TB_USERNAME="<INSERT USER NAME HERE>" TB_AUTHKEY="<INSERT PASSWORD HERE>"
1574
+ tb_desktop: --profile testingbot <%= desktop %> RESOLUTION="1920x1200"
1554
1575
 
1555
- tb_osx_el_capitan: --profile tb_desktop TB_OS="CAPITAN"
1556
- tb_ff_el_cap: --profile tb_osx_el_capitan TB_BROWSER="firefox"
1557
- tb_chrome_el_cap: --profile tb_osx_el_capitan TB_BROWSER="chrome"
1558
- tb_safari_el_cap: --profile tb_osx_el_capitan TB_BROWSER="safari" TB_VERSION="9"
1559
-
1560
- tb_osx_yosemite: --profile tb_desktop TB_OS="YOSEMITE"
1561
- tb_ff_yos: --profile tb_osx_yosemite TB_BROWSER="firefox"
1562
- tb_chrome_yos: --profile tb_osx_yosemite TB_BROWSER="chrome"
1563
- 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"
1564
1580
 
1565
1581
  # TestingBot Windows desktop browser profiles
1566
- tb_win8: --profile tb_desktop TB_OS="WIN8"
1567
- tb_win10: --profile tb_desktop TB_OS="WIN10"
1568
- tb_ff_win8: --profile tb_win8 TB_BROWSER="firefox"
1569
- tb_ff_win10: --profile tb_win10 TB_BROWSER="firefox"
1570
- tb_chrome_win8: --profile tb_win8 TB_BROWSER="chrome"
1571
- tb_chrome_win10: --profile tb_win10 TB_BROWSER="chrome"
1572
-
1573
- tb_ie11_win8: --profile tb_win8 TB_BROWSER="internet explorer" TB_VERSION="11"
1574
- tb_ie10_win8: --profile tb_win8 TB_BROWSER="internet explorer" TB_VERSION="10"
1575
- tb_ie11_win10: --profile tb_win10 TB_BROWSER="internet explorer" TB_VERSION="11"
1576
- tb_edge_win10: --profile tb_win10 TB_BROWSER="microsoftedge" TB_VERSION="14"
1577
-
1578
- # TestingBot iOS mobile browser profiles
1579
- tb_ios: --profile tb_mobile TB_OS="MAC" TB_BROWSER="safari" TB_PLATFORM="iOS"
1580
- tb_iphone6s_plus_10: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="10.0" TB_DEVICE="iPhone 6s Plus"
1581
- tb_iphone6s_plus_93: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="9.3" TB_DEVICE="iPhone 6s Plus"
1582
- tb_iphone6_plus_10: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="10.0" TB_DEVICE="iPhone 6 Plus"
1583
- tb_iphone6_plus_93: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="9.3" TB_DEVICE="iPhone 6 Plus"
1584
- tb_iphone6s_10: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="10.0" TB_DEVICE="iPhone 6s"
1585
- tb_iphone6s_93: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="9.3" TB_DEVICE="iPhone 6s"
1586
- tb_iphone5s_10: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="10.0" TB_DEVICE="iPhone 5s"
1587
- tb_iphone5s_93: --profile tb_ios DEVICE_TYPE=phone TB_VERSION="9.3" TB_DEVICE="iPhone 5s"
1588
- tb_ipad_pro_10: --profile tb_ios DEVICE_TYPE=tablet TB_VERSION="10.0" TB_DEVICE="iPad Pro"
1589
- tb_ipad_pro_93: --profile tb_ios DEVICE_TYPE=tablet TB_VERSION="9.3" TB_DEVICE="iPad Pro"
1590
- tb_ipad_air2_10: --profile tb_ios DEVICE_TYPE=tablet TB_VERSION="10.0" TB_DEVICE="iPad Air 2"
1591
- tb_ipad_air2_93: --profile tb_ios DEVICE_TYPE=tablet TB_VERSION="9.3" TB_DEVICE="iPad Air 2"
1592
-
1593
- # TestingBot Android mobile browser profiles
1594
- tb_android: --profile tb_mobile TB_OS="ANDROID" TB_BROWSER="browser" TB_PLATFORM="Android"
1595
- tb_nexus_s: --profile tb_android TB_VERSION="6.0" TB_DEVICE="Nexus S"
1596
- tb_nexus_1: --profile tb_android TB_VERSION="5.0" TB_DEVICE="Nexus 1"
1597
- tb_nexus_4: --profile tb_android TB_VERSION="6.0" TB_DEVICE="Nexus 4"
1598
- tb_galaxy_nexus: --profile tb_android TB_VERSION="4.4" TB_DEVICE="Galaxy Nexus"
1599
- tb_galaxy_s4: --profile tb_android TB_VERSION="4.4" TB_DEVICE="Galaxy S4"
1600
- tb_galaxy_s5: --profile tb_android TB_VERSION="5.0" TB_DEVICE="Galaxy S5"
1601
- tb_galaxy_s6: --profile tb_android TB_VERSION="6.0" TB_DEVICE="Galaxy S6"
1602
-
1603
-
1604
- #==============
1605
- # profiles for remotely hosted web browsers on the Gridlastic service
1606
- #==============
1607
-
1608
- gridlastic: WEB_BROWSER=gridlastic GL_USERNAME="<INSERT USER NAME HERE>" GL_AUTHKEY="<INSERT PASSWORD HERE>" GL_SUBDOMAIN="<INSERT SUBDOMAIN HERE>"
1609
- gl_video: RECORD_VIDEO="True" VIDEO_URL="<INSERT VIDEO URL HERE>"
1610
- gl_desktop: --profile gridlastic --profile gl_video <%= desktop %>
1611
-
1612
- # Gridlastic Windows desktop browser profiles
1613
- gl_windows: --profile gl_desktop GL_PLATFORM="windows"
1614
- gl_win8: --profile gl_windows GL_OS="WIN8"
1615
- gl_win8_1: --profile gl_windows GL_OS="WIN8_1"
1616
- gl_win10: --profile gl_windows GL_OS="WIN10"
1617
- gl_ff_win8: --profile gl_win8_1 GL_BROWSER="firefox" GL_VERSION="59"
1618
- gl_ff_win10: --profile gl_win10 GL_BROWSER="firefox" GL_VERSION="59"
1619
- gl_chrome_win8: --profile gl_win8_1 GL_BROWSER="chrome" GL_VERSION="latest"
1620
- gl_chrome_win10: --profile gl_win10 GL_BROWSER="chrome" GL_VERSION="latest"
1621
-
1622
- gl_ie11_win8: --profile gl_win8_1 GL_BROWSER="internet explorer" GL_VERSION="11"
1623
- gl_ie10_win8: --profile gl_win8 GL_BROWSER="internet explorer" GL_VERSION="10"
1624
- gl_ie11_win10: --profile gl_win10 GL_BROWSER="internet explorer" GL_VERSION="11"
1625
-
1626
- # Gridlastic Linux desktop browser profiles
1627
- 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"
1628
1586
 
1629
1587
 
1630
1588
  #==============
1631
1589
  # profiles for remotely hosted web browsers on the LambdaTest service
1632
1590
  #==============
1633
1591
 
1634
- lambdatest: WEB_BROWSER=lambdatest LT_USERNAME=<INSERT USER NAME HERE> LT_AUTHKEY=<INSERT PASSWORD HERE>
1635
- lt_desktop: --profile lambdatest <%= desktop %> RESOLUTION="1920x1080"
1636
- lt_firefox: LT_BROWSER="Firefox" LT_VERSION="67.0"
1637
- lt_chrome: LT_BROWSER="Chrome" LT_VERSION="76.0"
1638
- lt_safari: LT_BROWSER="Safari" ALLOW_COOKIES="true" ALLOW_POPUPS="true"
1592
+ lambdatest: WEB_BROWSER=lambdatest LT_USERNAME=<INSERT USER NAME HERE> LT_AUTHKEY=<INSERT PASSWORD HERE>
1593
+ lt_desktop: --profile lambdatest <%= desktop %> RESOLUTION="2560x1440"
1639
1594
 
1640
- # LambdaTest OS X desktop browser profiles
1641
- lt_macos_mojave: --profile lt_desktop LT_OS="macOS Mojave"
1642
- lt_ff_mojave: --profile lt_macos_mojave --profile lt_firefox
1643
- lt_chrome_mojave: --profile lt_macos_mojave --profile lt_chrome
1644
- lt_safari_mojave: --profile lt_macos_mojave --profile lt_safari LT_VERSION="12.0"
1645
-
1646
- lt_macos_high_sierra: --profile lt_desktop LT_OS="macOS High Sierra"
1647
- lt_ff_high_sierra: --profile lt_macos_high_sierra --profile lt_firefox
1648
- lt_chrome_high_sierra: --profile lt_macos_high_sierra --profile lt_chrome
1649
- lt_safari_high_sierra: --profile lt_macos_high_sierra --profile lt_safari LT_VERSION="11.0"
1650
-
1651
- lt_macos_sierra: --profile lt_desktop LT_OS="macOS Sierra"
1652
- lt_ff_sierra: --profile lt_macos_sierra --profile lt_firefox
1653
- lt_chrome_sierra: --profile lt_macos_sierra --profile lt_chrome
1654
- 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"
1655
1599
 
1656
1600
  # LambdaTest Windows desktop browser profiles
1657
- lt_win10: --profile lt_desktop LT_OS="Windows 10"
1658
- lt_ff_win10: --profile lt_win10 --profile lt_firefox
1659
- lt_chrome_win10: --profile lt_win10 --profile lt_chrome
1660
- lt_ie11_win10: --profile lt_win10 LT_BROWSER="Internet Explorer" LT_VERSION="11.0"
1661
- 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"
1662
1605
 
1663
1606
 
1664
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
@@ -1702,8 +1645,7 @@ landscape orientation running on the BrowserStack service:
1702
1645
 
1703
1646
  ## Web Test Automation Framework Implementation
1704
1647
 
1705
- <img src="https://i.imgur.com/qw48Kkf.jpg" width="1024" alt="Web Framework Overview" title="Web Framework Overview">
1706
-
1648
+ <img src="https://i.imgur.com/eukmEan.jpg" alt="TestCentricity Web Framework Overview" title="TestCentricity Web Framework Overview">
1707
1649
 
1708
1650
 
1709
1651