|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require 'rspec/core'
|
|
|
|
require 'rspec/expectations'
|
|
|
|
require 'capybara/rspec'
|
|
|
|
require 'capybara-screenshot/rspec'
|
|
|
|
require 'selenium-webdriver'
|
| ... | ... | @@ -27,13 +28,12 @@ module QA |
|
|
|
# In case of an address that is a symbol we will try to guess address
|
|
|
|
# based on `Runtime::Scenario#something_address`.
|
|
|
|
#
|
|
|
|
def visit(address, page = nil, &block)
|
|
|
|
Browser::Session.new(address, page).perform(&block)
|
|
|
|
def visit(address, page_class, &block)
|
|
|
|
Browser::Session.new(address, page_class).perform(&block)
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.visit(address, page = nil, &block)
|
|
|
|
new.visit(address, page, &block)
|
|
|
|
page.validate_elements_present!
|
|
|
|
def self.visit(address, page_class, &block)
|
|
|
|
new.visit(address, page_class, &block)
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.configure!
|
| ... | ... | @@ -128,8 +128,11 @@ module QA |
|
|
|
class Session
|
|
|
|
include Capybara::DSL
|
|
|
|
|
|
|
|
def initialize(instance, page = nil)
|
|
|
|
@session_address = Runtime::Address.new(instance, page)
|
|
|
|
attr_reader :page_class
|
|
|
|
|
|
|
|
def initialize(instance, page_class)
|
|
|
|
@session_address = Runtime::Address.new(instance, page_class)
|
|
|
|
@page_class = page_class
|
|
|
|
end
|
|
|
|
|
|
|
|
def url
|
| ... | ... | @@ -139,6 +142,8 @@ module QA |
|
|
|
def perform(&block)
|
|
|
|
visit(url)
|
|
|
|
|
|
|
|
page_class.validate_elements_present!
|
|
|
|
|
|
|
|
if QA::Runtime::Env.qa_cookies
|
|
|
|
browser = Capybara.current_session.driver.browser
|
|
|
|
QA::Runtime::Env.qa_cookies.each do |cookie|
|
| ... | ... | |
| ... | ... | |