Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion intro/Gemfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
source 'https://rubygems.org'

gem 'capybara', '~> 3.13', '>= 3.13.2' # Released: January 24, 2019
gem 'capybara' # Released: January 24, 2019
gem 'rexml'
gem 'rspec', '~> 3.8' # Released: August 4, 2018
gem 'rubocop', '~> 0.65.0' # Released: Feb 19, 2019
gem 'selenium-webdriver', '~> 3.141' # Released: November 1, 2018
Expand Down
91 changes: 49 additions & 42 deletions intro/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,51 +1,56 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
ast (2.4.0)
capybara (3.29.0)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
capybara (3.39.2)
addressable
matrix
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (~> 1.5)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
childprocess (3.0.0)
diff-lcs (1.3)
ffi (1.12.2)
jaro_winkler (1.5.4)
launchy (2.4.3)
addressable (~> 2.3)
mini_mime (1.0.2)
mini_portile2 (2.4.0)
nokogiri (1.10.8)
mini_portile2 (~> 2.4.0)
parallel (1.19.0)
parser (2.6.5.0)
ast (~> 2.4.0)
powerpack (0.1.2)
psych (3.1.0)
public_suffix (4.0.1)
rack (2.0.7)
rack-test (1.1.0)
rack (>= 1.0, < 3)
rainbow (3.0.0)
regexp_parser (1.6.0)
rspec (3.9.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-core (3.9.0)
rspec-support (~> 3.9.0)
rspec-expectations (3.9.0)
diff-lcs (1.5.0)
ffi (1.16.2)
jaro_winkler (1.5.6)
launchy (2.5.2)
addressable (~> 2.8)
matrix (0.4.2)
mini_mime (1.1.5)
nokogiri (1.15.4-x86_64-darwin)
racc (~> 1.4)
parallel (1.23.0)
parser (3.2.2.3)
ast (~> 2.4.1)
racc
powerpack (0.1.3)
psych (5.1.0)
stringio
public_suffix (5.0.3)
racc (1.7.1)
rack (3.0.8)
rack-test (2.1.0)
rack (>= 1.3)
rainbow (3.1.1)
regexp_parser (2.8.1)
rexml (3.2.6)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-mocks (3.9.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-support (3.9.0)
rspec-support (~> 3.12.0)
rspec-support (3.12.1)
rubocop (0.65.0)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
Expand All @@ -55,11 +60,12 @@ GEM
rainbow (>= 2.2.2, < 4.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.4.0)
ruby-progressbar (1.10.1)
rubyzip (2.0.0)
selenium-webdriver (3.142.6)
ruby-progressbar (1.13.0)
rubyzip (2.3.2)
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
stringio (3.0.8)
unicode-display_width (1.4.1)
webdrivers (4.1.3)
nokogiri (~> 1.6)
Expand All @@ -69,16 +75,17 @@ GEM
nokogiri (~> 1.8)

PLATFORMS
ruby
x86_64-darwin-22

DEPENDENCIES
capybara (~> 3.13, >= 3.13.2)
capybara
ffi (~> 1.11, >= 1.11.3)
launchy (~> 2.4, >= 2.4.3)
rexml
rspec (~> 3.8)
rubocop (~> 0.65.0)
selenium-webdriver (~> 3.141)
webdrivers (~> 4.1.0)

BUNDLED WITH
1.17.2
2.4.20
50 changes: 45 additions & 5 deletions intro/spec/features/01_visit_home_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,57 @@
expect(page).to have_current_path('https://the-internet.herokuapp.com')
end

scenario 'Verify Link Exists: Form Authentication' do
scenario 'Verify Page Links Exist' do
expect(page).to have_link('A/B Testing')
expect(page).to have_link('Add/Remove Elements')
expect(page).to have_link('Basic Auth')
expect(page).to have_link('Broken Images')
expect(page).to have_link('Challenging DOM')
expect(page).to have_link('Checkboxes')
expect(page).to have_link('Context Menu')
expect(page).to have_link('Digest Authentication')
expect(page).to have_link('Disappearing Elements')
expect(page).to have_link('Drag and Drop')
expect(page).to have_link('Dropdown')
expect(page).to have_link('Dynamic Content')
expect(page).to have_link('Dynamic Controls')
expect(page).to have_link('Dynamic Loading')
expect(page).to have_link('Entry Ad')
expect(page).to have_link('Exit Intent')
expect(page).to have_link('File Download')
expect(page).to have_link('File Upload')
expect(page).to have_link('Floating Menu')
expect(page).to have_link('Forgot Password')
expect(page).to have_link('Form Authentication')
expect(page).to have_link('Frames')
expect(page).to have_link('Geolocation')
expect(page).to have_link('Horizontal Slider')
expect(page).to have_link('Hovers')
expect(page).to have_link('Infinite Scroll')
expect(page).to have_link('Inputs')
expect(page).to have_link('JQuery UI Menus')
expect(page).to have_link('JavaScript Alerts')
expect(page).to have_link('JavaScript onload event error')
expect(page).to have_link('Key Presses')
expect(page).to have_link('Large & Deep DOM')
expect(page).to have_link('Multiple Windows')
expect(page).to have_link('Nested Frames')
expect(page).to have_link('Notification Messages')
expect(page).to have_link('Redirect Link')
expect(page).to have_link('Secure File Download')
expect(page).to have_link('Shadow DOM')
expect(page).to have_link('Shifting Content')
expect(page).to have_link('Slow Resources')
expect(page).to have_link('Sortable Data Tables')
expect(page).to have_link('Status Codes')
expect(page).to have_link('Typos')
expect(page).to have_link('WYSIWYG Editor')
end

scenario 'Click Link: Form Authentication ==> Navigate to /login' do
click_link('Form Authentication')
expect(page).to have_current_path('/login')
end

scenario 'Verify Link Exists: Dropdown' do
expect(page).to have_link('Dropdown')
expect(page).to have_content('Login Page')
end

scenario 'Click On: Dropdown ==> Navigate to /dropdown' do
Expand Down
6 changes: 6 additions & 0 deletions intro/spec/features/02_within_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,10 @@
expect(page).to have_content('checkbox 2')
end
end

scenario 'Within (Page Footer): Elemental Selenium' do
within('div#page-footer.row') do
expect(page).to have_link('Elemental Selenium')
end
end
end
5 changes: 4 additions & 1 deletion intro/spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@
require 'bundler'
require 'capybara/dsl'
require 'capybara/rspec'
#require 'capybara/rails' #add this if the application being tested is a rails app

Bundler.setup(:default)
Bundler.require

# Which default browser do you want Selenium WebDriver to use?
# :selenium_chrome # Selenium driving Chrome
# :selenium_chrome_headless # Selenium driving Chrome in a headless configuration
# :selenium # Selenium driving firefox
# :selenium_headless #selenium driving Firefox in a headless configuration
# https://github.com/teamcapybara/capybara#selenium

Capybara.default_driver = :selenium_chrome
Capybara.default_driver = :selenium
Capybara.app_host = 'https://the-internet.herokuapp.com'
Capybara.default_max_wait_time = 10

Expand Down