testcentricity_web 4.1.10 → 4.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +75 -1
- data/README.md +73 -35
- data/lib/testcentricity_web/data_objects/environment.rb +0 -1
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/web_core/page_objects_helper.rb +39 -2
- data/lib/testcentricity_web/web_core/webdriver_helper.rb +67 -61
- data/lib/testcentricity_web/web_elements/media.rb +108 -0
- data/lib/testcentricity_web/web_elements/textfield.rb +28 -0
- data/lib/testcentricity_web/web_elements/ui_elements_helper.rb +39 -1
- metadata +6 -150
- data/.gitignore +0 -39
- data/.idea/.name +0 -1
- data/.idea/encodings.xml +0 -6
- data/.idea/misc.xml +0 -4
- data/.idea/modules.xml +0 -8
- data/.idea/vcs.xml +0 -7
- data/.rspec +0 -4
- data/.rubocop.yml +0 -38
- data/.ruby-version +0 -1
- data/.simplecov +0 -9
- data/CODE_OF_CONDUCT.md +0 -13
- data/Gemfile +0 -6
- data/Rakefile +0 -115
- data/config/cucumber.yml +0 -171
- data/config/locales/en-US.yml +0 -56
- data/config/test_data/LOCAL_data.json +0 -15
- data/config/test_data/LOCAL_data.xls +0 -0
- data/config/test_data/LOCAL_data.yml +0 -11
- data/config/test_data/data.json +0 -25
- data/config/test_data/data.xls +0 -0
- data/config/test_data/data.yml +0 -20
- data/docker-compose.yml +0 -48
- data/features/basic_form_page_css.feature +0 -54
- data/features/basic_form_page_xpath.feature +0 -26
- data/features/custom_controls.feature +0 -29
- data/features/media_players.feature +0 -67
- data/features/step_definitions/generic_steps.rb.rb +0 -124
- data/features/step_definitions/media_steps.rb +0 -30
- data/features/support/data/form_data.rb +0 -43
- data/features/support/env.rb +0 -53
- data/features/support/hooks.rb +0 -270
- data/features/support/pages/base_test_page.rb +0 -22
- data/features/support/pages/basic_css_form_page.rb +0 -57
- data/features/support/pages/basic_form_page.rb +0 -500
- data/features/support/pages/basic_xpath_form_page.rb +0 -58
- data/features/support/pages/custom_controls_page.rb +0 -263
- data/features/support/pages/indexed_sections_page.rb +0 -57
- data/features/support/pages/media_test_page.rb +0 -207
- data/features/support/sections/header_nav.rb +0 -48
- data/features/support/sections/product_card.rb +0 -39
- data/features/support/world_data.rb +0 -12
- data/features/support/world_pages.rb +0 -18
- data/reports/.keep +0 -1
- data/spec/fixtures/page_object.rb +0 -22
- data/spec/fixtures/section_object.rb +0 -21
- data/spec/spec_helper.rb +0 -33
- data/spec/testcentricity_web/browser_spec.rb +0 -41
- data/spec/testcentricity_web/elements/audio_spec.rb +0 -68
- data/spec/testcentricity_web/elements/button_spec.rb +0 -18
- data/spec/testcentricity_web/elements/checkbox_spec.rb +0 -33
- data/spec/testcentricity_web/elements/file_field_spec.rb +0 -13
- data/spec/testcentricity_web/elements/image_spec.rb +0 -33
- data/spec/testcentricity_web/elements/label_spec.rb +0 -18
- data/spec/testcentricity_web/elements/link_spec.rb +0 -23
- data/spec/testcentricity_web/elements/list_spec.rb +0 -13
- data/spec/testcentricity_web/elements/radio_spec.rb +0 -28
- data/spec/testcentricity_web/elements/ui_element_spec.rb +0 -125
- data/spec/testcentricity_web/elements/video_spec.rb +0 -68
- data/spec/testcentricity_web/helper_specs/object_helpers_spec.rb +0 -39
- data/spec/testcentricity_web/helper_specs/string_helpers_spec.rb +0 -49
- data/spec/testcentricity_web/page_object_spec.rb +0 -90
- data/spec/testcentricity_web/section_object_spec.rb +0 -72
- data/spec/testcentricity_web/version_spec.rb +0 -7
- data/spec/testcentricity_web/webdriver_connect/grid_webdriver_spec.rb +0 -72
- data/spec/testcentricity_web/webdriver_connect/local_webdriver_spec.rb +0 -86
- data/spec/testcentricity_web/webdriver_connect/mobile_webdriver_spec.rb +0 -65
- data/test_site/basic_test_page.html +0 -269
- data/test_site/chosen/chosen-sprite.png +0 -0
- data/test_site/chosen/chosen-sprite@2x.png +0 -0
- data/test_site/chosen/chosen.css +0 -496
- data/test_site/chosen/chosen.jquery.js +0 -1359
- data/test_site/chosen/chosen.jquery.min.js +0 -3
- data/test_site/chosen/chosen.min.css +0 -11
- data/test_site/chosen/chosen.proto.js +0 -1399
- data/test_site/chosen/chosen.proto.min.js +0 -3
- data/test_site/chosen/composer.json +0 -36
- data/test_site/custom_controls_page.html +0 -629
- data/test_site/docsupport/chosen.png +0 -0
- data/test_site/docsupport/init.js +0 -11
- data/test_site/docsupport/init.proto.js +0 -16
- data/test_site/docsupport/jquery-1.12.4.min.js +0 -5
- data/test_site/docsupport/jquery-3.2.1.min.js +0 -4
- data/test_site/docsupport/oss-credit.png +0 -0
- data/test_site/docsupport/prism.css +0 -108
- data/test_site/docsupport/prism.js +0 -9
- data/test_site/docsupport/prototype-1.7.0.0.js +0 -6082
- data/test_site/docsupport/style.css +0 -219
- data/test_site/images/Blouse_Black.jpg +0 -0
- data/test_site/images/Granny.jpg +0 -0
- data/test_site/images/Printed_Dress.jpg +0 -0
- data/test_site/images/T-shirt.jpg +0 -0
- data/test_site/images/Wilder.jpg +0 -0
- data/test_site/images/You_Betcha.jpg +0 -0
- data/test_site/images/jeans3.jpg +0 -0
- data/test_site/indexed_sections_page.html +0 -215
- data/test_site/media/MIB2-subtitles-pt-BR.vtt +0 -49
- data/test_site/media/MIB2.mp4 +0 -0
- data/test_site/media/MP4_small.mp4 +0 -0
- data/test_site/media/MPS_sample.mp3 +0 -0
- data/test_site/media/bbc_scotland_report.mp3 +0 -0
- data/test_site/media/count_and_bars.mp4 +0 -0
- data/test_site/media_page.html +0 -86
- data/testcentricity_web.gemspec +0 -59
data/.rubocop.yml
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
# See full list of defaults here: https://github.com/bbatsov/rubocop/blob/master/config/default.yml
|
2
|
-
# To see all cops used see here: https://github.com/bbatsov/rubocop/blob/master/config/enabled.yml
|
3
|
-
|
4
|
-
Documentation:
|
5
|
-
Enabled: false
|
6
|
-
|
7
|
-
AccessorMethodName:
|
8
|
-
Enabled: false
|
9
|
-
|
10
|
-
TrivialAccessors:
|
11
|
-
Enabled: false
|
12
|
-
|
13
|
-
RedundantReturn:
|
14
|
-
Enabled: false
|
15
|
-
|
16
|
-
Metrics/ModuleLength:
|
17
|
-
Enabled: false
|
18
|
-
|
19
|
-
Metrics/ClassLength:
|
20
|
-
Enabled: false
|
21
|
-
|
22
|
-
Metrics/LineLength:
|
23
|
-
Enabled: false
|
24
|
-
|
25
|
-
Metrics/MethodLength:
|
26
|
-
Enabled: false
|
27
|
-
|
28
|
-
Style/RegexpLiteral:
|
29
|
-
Enabled: false
|
30
|
-
|
31
|
-
Style/HashSyntax:
|
32
|
-
Enabled: false
|
33
|
-
|
34
|
-
Metrics/CyclomaticComplexity:
|
35
|
-
Enabled: false
|
36
|
-
|
37
|
-
Layout/EmptyLines:
|
38
|
-
Enabled: false
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ruby-2.7.5
|
data/.simplecov
DELETED
data/CODE_OF_CONDUCT.md
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# Contributor Code of Conduct
|
2
|
-
|
3
|
-
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
4
|
-
|
5
|
-
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
|
6
|
-
|
7
|
-
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
|
8
|
-
|
9
|
-
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
|
10
|
-
|
11
|
-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
|
12
|
-
|
13
|
-
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1,115 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'cucumber'
|
3
|
-
require 'cucumber/rake/task'
|
4
|
-
require 'docker/compose'
|
5
|
-
require 'parallel_tests'
|
6
|
-
require 'rake'
|
7
|
-
require 'rspec/core/rake_task'
|
8
|
-
require 'simplecov'
|
9
|
-
require 'yard'
|
10
|
-
|
11
|
-
|
12
|
-
desc 'Run required specs'
|
13
|
-
RSpec::Core::RakeTask.new(:required_specs) do |t|
|
14
|
-
t.rspec_opts = '--tag required'
|
15
|
-
end
|
16
|
-
|
17
|
-
|
18
|
-
desc 'Run grid WebDriver specs'
|
19
|
-
RSpec::Core::RakeTask.new(:grid_specs) do |t|
|
20
|
-
t.rspec_opts = '--tag grid'
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
desc 'Run mobile WebDriver specs'
|
25
|
-
RSpec::Core::RakeTask.new(:mobile_specs) do |t|
|
26
|
-
t.rspec_opts = '--tag mobile'
|
27
|
-
end
|
28
|
-
|
29
|
-
|
30
|
-
desc 'Run Cucumber features on local Safari browser'
|
31
|
-
Cucumber::Rake::Task.new(:safari_local) do |t|
|
32
|
-
t.profile = 'safari_local'
|
33
|
-
end
|
34
|
-
|
35
|
-
|
36
|
-
desc 'Run Cucumber features on iOS simulator'
|
37
|
-
Cucumber::Rake::Task.new(:ios_remote) do |t|
|
38
|
-
t.profile = 'ios_remote'
|
39
|
-
end
|
40
|
-
|
41
|
-
|
42
|
-
desc 'Run required Cucumber features on local web browsers'
|
43
|
-
task :required_cukes do
|
44
|
-
%w[chrome_local chrome_headless firefox_local firefox_headless edge_local edge_headless ipad_pro_12_local].each do |profile|
|
45
|
-
system "parallel_cucumber features/ -o '-p #{profile}' -n 6 --group-by scenarios"
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
|
50
|
-
desc 'Run grid Cucumber features on Dockerized Selenium 4 Grid'
|
51
|
-
task :grid_cukes do
|
52
|
-
# start up Selenium 4 Grid
|
53
|
-
compose = Docker::Compose.new
|
54
|
-
compose.version
|
55
|
-
compose.up(detached: true)
|
56
|
-
# run grid features
|
57
|
-
%w[chrome_grid firefox_grid edge_grid ipad_pro_12_grid].each do |profile|
|
58
|
-
system "parallel_cucumber features/ -o '-p #{profile}' -n 4 --group-by scenarios"
|
59
|
-
end
|
60
|
-
# shut down Selenium Grid
|
61
|
-
compose.down(remove_volumes: true)
|
62
|
-
end
|
63
|
-
|
64
|
-
|
65
|
-
desc 'Run grid specs on Dockerized Selenium 4 Grid'
|
66
|
-
task :docker_grid_specs do
|
67
|
-
# start up Selenium 4 Grid
|
68
|
-
compose = Docker::Compose.new
|
69
|
-
compose.version
|
70
|
-
compose.up(detached: true)
|
71
|
-
# run grid specs
|
72
|
-
Rake::Task[:grid_specs].invoke
|
73
|
-
# shut down Selenium Grid
|
74
|
-
compose.down(remove_volumes: true)
|
75
|
-
end
|
76
|
-
|
77
|
-
|
78
|
-
desc 'Run mobile web specs and Cucumber features'
|
79
|
-
task mobile: [:mobile_specs, :ios_remote]
|
80
|
-
|
81
|
-
|
82
|
-
desc 'Run required specs and Cucumber features'
|
83
|
-
task required: [:required_specs, :required_cukes]
|
84
|
-
|
85
|
-
|
86
|
-
desc 'Run grid specs and Cucumber features on Dockerized Selenium 4 Grid'
|
87
|
-
task grid: [:docker_grid_specs, :grid_cukes]
|
88
|
-
|
89
|
-
|
90
|
-
desc 'Run all specs'
|
91
|
-
task all_specs: [:required_specs, :docker_grid_specs, :mobile_specs]
|
92
|
-
|
93
|
-
|
94
|
-
desc 'Run all specs and Cucumber features'
|
95
|
-
task all: [:required, :safari_local, :grid, :mobile]
|
96
|
-
|
97
|
-
|
98
|
-
desc 'Update HTML docs'
|
99
|
-
YARD::Rake::YardocTask.new(:docs) do |t|
|
100
|
-
t.files = ['lib/**/*.rb']
|
101
|
-
end
|
102
|
-
|
103
|
-
|
104
|
-
desc 'Build and release new version'
|
105
|
-
task :release do
|
106
|
-
version = TestCentricityWeb::VERSION
|
107
|
-
puts "Releasing #{version}, y/n?"
|
108
|
-
exit(1) unless $stdin.gets.chomp == 'y'
|
109
|
-
sh 'gem build testcentricity_web.gemspec && ' \
|
110
|
-
"gem push testcentricity_web-#{version}.gem"
|
111
|
-
end
|
112
|
-
|
113
|
-
|
114
|
-
desc 'Update docs, build gem, and push to RubyGems'
|
115
|
-
task ship_it: [:docs, :release]
|
data/config/cucumber.yml
DELETED
@@ -1,171 +0,0 @@
|
|
1
|
-
<% desktop = "--require features BROWSER_TILE=true BROWSER_SIZE=1300,1000 --publish-quiet" %>
|
2
|
-
<% mobile = "--require features BROWSER_TILE=true --publish-quiet" %>
|
3
|
-
<% reports = "--require features --format pretty --format html --out reports/test_results.html --format junit --out reports --format json --out reports/test_results.json" %>
|
4
|
-
|
5
|
-
|
6
|
-
#==============
|
7
|
-
# generic test context profiles
|
8
|
-
#==============
|
9
|
-
|
10
|
-
failing: --tags '@failing and not @wip'
|
11
|
-
wip: --tags '@wip and not @failing'
|
12
|
-
dev: --tags '@dev and (not @wip and not @failing)'
|
13
|
-
|
14
|
-
|
15
|
-
#==============
|
16
|
-
# test reporting profiles
|
17
|
-
#==============
|
18
|
-
|
19
|
-
report: <%= reports %> REPORTING=true
|
20
|
-
parallel: PARALLEL=true REPORTING=true --require features --format pretty --format html --out reports/test_results<%= ENV['TEST_ENV_NUMBER'] %>.html --format junit --out reports --format json --out reports/test_results<%= ENV['TEST_ENV_NUMBER'] %>.json
|
21
|
-
|
22
|
-
|
23
|
-
#==============
|
24
|
-
# profiles for locally hosted desktop web browsers
|
25
|
-
#==============
|
26
|
-
|
27
|
-
local: TEST_ENVIRONMENT=LOCAL
|
28
|
-
chrome: WEB_BROWSER=chrome DATA_SOURCE=yaml <%= desktop %>
|
29
|
-
edge: WEB_BROWSER=edge DATA_SOURCE=json <%= desktop %>
|
30
|
-
safari: WEB_BROWSER=safari DATA_SOURCE=Excel <%= desktop %>
|
31
|
-
firefox: WEB_BROWSER=firefox <%= desktop %>
|
32
|
-
|
33
|
-
chrome_local: --profile local --profile chrome
|
34
|
-
edge_local: --profile local --profile edge
|
35
|
-
safari_local: --profile local --profile safari
|
36
|
-
firefox_local: --profile local --profile firefox
|
37
|
-
|
38
|
-
firefox_headless: --profile local WEB_BROWSER=firefox_headless <%= desktop %>
|
39
|
-
chrome_headless: --profile local WEB_BROWSER=chrome_headless <%= desktop %>
|
40
|
-
edge_headless: --profile local WEB_BROWSER=edge_headless <%= desktop %>
|
41
|
-
|
42
|
-
|
43
|
-
#==============
|
44
|
-
# profile for Selenium Grid and Dockerized Selenium Grid hosted desktop web browsers
|
45
|
-
#==============
|
46
|
-
grid: SELENIUM=remote TEST_ENVIRONMENT=REMOTE REMOTE_ENDPOINT="http://localhost:4444/wd/hub"
|
47
|
-
chrome_grid: --profile grid --profile chrome
|
48
|
-
edge_grid: --profile grid --profile edge
|
49
|
-
firefox_grid: --profile grid --profile firefox
|
50
|
-
|
51
|
-
|
52
|
-
#==============
|
53
|
-
# profiles for mobile device screen orientation
|
54
|
-
#==============
|
55
|
-
|
56
|
-
landscape: ORIENTATION=landscape
|
57
|
-
portrait: ORIENTATION=portrait
|
58
|
-
|
59
|
-
|
60
|
-
#==============
|
61
|
-
# profiles for locally hosted mobile web browsers (emulated locally in Chrome browser)
|
62
|
-
#==============
|
63
|
-
|
64
|
-
ipad_pro_11_local: --profile local WEB_BROWSER=ipad_pro_11 HOST_BROWSER=chrome --profile portrait <%= mobile %>
|
65
|
-
ipad_pro_12_local: --profile local WEB_BROWSER=ipad_pro_12_9 HOST_BROWSER=chrome --profile portrait <%= mobile %>
|
66
|
-
ipad_pro_12_grid: --profile grid WEB_BROWSER=ipad_pro_12_9 HOST_BROWSER=chrome --profile portrait <%= mobile %>
|
67
|
-
|
68
|
-
|
69
|
-
#==============
|
70
|
-
# profile to start Appium Server prior to running mobile browser tests on iOS or Android simulators or physical devices
|
71
|
-
#==============
|
72
|
-
run_appium: APPIUM_SERVER=run
|
73
|
-
|
74
|
-
|
75
|
-
#==============
|
76
|
-
# profiles for mobile Safari web browsers hosted within XCode iOS simulators
|
77
|
-
# NOTE: Requires installation of XCode, iOS version specific target simulators, Appium, and the appium_capybara gem
|
78
|
-
#==============
|
79
|
-
|
80
|
-
appium_ios: WEB_BROWSER=appium AUTOMATION_ENGINE=XCUITest APP_PLATFORM_NAME="ios" APP_BROWSER="Safari" NEW_COMMAND_TIMEOUT=30 SHOW_SIM_KEYBOARD=false <%= mobile %>
|
81
|
-
app_ios_15: --profile appium_ios APP_VERSION="15.4"
|
82
|
-
|
83
|
-
ipad_pro_12_15_sim: --profile app_ios_15 DEVICE_TYPE=tablet APP_DEVICE="iPad Pro (12.9-inch) (5th generation)"
|
84
|
-
ipad_air_15_sim: --profile app_ios_15 DEVICE_TYPE=tablet APP_DEVICE="iPad Air (5th generation)" <%= desktop %>
|
85
|
-
|
86
|
-
ios_remote: --profile ipad_pro_12_15_sim --profile run_appium ORIENTATION=portrait TEST_ENVIRONMENT=REMOTE
|
87
|
-
|
88
|
-
|
89
|
-
#==============
|
90
|
-
# profiles for Android mobile web browsers hosted within Android Studio Android Virtual Device emulators
|
91
|
-
# NOTE: Requires installation of Android Studio, Android version specific virtual device simulators, Appium, and the appium_capybara gem
|
92
|
-
#==============
|
93
|
-
|
94
|
-
appium_android: WEB_BROWSER=appium APP_PLATFORM_NAME="Android" <%= mobile %>
|
95
|
-
app_android_12: --profile appium_android APP_BROWSER="Chrome" APP_VERSION="12.0"
|
96
|
-
pixel_c_api31_sim: --profile app_android_12 DEVICE_TYPE=tablet APP_DEVICE="Pixel_C_API_31"
|
97
|
-
|
98
|
-
android_remote: --profile pixel_c_api31_sim --profile run_appium ORIENTATION=portrait TEST_ENVIRONMENT=REMOTE
|
99
|
-
|
100
|
-
|
101
|
-
#==============
|
102
|
-
# profiles for remotely hosted web browsers on the BrowserStack service
|
103
|
-
#==============
|
104
|
-
|
105
|
-
browserstack: WEB_BROWSER=browserstack BS_USERNAME="<INSERT USER NAME HERE>" BS_AUTHKEY="<INSERT PASSWORD HERE>" AUTOMATE_PROJECT="TC_Web_Sample - BrowserStack"
|
106
|
-
bs_desktop: --profile browserstack <%= desktop %> RESOLUTION="1920x1080"
|
107
|
-
bs_mobile: --profile browserstack <%= mobile %>
|
108
|
-
|
109
|
-
# BrowserStack macOS desktop browser profiles
|
110
|
-
bs_macos_monterey: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Monterey"
|
111
|
-
bs_chrome_monterey: --profile bs_macos_monterey BS_BROWSER="Chrome" BS_VERSION="latest"
|
112
|
-
bs_edge_monterey: --profile bs_macos_monterey BS_BROWSER="Edge" BS_VERSION="latest"
|
113
|
-
bs_safari_monterey: --profile bs_macos_monterey BS_BROWSER="Safari" BS_VERSION="latest"
|
114
|
-
|
115
|
-
# BrowserStack iOS mobile browser profiles
|
116
|
-
bs_ipad: --profile bs_mobile BS_OS=ios BS_BROWSER=Safari DEVICE_TYPE=tablet BS_REAL_MOBILE="true"
|
117
|
-
bs_ipad_pro_12: --profile bs_ipad BS_DEVICE="iPad Pro 12.9 2018" BS_OS_VERSION="15"
|
118
|
-
|
119
|
-
# BrowserStack Android mobile browser profiles
|
120
|
-
bs_android: --profile bs_mobile BS_OS=android BS_BROWSER=Chrome DEVICE_TYPE=tablet BS_REAL_MOBILE="true"
|
121
|
-
bs_android_tablet: --profile bs_android BS_DEVICE="Samsung Galaxy Tab S7" BS_OS_VERSION="10.0"
|
122
|
-
|
123
|
-
|
124
|
-
#==============
|
125
|
-
# profiles for remotely hosted web browsers on the LambdaTest service
|
126
|
-
#==============
|
127
|
-
|
128
|
-
lambdatest: WEB_BROWSER=lambdatest LT_USERNAME="<INSERT USER NAME HERE>" LT_AUTHKEY="<INSERT PASSWORD HERE>" AUTOMATE_PROJECT="TC_Web_Sample - LambdaTest"
|
129
|
-
lt_desktop: --profile lambdatest <%= desktop %> RESOLUTION="2560x1440"
|
130
|
-
|
131
|
-
# LambdaTest macOS desktop browser profiles
|
132
|
-
lt_macos_monterey: --profile lt_desktop LT_OS="MacOS Monterey"
|
133
|
-
lt_chrome_monterey: --profile lt_macos_monterey LT_BROWSER="Chrome" LT_VERSION="98.0"
|
134
|
-
lt_edge_monterey: --profile lt_macos_monterey LT_BROWSER="MicrosoftEdge" LT_VERSION="97.0"
|
135
|
-
|
136
|
-
|
137
|
-
#==============
|
138
|
-
# profiles for remotely hosted web browsers on the TestingBot service
|
139
|
-
#==============
|
140
|
-
|
141
|
-
testingbot: WEB_BROWSER=testingbot TB_USERNAME="<INSERT USER NAME HERE>" TB_AUTHKEY="<INSERT PASSWORD HERE>" AUTOMATE_PROJECT="TC_Web_Sample - TestingBot"
|
142
|
-
tb_desktop: --profile testingbot <%= desktop %> RESOLUTION="1920x1200"
|
143
|
-
|
144
|
-
# TestingBot macOS desktop browser profiles
|
145
|
-
tb_macos_monterey: --profile tb_desktop TB_OS="MONTEREY"
|
146
|
-
tb_chrome_monterey: --profile tb_macos_monterey TB_BROWSER="chrome" TB_VERSION="latest"
|
147
|
-
tb_edge_monterey: --profile tb_macos_monterey TB_BROWSER="microsoftedge" TB_VERSION="latest"
|
148
|
-
|
149
|
-
|
150
|
-
#==============
|
151
|
-
# profiles for remotely hosted web browsers on the SauceLabs service
|
152
|
-
#==============
|
153
|
-
|
154
|
-
saucelabs: WEB_BROWSER=saucelabs SL_USERNAME="<INSERT USER NAME HERE>" SL_AUTHKEY="<INSERT PASSWORD HERE>" DATA_CENTER="us-west-1" AUTOMATE_PROJECT="TC_Web_Sample - SauceLabs"
|
155
|
-
sl_desktop: --profile saucelabs <%= desktop %>
|
156
|
-
sl_mobile: --profile saucelabs <%= mobile %>
|
157
|
-
|
158
|
-
# SauceLabs macOS desktop browser profiles
|
159
|
-
sl_macos_monterey: --profile sl_desktop SL_OS="macOS 12" RESOLUTION="1920x1440"
|
160
|
-
sl_chrome_monterey: --profile sl_macos_monterey SL_BROWSER="chrome" SL_VERSION="latest"
|
161
|
-
sl_edge_monterey: --profile sl_macos_monterey SL_BROWSER="MicrosoftEdge" SL_VERSION="latest"
|
162
|
-
sl_firefox_monterey: --profile sl_macos_monterey SL_BROWSER="Firefox" SL_VERSION="latest"
|
163
|
-
|
164
|
-
# SauceLabs Windows desktop browser profiles
|
165
|
-
sl_windows: --profile sl_desktop RESOLUTION="1920x1200"
|
166
|
-
sl_edge_win11: --profile sl_windows SL_OS="Windows 11" SL_BROWSER="MicrosoftEdge" SL_VERSION="latest"
|
167
|
-
sl_ie_win10: --profile sl_windows SL_OS="Windows 10" SL_BROWSER="internet explorer" SL_VERSION="11"
|
168
|
-
|
169
|
-
# SauceLabs iOS mobile browser profiles
|
170
|
-
sl_ipad: --profile sl_mobile DEVICE_TYPE=tablet SL_PLATFORM=iOS SL_BROWSER=Safari
|
171
|
-
sl_ipad_pro_12: --profile sl_ipad SL_DEVICE="iPad Pro (12.9 inch) (5th generation) Simulator" SL_VERSION="15.0"
|
data/config/locales/en-US.yml
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
# Localization file for English/U.S. locale.
|
2
|
-
|
3
|
-
en-US:
|
4
|
-
time:
|
5
|
-
formats:
|
6
|
-
default: "%m/%d/%Y"
|
7
|
-
long: "%B %d, %Y"
|
8
|
-
short: "%b %d"
|
9
|
-
abbrev: "%b %d, %Y"
|
10
|
-
abbrev_month: "%b"
|
11
|
-
month_year: "%B %Y"
|
12
|
-
date:
|
13
|
-
abbr_day_names:
|
14
|
-
- Sun
|
15
|
-
- Mon
|
16
|
-
- Tue
|
17
|
-
- Wed
|
18
|
-
- Thu
|
19
|
-
- Fri
|
20
|
-
- Sat
|
21
|
-
abbr_month_names:
|
22
|
-
-
|
23
|
-
- Jan
|
24
|
-
- Feb
|
25
|
-
- Mar
|
26
|
-
- Apr
|
27
|
-
- May
|
28
|
-
- Jun
|
29
|
-
- Jul
|
30
|
-
- Aug
|
31
|
-
- Sep
|
32
|
-
- Oct
|
33
|
-
- Nov
|
34
|
-
- Dec
|
35
|
-
day_names:
|
36
|
-
- Sunday
|
37
|
-
- Monday
|
38
|
-
- Tuesday
|
39
|
-
- Wednesday
|
40
|
-
- Thursday
|
41
|
-
- Friday
|
42
|
-
- Saturday
|
43
|
-
month_names:
|
44
|
-
-
|
45
|
-
- January
|
46
|
-
- February
|
47
|
-
- March
|
48
|
-
- April
|
49
|
-
- May
|
50
|
-
- June
|
51
|
-
- July
|
52
|
-
- August
|
53
|
-
- September
|
54
|
-
- October
|
55
|
-
- November
|
56
|
-
- December
|
@@ -1,15 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"Form_data": {
|
3
|
-
"primary": {
|
4
|
-
"username": "Thaddeus Eumbwebwe",
|
5
|
-
"password": "Pa55w0rd",
|
6
|
-
"image_filename": "Granny.jpg",
|
7
|
-
"multi_select": "Selection Item 3",
|
8
|
-
"drop_down_item": "Drop Down Item 3",
|
9
|
-
"check1": false,
|
10
|
-
"check2": true,
|
11
|
-
"check3": true,
|
12
|
-
"radio_select": 1
|
13
|
-
}
|
14
|
-
}
|
15
|
-
}
|
Binary file
|
data/config/test_data/data.json
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"Environments": {
|
3
|
-
"LOCAL": {
|
4
|
-
"PROTOCOL": "file",
|
5
|
-
"BASE_URL": "/../../test_site"
|
6
|
-
},
|
7
|
-
"REMOTE": {
|
8
|
-
"PROTOCOL": "http",
|
9
|
-
"BASE_URL": "192.168.1.129/test_site"
|
10
|
-
}
|
11
|
-
},
|
12
|
-
"Form_data": {
|
13
|
-
"primary": {
|
14
|
-
"username": "Thaddeus Eumbwebwe",
|
15
|
-
"password": "Pa55w0rd",
|
16
|
-
"image_filename": "Granny.jpg",
|
17
|
-
"multi_select": "Selection Item 3",
|
18
|
-
"drop_down_item": "Drop Down Item 3",
|
19
|
-
"check1": false,
|
20
|
-
"check2": true,
|
21
|
-
"check3": true,
|
22
|
-
"radio_select": 1
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}
|
data/config/test_data/data.xls
DELETED
Binary file
|
data/config/test_data/data.yml
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
# This section is populated with Environment data required to execute automated test suites on all supported environments
|
2
|
-
Environments:
|
3
|
-
LOCAL:
|
4
|
-
PROTOCOL: "file"
|
5
|
-
BASE_URL: "/../../test_site"
|
6
|
-
REMOTE:
|
7
|
-
PROTOCOL: "http"
|
8
|
-
BASE_URL: "192.168.1.129/test_site"
|
9
|
-
|
10
|
-
Form_data:
|
11
|
-
primary:
|
12
|
-
username: "Xavier Snicklefritz"
|
13
|
-
password: "Pa55W0rd"
|
14
|
-
image_filename: "Wilder.jpg"
|
15
|
-
multi_select: "Selection Item 1"
|
16
|
-
drop_down_item: "Drop Down Item 2"
|
17
|
-
check1: true
|
18
|
-
check2: true
|
19
|
-
check3: true
|
20
|
-
radio_select: 3
|
data/docker-compose.yml
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
# To execute this docker-compose yml file use `docker-compose -f docker-compose.yml up`
|
2
|
-
# Add the `-d` flag at the end for detached execution
|
3
|
-
# To stop the execution, hit Ctrl+C, and then `docker-compose -f docker-compose.yml down`
|
4
|
-
version: "3"
|
5
|
-
services:
|
6
|
-
chrome:
|
7
|
-
image: selenium/node-chrome:4.1.2-20220217
|
8
|
-
shm_size: 2gb
|
9
|
-
depends_on:
|
10
|
-
- selenium-hub
|
11
|
-
environment:
|
12
|
-
- SE_EVENT_BUS_HOST=selenium-hub
|
13
|
-
- SE_EVENT_BUS_PUBLISH_PORT=4442
|
14
|
-
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
|
15
|
-
- SE_NODE_MAX_SESSIONS=4
|
16
|
-
- SE_NODE_OVERRIDE_MAX_SESSIONS=true
|
17
|
-
|
18
|
-
edge:
|
19
|
-
image: selenium/node-edge:4.1.2-20220217
|
20
|
-
shm_size: 2gb
|
21
|
-
depends_on:
|
22
|
-
- selenium-hub
|
23
|
-
environment:
|
24
|
-
- SE_EVENT_BUS_HOST=selenium-hub
|
25
|
-
- SE_EVENT_BUS_PUBLISH_PORT=4442
|
26
|
-
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
|
27
|
-
- SE_NODE_MAX_SESSIONS=4
|
28
|
-
- SE_NODE_OVERRIDE_MAX_SESSIONS=true
|
29
|
-
|
30
|
-
firefox:
|
31
|
-
image: selenium/node-firefox:4.1.2-20220217
|
32
|
-
shm_size: 2gb
|
33
|
-
depends_on:
|
34
|
-
- selenium-hub
|
35
|
-
environment:
|
36
|
-
- SE_EVENT_BUS_HOST=selenium-hub
|
37
|
-
- SE_EVENT_BUS_PUBLISH_PORT=4442
|
38
|
-
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
|
39
|
-
- SE_NODE_MAX_SESSIONS=4
|
40
|
-
- SE_NODE_OVERRIDE_MAX_SESSIONS=true
|
41
|
-
|
42
|
-
selenium-hub:
|
43
|
-
image: selenium/hub:4.1.2-20220217
|
44
|
-
container_name: selenium-hub
|
45
|
-
ports:
|
46
|
-
- "4442:4442"
|
47
|
-
- "4443:4443"
|
48
|
-
- "4444:4444"
|
@@ -1,54 +0,0 @@
|
|
1
|
-
Feature: Basic HTML Form Test Page using CSS locators
|
2
|
-
In order to ensure comprehensive support for HTML UI elements and forms
|
3
|
-
As a developer of the TestCentricity web gem
|
4
|
-
I expect to validate the interaction and verification capabilities of typical HTML form UI elements
|
5
|
-
|
6
|
-
|
7
|
-
Background:
|
8
|
-
Given I am on the Basic CSS Form page
|
9
|
-
|
10
|
-
|
11
|
-
Scenario: Validate verify_ui_states method and associated object state verification methods
|
12
|
-
Then I expect the Basic CSS Form page to be correctly displayed
|
13
|
-
|
14
|
-
|
15
|
-
@!mobile @!firefox_headless @!firefox_grid
|
16
|
-
Scenario: Validate verify_focus_order method
|
17
|
-
Then I expect the tab order to be correct
|
18
|
-
|
19
|
-
|
20
|
-
Scenario: Validate populate_data_fields method and associated object action methods
|
21
|
-
When I populate the form fields
|
22
|
-
Then I expect the form fields to be correctly populated
|
23
|
-
When I cancel my changes
|
24
|
-
Then I expect the Basic CSS Form page to be correctly displayed
|
25
|
-
|
26
|
-
|
27
|
-
Scenario Outline: Choose selectlist options by index, value, and text
|
28
|
-
When I choose selectlist options by <method>
|
29
|
-
Then I expect the selected option to be displayed
|
30
|
-
|
31
|
-
Examples:
|
32
|
-
|method |
|
33
|
-
|index |
|
34
|
-
|text |
|
35
|
-
|
36
|
-
@!safari @!firefox @!firefox_headless
|
37
|
-
Examples:
|
38
|
-
|method |
|
39
|
-
|value |
|
40
|
-
|
41
|
-
|
42
|
-
Scenario Outline: Verify functionality of navigation tabs and browser back/forward
|
43
|
-
When I click the <target_page> navigation tab
|
44
|
-
Then I expect the <target_page> page to be correctly displayed
|
45
|
-
When I navigate back
|
46
|
-
Then I should be on the Basic CSS Form page
|
47
|
-
When I navigate forward
|
48
|
-
Then I should be on the <target_page> page
|
49
|
-
|
50
|
-
Examples:
|
51
|
-
|target_page |
|
52
|
-
|Media Test |
|
53
|
-
|Indexed Sections |
|
54
|
-
|Custom Controls |
|
@@ -1,26 +0,0 @@
|
|
1
|
-
@!grid @!mobile @!headless
|
2
|
-
|
3
|
-
|
4
|
-
Feature: Basic HTML Form Test Page using Xpath locators
|
5
|
-
In order to ensure comprehensive support for HTML UI elements and forms
|
6
|
-
As a developer of the TestCentricity web gem
|
7
|
-
I expect to validate the interaction and verification capabilities of typical HTML form UI elements
|
8
|
-
|
9
|
-
|
10
|
-
Background:
|
11
|
-
Given I am on the Basic Xpath Form page
|
12
|
-
|
13
|
-
|
14
|
-
Scenario: Validate verify_ui_states method and associated object state verification methods
|
15
|
-
Then I expect the Basic Xpath Form page to be correctly displayed
|
16
|
-
|
17
|
-
|
18
|
-
Scenario: Validate verify_focus_order method
|
19
|
-
Then I expect the tab order to be correct
|
20
|
-
|
21
|
-
|
22
|
-
Scenario: Validate populate_data_fields method and associated object action methods
|
23
|
-
When I populate the form fields
|
24
|
-
Then I expect the form fields to be correctly populated
|
25
|
-
When I cancel my changes
|
26
|
-
Then I expect the Basic Xpath Form page to be correctly displayed
|
@@ -1,29 +0,0 @@
|
|
1
|
-
Feature: Custom Controls
|
2
|
-
In order to ensure comprehensive support for custom UI elements
|
3
|
-
As a developer of the TestCentricity web gem
|
4
|
-
I expect to validate the interaction and verification capabilities of custom UI elements
|
5
|
-
|
6
|
-
|
7
|
-
Background:
|
8
|
-
Given I am on the Custom Controls page
|
9
|
-
|
10
|
-
|
11
|
-
Scenario: Validate populate_data_fields method and associated object action methods
|
12
|
-
When I populate the form fields
|
13
|
-
Then I expect the form fields to be correctly populated
|
14
|
-
|
15
|
-
|
16
|
-
@!safari @!firefox @!firefox_headless @!ios
|
17
|
-
Scenario: Use custom select list input field to choose options
|
18
|
-
When I choose custom select options by typing
|
19
|
-
Then I expect the form fields to be correctly populated
|
20
|
-
|
21
|
-
|
22
|
-
Scenario Outline: Choose selectlist options by index and text
|
23
|
-
When I choose selectlist options by <method>
|
24
|
-
Then I expect the selected option to be displayed
|
25
|
-
|
26
|
-
Examples:
|
27
|
-
|method |
|
28
|
-
|index |
|
29
|
-
|text |
|