howitzer 2.0.0 → 2.0.1
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/.rubocop.yml +3 -0
- data/CHANGELOG.md +21 -1
- data/features/cli_new.feature +1 -0
- data/features/cli_update.feature +1 -0
- data/generators/base_generator.rb +3 -1
- data/generators/config/templates/capybara.rb +1 -1
- data/generators/config/templates/default.yml +4 -2
- data/generators/cucumber/cucumber_generator.rb +1 -0
- data/generators/cucumber/templates/common_steps.rb +1 -1
- data/generators/cucumber/templates/env.rb +0 -28
- data/generators/cucumber/templates/hooks.rb +29 -0
- data/generators/prerequisites/templates/user.rb +2 -0
- data/generators/prerequisites/templates/users.rb +2 -2
- data/generators/root/templates/Gemfile.erb +1 -1
- data/generators/rspec/templates/spec_helper.rb +9 -2
- data/generators/turnip/templates/spec_helper.rb +9 -2
- data/generators/web/templates/example_page.rb +0 -1
- data/howitzer.gemspec +1 -3
- data/lib/howitzer.rb +7 -0
- data/lib/howitzer/cache.rb +1 -1
- data/lib/howitzer/capybara_helpers.rb +2 -2
- data/lib/howitzer/email.rb +26 -8
- data/lib/howitzer/exceptions.rb +19 -19
- data/lib/howitzer/mail_adapters/abstract.rb +4 -3
- data/lib/howitzer/mail_adapters/mailgun.rb +6 -5
- data/lib/howitzer/mailgun_api/client.rb +1 -1
- data/lib/howitzer/version.rb +1 -1
- data/lib/howitzer/web/base_section.rb +3 -3
- data/lib/howitzer/web/capybara_context_holder.rb +19 -0
- data/lib/howitzer/web/capybara_methods_proxy.rb +27 -19
- data/lib/howitzer/web/element_dsl.rb +52 -13
- data/lib/howitzer/web/iframe_dsl.rb +3 -7
- data/lib/howitzer/web/page.rb +14 -21
- data/lib/howitzer/web/page_dsl.rb +32 -4
- data/lib/howitzer/web/page_validator.rb +15 -16
- data/lib/howitzer/web/section_dsl.rb +3 -7
- data/spec/config/custom.yml +1 -1
- data/spec/spec_helper.rb +1 -7
- data/spec/support/shared_examples/capybara_context_holder.rb +3 -3
- data/spec/support/shared_examples/element_dsl.rb +128 -18
- data/spec/unit/generators/base_generator_spec.rb +15 -16
- data/spec/unit/generators/cucumber_generator_spec.rb +2 -0
- data/spec/unit/generators/root_generator_spec.rb +1 -1
- data/spec/unit/lib/capybara_helpers_spec.rb +2 -2
- data/spec/unit/lib/email_spec.rb +37 -6
- data/spec/unit/lib/{howitzer.rb → howitzer_spec.rb} +9 -0
- data/spec/unit/lib/mail_adapters/abstract_spec.rb +1 -1
- data/spec/unit/lib/mail_adapters/mailgun_spec.rb +4 -4
- data/spec/unit/lib/web/base_section_spec.rb +3 -1
- data/spec/unit/lib/web/element_dsl_spec.rb +7 -2
- data/spec/unit/lib/web/page_dsl_spec.rb +22 -0
- data/spec/unit/lib/web/page_spec.rb +79 -44
- data/spec/unit/lib/web/page_validator_spec.rb +94 -51
- data/spec/unit/lib/web/section_spec.rb +4 -2
- metadata +10 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0462470e4e9b727be8229a5a30f4d677daacd06
|
4
|
+
data.tar.gz: 50f292514b58d7bf57b52f6dc2cc7f0dda26c2d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6efa7374c1460bca6a650c42267525a4f2f6d1362e95cac070dc4dab101d7d3c9652a93bd898f933a0655da25856c2e281b6d2542101015329aa93a9c60d51dd
|
7
|
+
data.tar.gz: 91f1a0ec11ab2fdc23d744773bb3802aefe18fff33f465e185824002f4cfa6f8c07be9722b2c967f3228bcea0952457f44061cef13bf941f545a563fddc9d61c
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,29 @@
|
|
1
|
-
## [In git](https://github.com/strongqa/howitzer/compare/v2.0.
|
1
|
+
## [In git](https://github.com/strongqa/howitzer/compare/v2.0.1...master)
|
2
2
|
|
3
3
|
### New Features
|
4
4
|
|
5
5
|
### Bugfixes
|
6
6
|
|
7
|
+
## [v2.0.1](https://github.com/strongqa/howitzer/compare/v2.0.0...v2.0.1)
|
8
|
+
|
9
|
+
### New Features
|
10
|
+
- New rubocop changes supporting
|
11
|
+
- Add custom page url processor supporting
|
12
|
+
- Limited Selenium to v2.x
|
13
|
+
- Add ability to use instance variables and methods from outer cotext in page dsl
|
14
|
+
- Add wait time dsl method for particular email
|
15
|
+
- Implement wait_for_xxx_element method for sync
|
16
|
+
- Implement within_xxx_element method like Capybara.within
|
17
|
+
|
18
|
+
### Bugfixes
|
19
|
+
- [#188](https://github.com/strongqa/howitzer/issues/188) Page validation by element presence does not work properly
|
20
|
+
- [#191](https://github.com/strongqa/howitzer/issues/191) Generated project is broken
|
21
|
+
- [#195](https://github.com/strongqa/howitzer/issues/195) Incorrect parameters passing in lambda locators
|
22
|
+
- [#200](https://github.com/strongqa/howitzer/issues/200) capybara-screenshot does not work
|
23
|
+
- [#205](https://github.com/strongqa/howitzer/issues/205) Fix incorrect page identification on failed test
|
24
|
+
- Fix issue for IE in configs
|
25
|
+
- Fix issue found in generated prerequisites
|
26
|
+
|
7
27
|
## [v2.0.0](https://github.com/strongqa/howitzer/compare/v1.1.1...v2.0.0)
|
8
28
|
|
9
29
|
### New Features
|
data/features/cli_new.feature
CHANGED
@@ -141,6 +141,7 @@ Feature: Howitzer CLI New Project Creation
|
|
141
141
|
* Cucumber integration to the framework ...
|
142
142
|
Added 'features/step_definitions/common_steps.rb' file
|
143
143
|
Added 'features/support/env.rb' file
|
144
|
+
Added 'features/support/hooks.rb' file
|
144
145
|
Added 'features/support/transformers.rb' file
|
145
146
|
Added 'features/example.feature' file
|
146
147
|
Added 'tasks/cucumber.rake' file
|
data/features/cli_update.feature
CHANGED
@@ -107,6 +107,7 @@ Feature: Howitzer CLI Update Existing Project
|
|
107
107
|
* Cucumber integration to the framework ...
|
108
108
|
Identical 'features/step_definitions/common_steps.rb' file
|
109
109
|
Identical 'features/support/env.rb' file
|
110
|
+
Identical 'features/support/hooks.rb' file
|
110
111
|
Identical 'features/support/transformers.rb' file
|
111
112
|
Identical 'features/example.feature' file
|
112
113
|
Identical 'tasks/cucumber.rake' file
|
@@ -153,4 +153,4 @@ Capybara::Screenshot.append_timestamp = false
|
|
153
153
|
Capybara::Screenshot.register_filename_prefix_formatter(:default) do
|
154
154
|
"capybara-screenshot-#{Gen.serial}"
|
155
155
|
end
|
156
|
-
Capybara::Screenshot.prune_strategy = :
|
156
|
+
Capybara::Screenshot.prune_strategy = :keep_all
|
@@ -12,6 +12,7 @@
|
|
12
12
|
|
13
13
|
app_api_token:
|
14
14
|
app_api_end_point: "api/v1"
|
15
|
+
app_api_protocol: http
|
15
16
|
|
16
17
|
###########################################################
|
17
18
|
# TEST ENVIRONMENTS SETTINGS #
|
@@ -59,7 +60,6 @@
|
|
59
60
|
cloud_bstack_resolution: '1024x768'
|
60
61
|
cloud_bstack_project: 'Howitzer Example'
|
61
62
|
cloud_bstack_build: 'v1'
|
62
|
-
cloud_bstack_resolution: '1024x768'
|
63
63
|
cloud_bstack_mobile_device:
|
64
64
|
|
65
65
|
###########################################################
|
@@ -81,7 +81,9 @@
|
|
81
81
|
# MAIL SETTINGS #
|
82
82
|
###########################################################
|
83
83
|
mail_adapter: mailgun
|
84
|
+
mail_wait_time: 60
|
85
|
+
|
86
|
+
# -Mailgun- (http://www.mailgun.com/)
|
84
87
|
mailgun_key: mailgun_account_private_key
|
85
88
|
mailgun_domain: mailgun_domain_with_stored_method
|
86
|
-
mailgun_idle_timeout: 60
|
87
89
|
mailgun_sleep_time: 3
|
@@ -8,6 +8,7 @@ module Howitzer
|
|
8
8
|
[
|
9
9
|
{ source: 'common_steps.rb', destination: 'features/step_definitions/common_steps.rb' },
|
10
10
|
{ source: 'env.rb', destination: 'features/support/env.rb' },
|
11
|
+
{ source: 'hooks.rb', destination: 'features/support/hooks.rb' },
|
11
12
|
{ source: 'transformers.rb', destination: 'features/support/transformers.rb' },
|
12
13
|
{ source: 'example.feature', destination: 'features/example.feature' },
|
13
14
|
{ source: 'cucumber.rake', destination: 'tasks/cucumber.rake' }
|
@@ -10,31 +10,3 @@ FileUtils.mkdir_p(Howitzer.log_dir)
|
|
10
10
|
Howitzer::Log.settings_as_formatted_text
|
11
11
|
Howitzer::Cache.store(:cloud, :start_time, Time.now.utc)
|
12
12
|
Howitzer::Cache.store(:cloud, :status, true)
|
13
|
-
|
14
|
-
Before do |scenario|
|
15
|
-
Capybara.use_default_driver
|
16
|
-
Howitzer::Log.print_feature_name(scenario.feature.name)
|
17
|
-
Howitzer::Log.print_scenario_name(scenario.name)
|
18
|
-
@session_start = CapybaraHelpers.duration(Time.now.utc - Howitzer::Cache.extract(:cloud, :start_time))
|
19
|
-
end
|
20
|
-
|
21
|
-
After do |scenario|
|
22
|
-
if CapybaraHelpers.cloud_driver?
|
23
|
-
Howitzer::Cache.store(:cloud, :status, false) if scenario.failed?
|
24
|
-
session_end = CapybaraHelpers.duration(Time.now.utc - Howitzer::Cache.extract(:cloud, :start_time))
|
25
|
-
Howitzer::Log.info "CLOUD VIDEO #{@session_start} - #{session_end}" \
|
26
|
-
" URL: #{CapybaraHelpers.cloud_resource_path(:video)}"
|
27
|
-
elsif CapybaraHelpers.ie_browser?
|
28
|
-
Howitzer::Log.info 'IE reset session'
|
29
|
-
page.execute_script("void(document.execCommand('ClearAuthenticationCache', false));")
|
30
|
-
end
|
31
|
-
Howitzer::Cache.clear_all_ns
|
32
|
-
Capybara.reset_sessions!
|
33
|
-
end
|
34
|
-
|
35
|
-
at_exit do
|
36
|
-
if CapybaraHelpers.cloud_driver?
|
37
|
-
Howitzer::Log.info "CLOUD SERVER LOG URL: #{CapybaraHelpers.cloud_resource_path(:server_log)}"
|
38
|
-
CapybaraHelpers.update_cloud_job_status(passed: Howitzer::Cache.extract(:cloud, :status))
|
39
|
-
end
|
40
|
-
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Before do |scenario|
|
2
|
+
Capybara.use_default_driver
|
3
|
+
Howitzer::Log.print_feature_name(scenario.feature.name)
|
4
|
+
Howitzer::Log.print_scenario_name(scenario.name)
|
5
|
+
@session_start = CapybaraHelpers.duration(Time.now.utc - Howitzer::Cache.extract(:cloud, :start_time))
|
6
|
+
end
|
7
|
+
|
8
|
+
After do |scenario|
|
9
|
+
if CapybaraHelpers.cloud_driver?
|
10
|
+
Howitzer::Cache.store(:cloud, :status, false) if scenario.failed?
|
11
|
+
session_end = CapybaraHelpers.duration(Time.now.utc - Howitzer::Cache.extract(:cloud, :start_time))
|
12
|
+
Howitzer::Log.info "CLOUD VIDEO #{@session_start} - #{session_end}" \
|
13
|
+
" URL: #{CapybaraHelpers.cloud_resource_path(:video)}"
|
14
|
+
elsif CapybaraHelpers.ie_browser?
|
15
|
+
Howitzer::Log.info 'IE reset session'
|
16
|
+
Capybara.current_session.execute_script("void(document.execCommand('ClearAuthenticationCache', false));")
|
17
|
+
end
|
18
|
+
Howitzer::Cache.clear_all_ns
|
19
|
+
Capybara.reset_sessions!
|
20
|
+
end
|
21
|
+
|
22
|
+
at_exit do
|
23
|
+
if CapybaraHelpers.cloud_driver?
|
24
|
+
Howitzer::Log.info "CLOUD SERVER LOG URL: #{CapybaraHelpers.cloud_resource_path(:server_log)}"
|
25
|
+
CapybaraHelpers.update_cloud_job_status(passed: Howitzer::Cache.extract(:cloud, :status))
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
require 'capybara-screenshot/cucumber'
|
@@ -1,7 +1,7 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :user do
|
3
|
-
email { "u#{serial}@#{Howitzer.mailgun_domain}" }
|
4
|
-
name { "FirstName LastName #{serial}" }
|
3
|
+
email { "u#{Gen.serial}@#{Howitzer.mailgun_domain}" }
|
4
|
+
name { "FirstName LastName #{Gen.serial}" }
|
5
5
|
password { Howitzer.app_test_pass }
|
6
6
|
password_confirmation { Howitzer.app_test_pass }
|
7
7
|
|
@@ -8,7 +8,7 @@ source 'https://rubygems.org'
|
|
8
8
|
gem 'howitzer'
|
9
9
|
# Uncomment it if you are going to use 'poltergeist' driver. PhantomJS should be installed.
|
10
10
|
# See https://github.com/jnicklas/capybara#poltergeist
|
11
|
-
# gem 'poltergeist',
|
11
|
+
# gem 'poltergeist', git: 'https://github.com/teampoltergeist/poltergeist.git', branch: :master
|
12
12
|
gem 'rest-client'
|
13
13
|
gem 'repeater'
|
14
14
|
gem 'factory_girl'
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'capybara-screenshot/rspec'
|
2
1
|
require 'capybara/rspec/features'
|
3
2
|
require_relative '../config/boot'
|
4
3
|
require_relative '../config/capybara'
|
@@ -35,7 +34,7 @@ RSpec.configure do |config|
|
|
35
34
|
" URL: #{CapybaraHelpers.cloud_resource_path(:video)}"
|
36
35
|
elsif CapybaraHelpers.ie_browser?
|
37
36
|
Howitzer::Log.info 'IE reset session'
|
38
|
-
|
37
|
+
Capybara.current_session.execute_script("void(document.execCommand('ClearAuthenticationCache', false));")
|
39
38
|
end
|
40
39
|
Capybara.reset_sessions!
|
41
40
|
Capybara.use_default_driver
|
@@ -55,3 +54,11 @@ RSpec.configure do |config|
|
|
55
54
|
end
|
56
55
|
end
|
57
56
|
end
|
57
|
+
|
58
|
+
# We include Capybara::DSL in Howitzer::Web::Page, but capybara-screenshot hooks rely on this mixin.
|
59
|
+
RSpec::Core::ExampleGroup.instance_eval do
|
60
|
+
def include?(value)
|
61
|
+
value == Capybara::DSL ? true : super
|
62
|
+
end
|
63
|
+
end
|
64
|
+
require 'capybara-screenshot/rspec'
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'capybara-screenshot/rspec'
|
2
1
|
require_relative '../config/boot'
|
3
2
|
require_relative '../config/capybara'
|
4
3
|
|
@@ -34,7 +33,7 @@ RSpec.configure do |config|
|
|
34
33
|
" URL: #{CapybaraHelpers.cloud_resource_path(:video)}"
|
35
34
|
elsif CapybaraHelpers.ie_browser?
|
36
35
|
Howitzer::Log.info 'IE reset session'
|
37
|
-
|
36
|
+
Capybara.current_session.execute_script("void(document.execCommand('ClearAuthenticationCache', false));")
|
38
37
|
end
|
39
38
|
Capybara.reset_sessions!
|
40
39
|
Capybara.use_default_driver
|
@@ -54,3 +53,11 @@ RSpec.configure do |config|
|
|
54
53
|
end
|
55
54
|
end
|
56
55
|
end
|
56
|
+
|
57
|
+
# We include Capybara::DSL in Howitzer::Web::Page, but capybara-screenshot hooks rely on this mixin.
|
58
|
+
RSpec::Core::ExampleGroup.instance_eval do
|
59
|
+
def include?(value)
|
60
|
+
value == Capybara::DSL ? true : super
|
61
|
+
end
|
62
|
+
end
|
63
|
+
require 'capybara-screenshot/rspec'
|
data/howitzer.gemspec
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
1
|
require File.expand_path('../lib/howitzer/version', __FILE__)
|
4
2
|
|
5
3
|
Gem::Specification.new do |gem|
|
@@ -28,7 +26,7 @@ Gem::Specification.new do |gem|
|
|
28
26
|
gem.add_runtime_dependency 'nokogiri', '~> 1.6' if gem.platform.to_s =~ /mswin|mingw/
|
29
27
|
gem.add_runtime_dependency 'rake'
|
30
28
|
gem.add_runtime_dependency 'rspec', '~>3.2'
|
31
|
-
gem.add_runtime_dependency 'selenium-webdriver'
|
29
|
+
gem.add_runtime_dependency 'selenium-webdriver', '< 3'
|
32
30
|
gem.add_runtime_dependency 'sexy_settings'
|
33
31
|
|
34
32
|
gem.add_development_dependency('aruba')
|
data/lib/howitzer.rb
CHANGED
@@ -19,6 +19,13 @@ module Howitzer
|
|
19
19
|
define_method(key) { value }
|
20
20
|
end
|
21
21
|
|
22
|
+
# @deprecated
|
23
|
+
|
24
|
+
def mailgun_idle_timeout
|
25
|
+
puts "WARNING! 'mailgun_idle_timeout' setting is deprecated. Please replace with 'mail_wait_time' setting."
|
26
|
+
::SexySettings::Base.instance.all['mailgun_idle_timeout']
|
27
|
+
end
|
28
|
+
|
22
29
|
attr_accessor :current_rake_task
|
23
30
|
end
|
24
31
|
|
data/lib/howitzer/cache.rb
CHANGED
@@ -4,7 +4,7 @@ require 'howitzer/exceptions'
|
|
4
4
|
module Howitzer
|
5
5
|
# This module holds capybara helpers methods
|
6
6
|
module CapybaraHelpers
|
7
|
-
CHECK_YOUR_SETTINGS_MSG = 'Please check your settings'.freeze
|
7
|
+
CHECK_YOUR_SETTINGS_MSG = 'Please check your settings'.freeze #:nodoc:
|
8
8
|
|
9
9
|
# @return [Boolean] true if current driver related with SauceLab,
|
10
10
|
# Testingbot or Browserstack cloud service
|
@@ -60,7 +60,7 @@ module Howitzer
|
|
60
60
|
|
61
61
|
# Updates a job status on the job cloud
|
62
62
|
# @note SauceLabs is currently supported only
|
63
|
-
# @param json_data [
|
63
|
+
# @param json_data [Hash] for example, (passed: true)
|
64
64
|
|
65
65
|
def update_cloud_job_status(json_data = {})
|
66
66
|
case Howitzer.driver.to_sym
|
data/lib/howitzer/email.rb
CHANGED
@@ -32,10 +32,27 @@ module Howitzer
|
|
32
32
|
# @!visibility public
|
33
33
|
|
34
34
|
def subject(value)
|
35
|
-
|
35
|
+
define_singleton_method(:subject_value) { value }
|
36
|
+
private_class_method :subject_value
|
37
|
+
end
|
38
|
+
|
39
|
+
# DSL method to specify a custom wait email time directly in an email class
|
40
|
+
# @param value [Integer] an wait time for a particular email.
|
41
|
+
# If it is ommitted, default Howitzer.mail_wait_time will be used.
|
42
|
+
# @example
|
43
|
+
# class WelcomeEmail < Howitzer::Email
|
44
|
+
# wait_time 10.minutes
|
45
|
+
# end
|
46
|
+
# @!visibility public
|
47
|
+
|
48
|
+
def wait_time(value)
|
49
|
+
define_singleton_method(:wait_time_value) { value }
|
50
|
+
private_class_method :wait_time_value
|
36
51
|
end
|
37
52
|
end
|
38
53
|
|
54
|
+
wait_time Howitzer.try(:mail_wait_time)
|
55
|
+
|
39
56
|
# Specifies a mail adapter
|
40
57
|
# @param adapter_name [String, Symbol] an email adapter name
|
41
58
|
# @raise [NoMailAdapterError] when the adapter name is not String or Symbol
|
@@ -52,17 +69,19 @@ module Howitzer
|
|
52
69
|
end
|
53
70
|
|
54
71
|
# Searches a mail by a recepient
|
55
|
-
# @param
|
72
|
+
# @param recipient [String] recepient's email address
|
56
73
|
# @param params [Hash] placeholders with appropriate values
|
57
74
|
# @raise [NoEmailSubjectError] when a subject is not specified for the email class
|
58
75
|
# @return [Email] an instance of the email message
|
59
76
|
# @see .subject
|
60
77
|
|
61
78
|
def self.find_by_recipient(recipient, params = {})
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
79
|
+
if defined?(subject_value).nil? || subject_value.nil?
|
80
|
+
raise Howitzer::NoEmailSubjectError, "Please specify email subject. For example:\n" \
|
81
|
+
"class SomeEmail < Howitzer::Email\n" \
|
82
|
+
" subject ‘some subject text’\nend"
|
83
|
+
end
|
84
|
+
new(adapter.find(recipient, expand_subject(params), wait: wait_time_value))
|
66
85
|
end
|
67
86
|
|
68
87
|
def initialize(message)
|
@@ -118,8 +137,7 @@ module Howitzer
|
|
118
137
|
end
|
119
138
|
|
120
139
|
def self.expand_subject(params)
|
121
|
-
params.
|
122
|
-
@subject
|
140
|
+
params.inject(subject_value.dup) { |a, (k, v)| a.sub(":#{k}", v.to_s) }
|
123
141
|
end
|
124
142
|
private_class_method :expand_subject
|
125
143
|
end
|
data/lib/howitzer/exceptions.rb
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
# This module holds all custom howitzer exceptions
|
2
2
|
module Howitzer
|
3
|
-
CommunicationError = Class.new(StandardError)
|
4
|
-
ParseError = Class.new(StandardError)
|
5
|
-
InvalidApiKeyError = Class.new(StandardError)
|
6
|
-
BadElementParamsError = Class.new(StandardError)
|
7
|
-
NoValidationError = Class.new(StandardError)
|
8
|
-
UnknownValidationError = Class.new(StandardError)
|
9
|
-
EmailNotFoundError = Class.new(StandardError)
|
10
|
-
NoAttachmentsError = Class.new(StandardError)
|
11
|
-
DriverNotSpecifiedError = Class.new(StandardError)
|
12
|
-
UnknownDriverError = Class.new(StandardError)
|
13
|
-
CloudBrowserNotSpecifiedError = Class.new(StandardError)
|
14
|
-
SelBrowserNotSpecifiedError = Class.new(StandardError)
|
15
|
-
UnknownBrowserError = Class.new(StandardError)
|
16
|
-
IncorrectPageError = Class.new(StandardError)
|
17
|
-
AmbiguousPageMatchingError = Class.new(StandardError)
|
18
|
-
NoMailAdapterError = Class.new(StandardError)
|
19
|
-
NoPathForPageError = Class.new(StandardError)
|
20
|
-
NoEmailSubjectError = Class.new(StandardError)
|
21
|
-
NoDataError = Class.new(StandardError)
|
3
|
+
CommunicationError = Class.new(StandardError) #:nodoc:
|
4
|
+
ParseError = Class.new(StandardError) #:nodoc:
|
5
|
+
InvalidApiKeyError = Class.new(StandardError) #:nodoc:
|
6
|
+
BadElementParamsError = Class.new(StandardError) #:nodoc:
|
7
|
+
NoValidationError = Class.new(StandardError) #:nodoc:
|
8
|
+
UnknownValidationError = Class.new(StandardError) #:nodoc:
|
9
|
+
EmailNotFoundError = Class.new(StandardError) #:nodoc:
|
10
|
+
NoAttachmentsError = Class.new(StandardError) #:nodoc:
|
11
|
+
DriverNotSpecifiedError = Class.new(StandardError) #:nodoc:
|
12
|
+
UnknownDriverError = Class.new(StandardError) #:nodoc:
|
13
|
+
CloudBrowserNotSpecifiedError = Class.new(StandardError) #:nodoc:
|
14
|
+
SelBrowserNotSpecifiedError = Class.new(StandardError) #:nodoc:
|
15
|
+
UnknownBrowserError = Class.new(StandardError) #:nodoc:
|
16
|
+
IncorrectPageError = Class.new(StandardError) #:nodoc:
|
17
|
+
AmbiguousPageMatchingError = Class.new(StandardError) #:nodoc:
|
18
|
+
NoMailAdapterError = Class.new(StandardError) #:nodoc:
|
19
|
+
NoPathForPageError = Class.new(StandardError) #:nodoc:
|
20
|
+
NoEmailSubjectError = Class.new(StandardError) #:nodoc:
|
21
|
+
NoDataError = Class.new(StandardError) #:nodoc:
|
22
22
|
end
|