testcentricity_web 4.1.1 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -3
- data/Gemfile.lock +112 -0
- data/README.md +348 -222
- data/lib/devices/devices.yml +0 -16
- data/lib/testcentricity_web/version.rb +1 -1
- data/test_site/test_page.html +11 -0
- metadata +4 -3
- data/my_templates/default/method_details/setup.rb +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 022d693b793b248b2aac148c4a0865b39dbaf2f05c58a45f00cbd10339335e82
|
|
4
|
+
data.tar.gz: 4c319c310595c0c5069fc81a635ad906087376fd08a40877c81dcea205fd4a09
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 05ba745d0ab5f5abdf107a401c901a01536605ef6e39c4d81e17f0b1a6795466b16fef76d0a06011659e66aba6faae2491c9cf6a96f201801d6cbbfc91c51f09
|
|
7
|
+
data.tar.gz: ccae42725bdbad5680aa898d9f5f7e77c52cb2783922bbef88ba28f96907499fa9dec0d1d097e5a9d7fbe6b6394602cdd6d29903c54b135a60af5f2486b0ef8a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
|
+
|
|
5
|
+
## [4.1.2] - 07-MAR-2022
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
* Updated HTML documentation
|
|
9
|
+
|
|
10
|
+
|
|
4
11
|
## [4.1.1] - 03-MAR-2022
|
|
5
12
|
|
|
6
13
|
### Changed
|
|
@@ -12,6 +19,9 @@ Grid 4 environments.
|
|
|
12
19
|
|
|
13
20
|
## [4.1.0] - 28-FEB-2022
|
|
14
21
|
|
|
22
|
+
### Removed
|
|
23
|
+
* Support for CrossBrowserTesting and Gridlastic cloud hosted Selenium grids have been removed.
|
|
24
|
+
|
|
15
25
|
### Added
|
|
16
26
|
* TestCentricity now supports and integrates with Selenium-Webdriver version 4.1.
|
|
17
27
|
* Added support for locally hosted Microsoft Edge desktop web browsers, including in `headless` mode.
|
|
@@ -28,9 +38,6 @@ Grid 4 environments.
|
|
|
28
38
|
* Ruby version 2.7 or greater required.
|
|
29
39
|
* Selenium-Webdriver version 4 or greater required.
|
|
30
40
|
|
|
31
|
-
### Removed
|
|
32
|
-
* Support for CrossBrowserTesting and Gridlastic cloud hosted Selenium grids have been removed.
|
|
33
|
-
|
|
34
41
|
|
|
35
42
|
## [4.0.3] - 30-DEC-2021
|
|
36
43
|
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
testcentricity_web (4.1.1)
|
|
5
|
+
appium_lib
|
|
6
|
+
browserstack-local
|
|
7
|
+
capybara (>= 3.1, < 4)
|
|
8
|
+
childprocess
|
|
9
|
+
chronic (= 0.10.2)
|
|
10
|
+
faker
|
|
11
|
+
i18n
|
|
12
|
+
os (~> 1.0)
|
|
13
|
+
selenium-webdriver (>= 4.0, < 5)
|
|
14
|
+
spreadsheet (= 1.1.7)
|
|
15
|
+
test-unit
|
|
16
|
+
virtus
|
|
17
|
+
webdrivers (~> 5.0)
|
|
18
|
+
|
|
19
|
+
GEM
|
|
20
|
+
remote: https://rubygems.org/
|
|
21
|
+
specs:
|
|
22
|
+
addressable (2.8.0)
|
|
23
|
+
public_suffix (>= 2.0.2, < 5.0)
|
|
24
|
+
appium_lib (12.0.0)
|
|
25
|
+
appium_lib_core (~> 5.0.0)
|
|
26
|
+
nokogiri (~> 1.8, >= 1.8.1)
|
|
27
|
+
tomlrb (>= 1.1, < 3.0)
|
|
28
|
+
appium_lib_core (5.0.3)
|
|
29
|
+
faye-websocket (~> 0.11.0)
|
|
30
|
+
selenium-webdriver (~> 4.0)
|
|
31
|
+
axiom-types (0.1.1)
|
|
32
|
+
descendants_tracker (~> 0.0.4)
|
|
33
|
+
ice_nine (~> 0.11.0)
|
|
34
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
|
35
|
+
browserstack-local (1.3.0)
|
|
36
|
+
capybara (3.36.0)
|
|
37
|
+
addressable
|
|
38
|
+
matrix
|
|
39
|
+
mini_mime (>= 0.1.3)
|
|
40
|
+
nokogiri (~> 1.8)
|
|
41
|
+
rack (>= 1.6.0)
|
|
42
|
+
rack-test (>= 0.6.3)
|
|
43
|
+
regexp_parser (>= 1.5, < 3.0)
|
|
44
|
+
xpath (~> 3.2)
|
|
45
|
+
childprocess (4.1.0)
|
|
46
|
+
chronic (0.10.2)
|
|
47
|
+
coercible (1.0.0)
|
|
48
|
+
descendants_tracker (~> 0.0.1)
|
|
49
|
+
concurrent-ruby (1.1.9)
|
|
50
|
+
descendants_tracker (0.0.4)
|
|
51
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
|
52
|
+
eventmachine (1.2.7)
|
|
53
|
+
faker (2.19.0)
|
|
54
|
+
i18n (>= 1.6, < 2)
|
|
55
|
+
faye-websocket (0.11.1)
|
|
56
|
+
eventmachine (>= 0.12.0)
|
|
57
|
+
websocket-driver (>= 0.5.1)
|
|
58
|
+
i18n (1.10.0)
|
|
59
|
+
concurrent-ruby (~> 1.0)
|
|
60
|
+
ice_nine (0.11.2)
|
|
61
|
+
matrix (0.4.2)
|
|
62
|
+
mini_mime (1.1.2)
|
|
63
|
+
nokogiri (1.13.3-x86_64-darwin)
|
|
64
|
+
racc (~> 1.4)
|
|
65
|
+
os (1.1.4)
|
|
66
|
+
power_assert (2.0.1)
|
|
67
|
+
public_suffix (4.0.6)
|
|
68
|
+
racc (1.6.0)
|
|
69
|
+
rack (2.2.3)
|
|
70
|
+
rack-test (1.1.0)
|
|
71
|
+
rack (>= 1.0, < 3)
|
|
72
|
+
rake (13.0.6)
|
|
73
|
+
redcarpet (3.5.1)
|
|
74
|
+
regexp_parser (2.2.1)
|
|
75
|
+
rexml (3.2.5)
|
|
76
|
+
ruby-ole (1.2.12.2)
|
|
77
|
+
rubyzip (2.3.2)
|
|
78
|
+
selenium-webdriver (4.1.0)
|
|
79
|
+
childprocess (>= 0.5, < 5.0)
|
|
80
|
+
rexml (~> 3.2, >= 3.2.5)
|
|
81
|
+
rubyzip (>= 1.2.2)
|
|
82
|
+
spreadsheet (1.1.7)
|
|
83
|
+
ruby-ole (>= 1.0)
|
|
84
|
+
test-unit (3.5.3)
|
|
85
|
+
power_assert
|
|
86
|
+
thread_safe (0.3.6)
|
|
87
|
+
tomlrb (2.0.1)
|
|
88
|
+
virtus (2.0.0)
|
|
89
|
+
axiom-types (~> 0.1)
|
|
90
|
+
coercible (~> 1.0)
|
|
91
|
+
descendants_tracker (~> 0.0, >= 0.0.3)
|
|
92
|
+
webdrivers (5.0.0)
|
|
93
|
+
nokogiri (~> 1.6)
|
|
94
|
+
rubyzip (>= 1.3.0)
|
|
95
|
+
selenium-webdriver (~> 4.0)
|
|
96
|
+
websocket-driver (0.7.5)
|
|
97
|
+
websocket-extensions (>= 0.1.0)
|
|
98
|
+
websocket-extensions (0.1.5)
|
|
99
|
+
xpath (3.2.0)
|
|
100
|
+
nokogiri (~> 1.8)
|
|
101
|
+
|
|
102
|
+
PLATFORMS
|
|
103
|
+
x86_64-darwin-21
|
|
104
|
+
|
|
105
|
+
DEPENDENCIES
|
|
106
|
+
bundler
|
|
107
|
+
rake
|
|
108
|
+
redcarpet
|
|
109
|
+
testcentricity_web!
|
|
110
|
+
|
|
111
|
+
BUNDLED WITH
|
|
112
|
+
2.2.1
|
data/README.md
CHANGED
|
@@ -300,6 +300,13 @@ A **PageSection Object** is a collection of **UI Elements** that may appear in m
|
|
|
300
300
|
app. It is a collection of **UI Elements** that represent a conceptual area of functionality, like a navigation bar, a search capability,
|
|
301
301
|
or a menu. **UI Elements** and functional behavior are confined to the scope of a **PageSection Object**.
|
|
302
302
|
|
|
303
|
+

|
|
304
|
+
|
|
305
|
+

|
|
306
|
+
|
|
307
|
+

|
|
308
|
+
|
|
309
|
+
|
|
303
310
|
A **PageSection Object** may contain other **PageSection Objects**.
|
|
304
311
|
|
|
305
312
|
|
|
@@ -551,6 +558,268 @@ With TestCentricity, all UI elements are based on the **UIElement** class, and i
|
|
|
551
558
|
element.aria_busy?
|
|
552
559
|
|
|
553
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
|
+
|
|
554
823
|
## Instantiating your Page Objects
|
|
555
824
|
|
|
556
825
|
Before you can call the methods in your **Page Objects** and **PageSection Objects**, you must instantiate the **Page Objects** of your
|
|
@@ -824,7 +1093,6 @@ the `WEB_BROWSER` Environment Variable must be set to one of the values from the
|
|
|
824
1093
|
| `ipad_chrome` | `chrome` | 1024 x 768 | landscape | iOS 12.2 - Mobile Chrome browser for iOS |
|
|
825
1094
|
| `ipad_firefox` | `chrome` | 1024 x 768 | landscape | iOS 12.2 - Mobile Firefox browser for iOS |
|
|
826
1095
|
| `ipad_edge` | `chrome` | 1024 x 768 | landscape | iOS 12.2 - Mobile Edge browser for iOS |
|
|
827
|
-
| `android_tablet` | `chrome` | 1024 x 768 | landscape | Android 3.0 |
|
|
828
1096
|
| `kindle_fire` | `chrome` | 1024 x 600 | landscape | |
|
|
829
1097
|
| `kindle_firehd7` | `chrome` | 800 x 480 | landscape | Fire OS 3 |
|
|
830
1098
|
| `kindle_firehd8` | `chrome` | 1280 x 800 | landscape | Fire OS 5 |
|
|
@@ -851,7 +1119,6 @@ the `WEB_BROWSER` Environment Variable must be set to one of the values from the
|
|
|
851
1119
|
| `iphone_11` | `chrome` | 414 x 896 | portrait | iOS 13.1 |
|
|
852
1120
|
| `iphone_11_pro` | `chrome` | 375 x 812 | portrait | iOS 13.1 |
|
|
853
1121
|
| `iphone_11_pro_max` | `chrome` | 414 x 896 | portrait | iOS 13.1 |
|
|
854
|
-
| `android_phone` | `chrome` | 360 x 640 | portrait | Android 4.2.1 |
|
|
855
1122
|
| `nexus6` | `chrome` | 411 x 731 | portrait | Android 6 |
|
|
856
1123
|
| `pixel` | `chrome` | 411 x 731 | portrait | Android 8 |
|
|
857
1124
|
| `pixel_xl` | `chrome` | 411 x 731 | portrait | Android 8 |
|
|
@@ -1127,26 +1394,28 @@ Below is a list of Cucumber **Profiles** for supported locally and remotely host
|
|
|
1127
1394
|
that you intend to connect with.
|
|
1128
1395
|
|
|
1129
1396
|
|
|
1130
|
-
<% desktop
|
|
1131
|
-
<% tablet
|
|
1132
|
-
<% mobile
|
|
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" %>
|
|
1133
1400
|
|
|
1134
1401
|
#==============
|
|
1135
1402
|
# profiles for locally hosted desktop web browsers
|
|
1136
1403
|
#==============
|
|
1137
1404
|
|
|
1138
|
-
firefox:
|
|
1139
|
-
chrome:
|
|
1140
|
-
|
|
1141
|
-
|
|
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 %>
|
|
1142
1410
|
|
|
1143
|
-
|
|
1144
|
-
|
|
1411
|
+
firefox_headless: WEB_BROWSER=firefox_headless <%= desktop %>
|
|
1412
|
+
chrome_headless: WEB_BROWSER=chrome_headless <%= desktop %>
|
|
1413
|
+
edge_headless: WEB_BROWSER=edge_headless <%= desktop %>
|
|
1145
1414
|
|
|
1146
1415
|
#==============
|
|
1147
1416
|
# profile for Selenium Grid and Dockerized Selenium Grid hosted desktop web browsers
|
|
1148
1417
|
#==============
|
|
1149
|
-
grid:
|
|
1418
|
+
grid: SELENIUM=remote REMOTE_ENDPOINT="http://localhost:4444/wd/hub"
|
|
1150
1419
|
|
|
1151
1420
|
|
|
1152
1421
|
#==============
|
|
@@ -1180,9 +1449,7 @@ that you intend to connect with.
|
|
|
1180
1449
|
iphone_11: WEB_BROWSER=iphone_11 HOST_BROWSER=chrome <%= mobile %>
|
|
1181
1450
|
iphone_11_pro: WEB_BROWSER=iphone_11_pro HOST_BROWSER=chrome <%= mobile %>
|
|
1182
1451
|
iphone_11_pro_max: WEB_BROWSER=iphone_11_pro_max HOST_BROWSER=chrome <%= mobile %>
|
|
1183
|
-
android_phone: WEB_BROWSER=android_phone HOST_BROWSER=chrome <%= mobile %>
|
|
1184
1452
|
nexus6: WEB_BROWSER=nexus6 HOST_BROWSER=chrome <%= mobile %>
|
|
1185
|
-
android_tablet: WEB_BROWSER=android_tablet HOST_BROWSER=chrome <%= tablet %>
|
|
1186
1453
|
kindle_fire: WEB_BROWSER=kindle_fire HOST_BROWSER=chrome <%= tablet %>
|
|
1187
1454
|
kindle_firehd7: WEB_BROWSER=kindle_firehd7 HOST_BROWSER=chrome <%= tablet %>
|
|
1188
1455
|
kindle_firehd8: WEB_BROWSER=kindle_firehd8 HOST_BROWSER=chrome <%= tablet %>
|
|
@@ -1211,43 +1478,19 @@ that you intend to connect with.
|
|
|
1211
1478
|
# profiles for mobile device screen orientation
|
|
1212
1479
|
#==============
|
|
1213
1480
|
|
|
1214
|
-
portrait:
|
|
1215
|
-
landscape:
|
|
1481
|
+
portrait: ORIENTATION=portrait
|
|
1482
|
+
landscape: ORIENTATION=landscape
|
|
1216
1483
|
|
|
1217
1484
|
|
|
1218
1485
|
#==============
|
|
1219
1486
|
# profiles for mobile Safari web browsers hosted within XCode iOS simulator
|
|
1220
1487
|
# NOTE: Requires installation of XCode, iOS version specific target simulators, Appium, and the appium_capybara gem
|
|
1221
1488
|
#==============
|
|
1222
|
-
|
|
1223
|
-
appium_ios:
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
iphone_7_plus_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 7 Plus"
|
|
1228
|
-
iphone_7_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 7"
|
|
1229
|
-
iphone_7se_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
|
|
1230
|
-
iphone_6s_plus_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s Plus"
|
|
1231
|
-
iphone_6s_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s"
|
|
1232
|
-
iphone_SE_10_sim: --profile app_ios_10 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
|
|
1233
|
-
iphone_X_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone X"
|
|
1234
|
-
iphone_8_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 8"
|
|
1235
|
-
iphone_8_plus_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 8 Plus"
|
|
1236
|
-
iphone_7_plus_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 7 Plus"
|
|
1237
|
-
iphone_7_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 7"
|
|
1238
|
-
iphone_7se_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
|
|
1239
|
-
iphone_6s_plus_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s Plus"
|
|
1240
|
-
iphone_6s_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone 6s"
|
|
1241
|
-
iphone_SE_11_sim: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="iPhone SE"
|
|
1242
|
-
|
|
1243
|
-
ipad_pro_12_9_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (12.9-inch)"
|
|
1244
|
-
ipad_pro_12_9_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (12.9-inch)"
|
|
1245
|
-
ipad_pro_10_5_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (10.5-inch)"
|
|
1246
|
-
ipad_pro_10_5_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (10.5-inch)"
|
|
1247
|
-
ipad_pro_9_7_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (9.7-inch)"
|
|
1248
|
-
ipad_pro_9_7_10_sim: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (9.7-inch)"
|
|
1249
|
-
ipad_air_2_11_sim: --profile app_ios_11 DEVICE_TYPE=tablet APP_DEVICE="iPad Air 2"
|
|
1250
|
-
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 %>
|
|
1251
1494
|
|
|
1252
1495
|
|
|
1253
1496
|
#==============
|
|
@@ -1255,227 +1498,110 @@ that you intend to connect with.
|
|
|
1255
1498
|
# NOTE: Requires installation of XCode, Appium, and the appium_capybara gem
|
|
1256
1499
|
#==============
|
|
1257
1500
|
|
|
1258
|
-
|
|
1259
|
-
|
|
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"
|
|
1260
1503
|
|
|
1261
1504
|
|
|
1262
1505
|
#==============
|
|
1263
1506
|
# profiles for Android mobile web browsers hosted within Android Studio Android Virtual Device emulators
|
|
1264
1507
|
# NOTE: Requires installation of Android Studio, Android version specific virtual device simulators, Appium, and the appium_capybara gem
|
|
1265
1508
|
#==============
|
|
1266
|
-
|
|
1267
|
-
appium_android:
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
pixel_2_xl_api26_sim: --profile android_api_26 DEVICE_TYPE=phone APP_DEVICE="Pixel_2_XL_API_26"
|
|
1272
|
-
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
|
+
|
|
1273
1514
|
|
|
1274
1515
|
#==============
|
|
1275
1516
|
# profiles for remotely hosted web browsers on the BrowserStack service
|
|
1276
1517
|
#==============
|
|
1277
1518
|
|
|
1278
|
-
browserstack:
|
|
1279
|
-
bs_desktop:
|
|
1280
|
-
bs_mobile:
|
|
1281
|
-
|
|
1282
|
-
# BrowserStack OS X desktop browser profiles
|
|
1283
|
-
bs_macos_mojave: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Mojave"
|
|
1284
|
-
bs_ff_mojave: --profile bs_macos_mojave BS_BROWSER="Firefox"
|
|
1285
|
-
bs_chrome_mojave: --profile bs_macos_mojave BS_BROWSER="Chrome"
|
|
1286
|
-
bs_safari_mojave: --profile bs_macos_mojave BS_BROWSER="Safari"
|
|
1287
|
-
|
|
1288
|
-
bs_macos_high_sierra: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="High Sierra"
|
|
1289
|
-
bs_ff_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Firefox"
|
|
1290
|
-
bs_chrome_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Chrome"
|
|
1291
|
-
bs_safari_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Safari"
|
|
1292
|
-
|
|
1293
|
-
bs_macos_sierra: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Sierra"
|
|
1294
|
-
bs_ff_sierra: --profile bs_macos_sierra BS_BROWSER="Firefox"
|
|
1295
|
-
bs_chrome_sierra: --profile bs_macos_sierra BS_BROWSER="Chrome"
|
|
1296
|
-
bs_safari_sierra: --profile bs_macos_sierra BS_BROWSER="Safari"
|
|
1297
|
-
|
|
1298
|
-
bs_osx_el_capitan: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="El Capitan"
|
|
1299
|
-
bs_ff_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Firefox"
|
|
1300
|
-
bs_chrome_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Chrome"
|
|
1301
|
-
bs_safari_el_cap: --profile bs_osx_el_capitan BS_BROWSER="Safari"
|
|
1302
|
-
|
|
1303
|
-
bs_osx_yosemite: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Yosemite"
|
|
1304
|
-
bs_ff_yos: --profile bs_osx_yosemite BS_BROWSER="Firefox"
|
|
1305
|
-
bs_chrome_yos: --profile bs_osx_yosemite BS_BROWSER="Chrome"
|
|
1306
|
-
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 %>
|
|
1307
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
|
+
|
|
1308
1529
|
# BrowserStack Windows desktop browser profiles
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
bs_ie10_win8: --profile bs_win8 BS_BROWSER="IE" BS_VERSION="10.0"
|
|
1317
|
-
bs_ie11_win8: --profile bs_desktop BS_OS="Windows" BS_OS_VERSION="8.1" BS_BROWSER="IE" BS_VERSION="11.0"
|
|
1318
|
-
bs_ie11_win10: --profile bs_win10 BS_BROWSER="IE" BS_VERSION="11.0"
|
|
1319
|
-
bs_edge_win10: --profile bs_win10 BS_BROWSER="Edge" BS_VERSION="15.0"
|
|
1320
|
-
|
|
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
|
+
|
|
1321
1536
|
# BrowserStack iOS mobile browser profiles
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
bs_iphone6s: --profile bs_iphone BS_DEVICE="iPhone 6S"
|
|
1325
|
-
bs_iphone6_plus: --profile bs_iphone BS_DEVICE="iPhone 6 Plus"
|
|
1326
|
-
bs_iphone6: --profile bs_iphone BS_DEVICE="iPhone 6"
|
|
1327
|
-
bs_iphone5s: --profile bs_iphone BS_DEVICE="iPhone 5S"
|
|
1328
|
-
bs_iphone4s: --profile bs_iphone BS_DEVICE="iPhone 4S (6.0)"
|
|
1329
|
-
|
|
1330
|
-
bs_ipad: --profile bs_mobile BS_PLATFORM=MAC BS_BROWSER=iPad DEVICE_TYPE=tablet
|
|
1331
|
-
bs_ipad_pro: --profile bs_ipad BS_DEVICE="iPad Pro"
|
|
1332
|
-
bs_ipad_air2: --profile bs_ipad BS_DEVICE="iPad Air 2"
|
|
1333
|
-
bs_ipad_air: --profile bs_ipad BS_DEVICE="iPad Air"
|
|
1334
|
-
bs_ipad_mini: --profile bs_ipad BS_DEVICE="iPad Mini 4"
|
|
1335
|
-
|
|
1336
|
-
# BrowserStack iOS real device mobile browser profiles
|
|
1337
|
-
bs_iphone_device: --profile bs_iphone BS_REAL_MOBILE="true"
|
|
1338
|
-
bs_iphoneX: --profile bs_iphone_device BS_OS_VERSION="11.0" BS_DEVICE="iPhone X"
|
|
1339
|
-
bs_iphone8_plus: --profile bs_iphone_device BS_OS_VERSION="11.0" BS_DEVICE="iPhone 8 Plus"
|
|
1340
|
-
bs_iphone8: --profile bs_iphone_device BS_OS_VERSION="11.0" BS_DEVICE="iPhone 8"
|
|
1341
|
-
bs_iphone7_plus: --profile bs_iphone_device BS_OS_VERSION="10.3" BS_DEVICE="iPhone 7 Plus"
|
|
1342
|
-
bs_iphone7: --profile bs_iphone_device BS_OS_VERSION="10.3" BS_DEVICE="iPhone 7"
|
|
1343
|
-
|
|
1344
|
-
bs_ipad_device: --profile bs_ipad BS_REAL_MOBILE="true"
|
|
1345
|
-
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"
|
|
1346
1539
|
|
|
1347
1540
|
# BrowserStack Android mobile browser profiles
|
|
1348
|
-
bs_android:
|
|
1349
|
-
|
|
1350
|
-
bs_galaxy_s5: --profile bs_android_phone BS_DEVICE="Samsung Galaxy S5"
|
|
1351
|
-
bs_nexus5: --profile bs_android_phone BS_DEVICE="Google Nexus 5"
|
|
1352
|
-
bs_moto_razr: --profile bs_android_phone BS_DEVICE="Motorola Razr"
|
|
1353
|
-
bs_sony_xperia: --profile bs_android_phone BS_DEVICE="Sony Xperia Tipo"
|
|
1354
|
-
|
|
1355
|
-
bs_android_tablet: --profile bs_android DEVICE_TYPE=tablet
|
|
1356
|
-
bs_kindle_fire_hd89: --profile bs_android_tablet BS_DEVICE="Amazon Kindle Fire HD 8.9"
|
|
1357
|
-
bs_kindle_fire_hdx7: --profile bs_android_tablet BS_DEVICE="Amazon Kindle Fire HDX 7"
|
|
1358
|
-
bs_kindle_fire2: --profile bs_android_tablet BS_DEVICE="Amazon Kindle Fire 2"
|
|
1359
|
-
bs_nexus7: --profile bs_android_tablet BS_DEVICE="Google Nexus 7"
|
|
1360
|
-
|
|
1361
|
-
# BrowserStack Android real device mobile browser profiles
|
|
1362
|
-
bs_android_device: --profile bs_mobile BS_BROWSER=android BS_OS=android BS_REAL_MOBILE="true"
|
|
1363
|
-
bs_google_pixel8: --profile bs_android_device BS_DEVICE="Google Pixel" BS_OS_VERSION="8.0" DEVICE_TYPE=phone
|
|
1364
|
-
bs_google_pixel71: --profile bs_android_device BS_DEVICE="Google Pixel" BS_OS_VERSION="7.1" DEVICE_TYPE=phone
|
|
1365
|
-
bs_nexus6: --profile bs_android_device BS_DEVICE="Google Nexus 6" DEVICE_TYPE=phone
|
|
1366
|
-
bs_galaxy_s8_plus: --profile bs_android_device BS_DEVICE="Samsung Galaxy S8 Plus" DEVICE_TYPE=phone
|
|
1367
|
-
bs_galaxy_s8: --profile bs_android_device BS_DEVICE="Samsung Galaxy S8" DEVICE_TYPE=phone
|
|
1368
|
-
bs_galaxy_s7: --profile bs_android_device BS_DEVICE="Samsung Galaxy S7" DEVICE_TYPE=phone
|
|
1369
|
-
bs_galaxy_s6: --profile bs_android_device BS_DEVICE="Samsung Galaxy S6" DEVICE_TYPE=phone
|
|
1370
|
-
bs_galaxy_note4: --profile bs_android_device BS_DEVICE="Samsung Galaxy Note 4" DEVICE_TYPE=tablet
|
|
1371
|
-
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"
|
|
1372
1543
|
|
|
1373
1544
|
|
|
1374
1545
|
#==============
|
|
1375
1546
|
# profiles for remotely hosted web browsers on the SauceLabs service
|
|
1376
1547
|
#==============
|
|
1377
1548
|
|
|
1378
|
-
saucelabs:
|
|
1379
|
-
sl_desktop:
|
|
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 %>
|
|
1380
1552
|
|
|
1381
|
-
# SauceLabs
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
sl_osx_el_capitan: --profile sl_desktop SL_OS="OS X 10.11"
|
|
1388
|
-
sl_ff_el_cap: --profile sl_osx_el_capitan SL_BROWSER="firefox"
|
|
1389
|
-
sl_chrome_el_cap: --profile sl_osx_el_capitan SL_BROWSER="chrome"
|
|
1390
|
-
sl_safari_el_cap: --profile sl_osx_el_capitan SL_BROWSER="safari"
|
|
1391
|
-
|
|
1392
|
-
sl_osx_yosemite: --profile sl_desktop SL_OS="OS X 10.10" RESOLUTION="1920x1200"
|
|
1393
|
-
sl_ff_yos: --profile sl_osx_yosemite SL_BROWSER="firefox"
|
|
1394
|
-
sl_chrome_yos: --profile sl_osx_yosemite SL_BROWSER="chrome"
|
|
1395
|
-
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"
|
|
1396
1558
|
|
|
1397
1559
|
# SauceLabs Windows desktop browser profiles
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
sl_ff_win10: --profile sl_win10 SL_BROWSER="firefox"
|
|
1402
|
-
sl_chrome_win8: --profile sl_win8 SL_BROWSER="chrome"
|
|
1403
|
-
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"
|
|
1404
1563
|
|
|
1405
|
-
|
|
1406
|
-
|
|
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"
|
|
1407
1567
|
|
|
1408
1568
|
|
|
1409
1569
|
#==============
|
|
1410
1570
|
# profiles for remotely hosted web browsers on the TestingBot service
|
|
1411
1571
|
#==============
|
|
1412
1572
|
|
|
1413
|
-
testingbot:
|
|
1414
|
-
tb_desktop:
|
|
1415
|
-
tb_mobile: --profile testingbot <%= mobile %>
|
|
1416
|
-
|
|
1417
|
-
# TestingBot OS X desktop browser profiles
|
|
1418
|
-
tb_macos_sierra: --profile tb_desktop TB_OS="SIERRA"
|
|
1419
|
-
tb_ff_sierra: --profile tb_macos_sierra TB_BROWSER="firefox"
|
|
1420
|
-
tb_chrome_sierra: --profile tb_macos_sierra TB_BROWSER="chrome"
|
|
1421
|
-
tb_safari_sierra: --profile tb_macos_sierra TB_BROWSER="safari" TB_VERSION="10"
|
|
1422
|
-
|
|
1423
|
-
tb_osx_el_capitan: --profile tb_desktop TB_OS="CAPITAN"
|
|
1424
|
-
tb_ff_el_cap: --profile tb_osx_el_capitan TB_BROWSER="firefox"
|
|
1425
|
-
tb_chrome_el_cap: --profile tb_osx_el_capitan TB_BROWSER="chrome"
|
|
1426
|
-
tb_safari_el_cap: --profile tb_osx_el_capitan TB_BROWSER="safari" TB_VERSION="9"
|
|
1573
|
+
testingbot: WEB_BROWSER=testingbot TB_USERNAME="<INSERT USER NAME HERE>" TB_AUTHKEY="<INSERT PASSWORD HERE>"
|
|
1574
|
+
tb_desktop: --profile testingbot <%= desktop %> RESOLUTION="1920x1200"
|
|
1427
1575
|
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
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"
|
|
1432
1580
|
|
|
1433
1581
|
# TestingBot Windows desktop browser profiles
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
tb_chrome_win8: --profile tb_win8 TB_BROWSER="chrome"
|
|
1439
|
-
tb_chrome_win10: --profile tb_win10 TB_BROWSER="chrome"
|
|
1440
|
-
|
|
1441
|
-
tb_ie11_win8: --profile tb_win8 TB_BROWSER="internet explorer" TB_VERSION="11"
|
|
1442
|
-
tb_ie10_win8: --profile tb_win8 TB_BROWSER="internet explorer" TB_VERSION="10"
|
|
1443
|
-
tb_ie11_win10: --profile tb_win10 TB_BROWSER="internet explorer" TB_VERSION="11"
|
|
1444
|
-
tb_edge_win10: --profile tb_win10 TB_BROWSER="microsoftedge" TB_VERSION="14"
|
|
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"
|
|
1445
1586
|
|
|
1446
1587
|
|
|
1447
1588
|
#==============
|
|
1448
1589
|
# profiles for remotely hosted web browsers on the LambdaTest service
|
|
1449
1590
|
#==============
|
|
1450
1591
|
|
|
1451
|
-
lambdatest:
|
|
1452
|
-
lt_desktop:
|
|
1453
|
-
lt_firefox: LT_BROWSER="Firefox" LT_VERSION="67.0"
|
|
1454
|
-
lt_chrome: LT_BROWSER="Chrome" LT_VERSION="76.0"
|
|
1455
|
-
lt_safari: LT_BROWSER="Safari" ALLOW_COOKIES="true" ALLOW_POPUPS="true"
|
|
1456
|
-
|
|
1457
|
-
# LambdaTest OS X desktop browser profiles
|
|
1458
|
-
lt_macos_mojave: --profile lt_desktop LT_OS="macOS Mojave"
|
|
1459
|
-
lt_ff_mojave: --profile lt_macos_mojave --profile lt_firefox
|
|
1460
|
-
lt_chrome_mojave: --profile lt_macos_mojave --profile lt_chrome
|
|
1461
|
-
lt_safari_mojave: --profile lt_macos_mojave --profile lt_safari LT_VERSION="12.0"
|
|
1462
|
-
|
|
1463
|
-
lt_macos_high_sierra: --profile lt_desktop LT_OS="macOS High Sierra"
|
|
1464
|
-
lt_ff_high_sierra: --profile lt_macos_high_sierra --profile lt_firefox
|
|
1465
|
-
lt_chrome_high_sierra: --profile lt_macos_high_sierra --profile lt_chrome
|
|
1466
|
-
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"
|
|
1467
1594
|
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
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"
|
|
1472
1599
|
|
|
1473
1600
|
# LambdaTest Windows desktop browser profiles
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
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"
|
|
1479
1605
|
|
|
1480
1606
|
|
|
1481
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
|
data/lib/devices/devices.yml
CHANGED
|
@@ -134,14 +134,6 @@
|
|
|
134
134
|
:css_height: 869
|
|
135
135
|
:default_orientation: portrait
|
|
136
136
|
:user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.1 Mobile/15E148 Safari/604.1"
|
|
137
|
-
:android_phone:
|
|
138
|
-
:name: "Generic Android phone"
|
|
139
|
-
:os: android
|
|
140
|
-
:type: phone
|
|
141
|
-
:css_width: 360
|
|
142
|
-
:css_height: 640
|
|
143
|
-
:default_orientation: portrait
|
|
144
|
-
:user_agent: "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19"
|
|
145
137
|
nexus6:
|
|
146
138
|
:name: "Nexus 6 or 6P phone"
|
|
147
139
|
:os: android
|
|
@@ -302,14 +294,6 @@ nexus6:
|
|
|
302
294
|
:css_height: 768
|
|
303
295
|
:default_orientation: landscape
|
|
304
296
|
:user_agent: "Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 EdgiOS/44.2.1 Mobile/15E148 Safari/605.1.15"
|
|
305
|
-
:android_tablet:
|
|
306
|
-
:name: "Generic Android tablet"
|
|
307
|
-
:os: android
|
|
308
|
-
:type: tablet
|
|
309
|
-
:css_width: 1024
|
|
310
|
-
:css_height: 768
|
|
311
|
-
:default_orientation: landscape
|
|
312
|
-
:user_agent: "Mozilla/5.0 (Linux; U; Android 3.0; en-us; GT-P7100 Build/HRI83) AppleWebkit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13"
|
|
313
297
|
:kindle_fire:
|
|
314
298
|
:name: "Kindle Fire"
|
|
315
299
|
:os: kindle
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: testcentricity_web
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.1.
|
|
4
|
+
version: 4.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- A.J. Mrozinski
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-03-
|
|
11
|
+
date: 2022-03-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -258,6 +258,7 @@ files:
|
|
|
258
258
|
- CHANGELOG.md
|
|
259
259
|
- CODE_OF_CONDUCT.md
|
|
260
260
|
- Gemfile
|
|
261
|
+
- Gemfile.lock
|
|
261
262
|
- LICENSE.md
|
|
262
263
|
- README.md
|
|
263
264
|
- Rakefile
|
|
@@ -293,7 +294,7 @@ files:
|
|
|
293
294
|
- lib/testcentricity_web/web_elements/ui_elements_helper.rb
|
|
294
295
|
- lib/testcentricity_web/web_elements/video.rb
|
|
295
296
|
- lib/testcentricity_web/world_extensions.rb
|
|
296
|
-
-
|
|
297
|
+
- test_site/test_page.html
|
|
297
298
|
- testcentricity_web.gemspec
|
|
298
299
|
homepage: ''
|
|
299
300
|
licenses:
|