easy-automation 0.0.1 → 0.0.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.
- data/README.markdown +52 -0
- data/lib/easy-automation.rb +2 -0
- data/lib/easy_automation/config.rb +23 -8
- data/lib/easy_automation/data_elements.rb +3 -3
- data/lib/easy_automation/remote_server.rb +26 -0
- data/lib/easy_automation/runner.rb +4 -5
- data/lib/easy_automation/selenium.rb +17 -0
- data/lib/easy_automation/server.rb +17 -3
- data/lib/easy_automation/test.rb +3 -1
- data/lib/easy_automation/version.rb +1 -1
- data/lib/openqa/README +5 -0
- data/lib/openqa/selenium-server.jar.txt +0 -0
- data/lib/openqa/sslSupport/cybervillainsCA.cer +0 -0
- data/spec/lib/easy-automation/config_spec.rb +20 -1
- data/spec/lib/easy-automation/runner_spec.rb +88 -18
- data/spec/lib/easy-automation/suite_spec.rb +0 -8
- data/spec/spec_helper.rb +13 -0
- data/spec/support/home_test.rb +4 -0
- data/spec/support/test_class.rb +9 -0
- metadata +11 -4
data/README.markdown
CHANGED
@@ -56,6 +56,41 @@ You have a lot of [actions](http://selenium.rubyforge.org/rdoc/classes/Selenium/
|
|
56
56
|
|
57
57
|
More Reference: http://selenium.rubyforge.org/rdoc/classes/Selenium/
|
58
58
|
|
59
|
+
Runner - Configuring your tests
|
60
|
+
------
|
61
|
+
You can change any behaviour using EasyAutomation::Runner.config helper, options:
|
62
|
+
EasyAutomation::Runner.configure do |config|
|
63
|
+
# Selenium Configurations
|
64
|
+
config.url = "http://www.google.com"
|
65
|
+
config.browser = "*safari" # "*firefox", "*chrome"
|
66
|
+
config.selenium_port = 4444
|
67
|
+
config.selenium_timeout = 1000
|
68
|
+
#if specified, it won't start selenium RC and will attempt to connect to remote selenium server
|
69
|
+
config.selenium_host = "localhost"
|
70
|
+
|
71
|
+
# Hooks
|
72
|
+
config.before :all do
|
73
|
+
puts 'Starting Tests'
|
74
|
+
end
|
75
|
+
config.after :all do
|
76
|
+
puts 'Tests finished, halting'
|
77
|
+
end
|
78
|
+
|
79
|
+
config.before :each_test do
|
80
|
+
# Do something
|
81
|
+
end
|
82
|
+
config.after :each_test do
|
83
|
+
# Do something
|
84
|
+
end
|
85
|
+
|
86
|
+
config.before :each_suite do
|
87
|
+
# Do something
|
88
|
+
end
|
89
|
+
config.after :each_suite do
|
90
|
+
# Do something
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
59
94
|
Example
|
60
95
|
-------
|
61
96
|
Structure:
|
@@ -129,6 +164,8 @@ Find some working code under examples folder, to see it search exmple on action,
|
|
129
164
|
Roadmap
|
130
165
|
-------
|
131
166
|
* More hooks [before|after] [:all|:each] [:test|:suite]
|
167
|
+
* Update Selenium gem to use latest selenium-RC and fix weird firefox crashes.
|
168
|
+
* Multi browser
|
132
169
|
* Wait for element to be loaded event
|
133
170
|
* Rake integration
|
134
171
|
* Retry on failed tests
|
@@ -140,6 +177,21 @@ Roadmap
|
|
140
177
|
|
141
178
|
Order may matter
|
142
179
|
|
180
|
+
|
181
|
+
Version Changes
|
182
|
+
--------
|
183
|
+
|
184
|
+
From 0.0.1 to 0.0.2
|
185
|
+
--------
|
186
|
+
* Multiple browsers support
|
187
|
+
* [before|after] [:all|:each] [:test|:suite] hooks
|
188
|
+
* Remote Selenium RC
|
189
|
+
|
190
|
+
From 0.0.2 to 0.1.0
|
191
|
+
-------
|
192
|
+
* Retry failed tests
|
193
|
+
* Selenium Grid integration
|
194
|
+
|
143
195
|
Contributing
|
144
196
|
------------
|
145
197
|
|
data/lib/easy-automation.rb
CHANGED
@@ -5,7 +5,9 @@ require 'easy_automation/data_elements'
|
|
5
5
|
require 'easy_automation/load_data'
|
6
6
|
require 'easy_automation/page'
|
7
7
|
require 'easy_automation/runner'
|
8
|
+
require 'easy_automation/remote_server'
|
8
9
|
require 'easy_automation/server'
|
10
|
+
require 'easy_automation/selenium'
|
9
11
|
require 'easy_automation/suite'
|
10
12
|
require 'easy_automation/test'
|
11
13
|
require 'easy_automation/version'
|
@@ -8,21 +8,40 @@ module EasyAutomation
|
|
8
8
|
class Config
|
9
9
|
attr_accessor :selenium_port
|
10
10
|
attr_accessor :selenium_timeout
|
11
|
-
attr_accessor :
|
11
|
+
attr_accessor :selenium_host
|
12
12
|
attr_accessor :url
|
13
|
+
attr_accessor :current_browser
|
14
|
+
attr_accessor :browsers
|
13
15
|
attr_reader :hooks
|
14
16
|
|
17
|
+
|
15
18
|
#
|
16
19
|
# Default settings for selenium RC
|
17
20
|
#
|
18
21
|
def initialize
|
22
|
+
@browsers = []
|
19
23
|
@selenium_port = 4444
|
20
|
-
@selenium_timeout =
|
21
|
-
@browser = "Firefox"
|
24
|
+
@selenium_timeout = 4000
|
22
25
|
@url = "http://www.google.com"
|
23
26
|
@hooks = {:before => {}, :after =>{}}
|
24
27
|
end
|
25
28
|
|
29
|
+
def browser=(browser)
|
30
|
+
@browsers = [browser]
|
31
|
+
end
|
32
|
+
|
33
|
+
def add_browser browser
|
34
|
+
@browsers << browser
|
35
|
+
end
|
36
|
+
|
37
|
+
def browsers
|
38
|
+
@browsers.empty? ? ["* firefox"] : @browsers
|
39
|
+
end
|
40
|
+
|
41
|
+
def current_browser
|
42
|
+
@current_browser || @browsers.first
|
43
|
+
end
|
44
|
+
|
26
45
|
def before hook, &block
|
27
46
|
@hooks[:before].merge!({hook.to_sym => block}) if block_given?
|
28
47
|
end
|
@@ -35,9 +54,5 @@ module EasyAutomation
|
|
35
54
|
@hooks[type.to_sym][hook_name.to_sym].call if @hooks[type.to_sym][hook_name.to_sym]
|
36
55
|
end
|
37
56
|
|
38
|
-
def load_files pattern
|
39
|
-
puts '888888888888 ENTRE!!!'
|
40
|
-
Dir[pattern].each { |f| require f }
|
41
|
-
end
|
42
57
|
end
|
43
|
-
end
|
58
|
+
end
|
@@ -6,15 +6,15 @@
|
|
6
6
|
#
|
7
7
|
module EasyAutomation
|
8
8
|
class DataElements
|
9
|
-
@elements = {}
|
10
9
|
|
11
10
|
#
|
12
11
|
# Builds magic functions to handle elements
|
13
12
|
# @params hash key => value
|
14
13
|
#
|
15
14
|
def initialize(elements)
|
16
|
-
@elements =
|
17
|
-
elements.
|
15
|
+
@elements = {}
|
16
|
+
@elements.merge!(elements || {})
|
17
|
+
@elements.each do |key, value|
|
18
18
|
if (value.class.to_s == "Array" || value.class.to_s == "Hash")
|
19
19
|
eval (%{
|
20
20
|
def #{key}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module EasyAutomation
|
2
|
+
class RemoteServer
|
3
|
+
def driver(browser_start_command, browser_url, port, timeout)
|
4
|
+
::Selenium::SeleniumDriver.new('localhost', port, browser_start_command, browser_url, timeout * 1000)
|
5
|
+
end
|
6
|
+
|
7
|
+
def open(browser_start_command, browser_url)
|
8
|
+
url = URI.parse(browser_url)
|
9
|
+
browser = driver(browser_start_command,
|
10
|
+
URI::Generic::new(url.scheme, url.userinfo, url.host, url.port, nil, nil, nil, nil, nil),
|
11
|
+
Runner.configuration.selenium_port,
|
12
|
+
Runner.configuration.selenium_timeout)
|
13
|
+
browser.start
|
14
|
+
browser.open(url.request_uri)
|
15
|
+
page = ::Selenium::WebPage.new(browser)
|
16
|
+
page.wait_for_load
|
17
|
+
page
|
18
|
+
end
|
19
|
+
|
20
|
+
def start
|
21
|
+
end
|
22
|
+
|
23
|
+
def stop
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -26,10 +26,6 @@ module EasyAutomation
|
|
26
26
|
@configuration
|
27
27
|
end
|
28
28
|
|
29
|
-
def server
|
30
|
-
@selenium_server ||= Server.new
|
31
|
-
end
|
32
|
-
|
33
29
|
def configure
|
34
30
|
yield configuration
|
35
31
|
end
|
@@ -38,7 +34,10 @@ module EasyAutomation
|
|
38
34
|
raise RunnerSuiteException.new('Wrong test suite class') unless test_suite.is_a?(Suite)
|
39
35
|
Server.rc.start
|
40
36
|
configuration.execute :before, :all
|
41
|
-
|
37
|
+
configuration.browsers.each do |browser|
|
38
|
+
configuration.current_browser = browser
|
39
|
+
::Test::Unit::UI::Console::TestRunner.run test_suite
|
40
|
+
end
|
42
41
|
configuration.execute :after, :all
|
43
42
|
Server.rc.stop
|
44
43
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
# Original code is found on Selenium gem, I just have to modify stop command and specify a newer version of selenium-RC
|
3
|
+
# it changed in selenium 1.0.3
|
4
|
+
# All credit is thanks to Selenium gem authors
|
5
|
+
module Selenium
|
6
|
+
class SeleniumServer
|
7
|
+
# Stops the Selenium server
|
8
|
+
def stop
|
9
|
+
Net::HTTP.get('localhost', '/selenium-server/driver/?cmd=shutDownSeleniumServer', @port_number)
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
def SeleniumServer::jar_file
|
14
|
+
File.join(File.dirname(__FILE__), '..', 'openqa', 'selenium-server.jar.txt')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,8 +1,22 @@
|
|
1
1
|
module EasyAutomation
|
2
2
|
class Server
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
class << self
|
4
|
+
def rc force_reload = false
|
5
|
+
if force_reload
|
6
|
+
@selenium = build_server
|
7
|
+
else
|
8
|
+
@selenium ||= build_server
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def build_server
|
13
|
+
if Runner.configuration.selenium_host.nil?
|
14
|
+
Selenium::Server.new(Runner.configuration.selenium_port,
|
15
|
+
Runner.configuration.selenium_timeout)
|
16
|
+
else
|
17
|
+
EasyAutomation::RemoteServer.new
|
18
|
+
end
|
19
|
+
end
|
6
20
|
end
|
7
21
|
end
|
8
22
|
end
|
data/lib/easy_automation/test.rb
CHANGED
@@ -25,7 +25,8 @@ module EasyAutomation
|
|
25
25
|
# or use a global one.
|
26
26
|
#
|
27
27
|
def setup
|
28
|
-
|
28
|
+
Runner.configuration.execute :before, :each_test
|
29
|
+
@webpage = Server.rc.open(Runner.configuration.current_browser,
|
29
30
|
Runner.configuration.url)
|
30
31
|
@data = LoadData::load_test_data(self.class.to_s, @method_name, @path)
|
31
32
|
end
|
@@ -35,6 +36,7 @@ module EasyAutomation
|
|
35
36
|
#
|
36
37
|
def teardown
|
37
38
|
@webpage.close
|
39
|
+
Runner.configuration.execute :after, :each_test
|
38
40
|
end
|
39
41
|
end
|
40
42
|
end
|
data/lib/openqa/README
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
All the files in this foler are from the "Selenium" project on OpenQA (http://www.openqa.org/selenium-rc/), under the
|
2
|
+
Apache License (http://www.openqa.org/selenium-rc/license.action)
|
3
|
+
|
4
|
+
The selenium-server.jar was renamed to have a txt extension because somehow ruby gem does not like jar extension (Installation
|
5
|
+
will fail on buffer error.
|
Binary file
|
Binary file
|
@@ -4,7 +4,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
4
4
|
describe EasyAutomation::Config do
|
5
5
|
subject {Config}
|
6
6
|
|
7
|
-
context "
|
7
|
+
context "#hooks" do
|
8
8
|
context "when specifying any hook" do
|
9
9
|
before :each do
|
10
10
|
@config = EasyAutomation::Config.new
|
@@ -21,4 +21,23 @@ describe EasyAutomation::Config do
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
24
|
+
|
25
|
+
context "#browsers" do
|
26
|
+
context "single browser" do
|
27
|
+
it "should allow single browser assignment, backward compatibility" do
|
28
|
+
config = EasyAutomation::Config.new
|
29
|
+
config.browser = "* chrome"
|
30
|
+
config.browsers.size.should == 1
|
31
|
+
config.current_browser.should == config.browsers.first
|
32
|
+
end
|
33
|
+
it "should allow to specify multiples browsers" do
|
34
|
+
config = EasyAutomation::Config.new
|
35
|
+
config.add_browser "* chrome"
|
36
|
+
config.browsers << "* firefox"
|
37
|
+
config.add_browser "* safari"
|
38
|
+
config.browsers.size.should == 3
|
39
|
+
config.current_browser.should == config.browsers.first
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
24
43
|
end
|
@@ -9,7 +9,7 @@ describe EasyAutomation::Runner do
|
|
9
9
|
it "should default params" do
|
10
10
|
EasyAutomation::Runner.configuration.selenium_port.should be(4444)
|
11
11
|
EasyAutomation::Runner.configuration.selenium_timeout.should be(1000)
|
12
|
-
EasyAutomation::Runner.configuration.
|
12
|
+
EasyAutomation::Runner.configuration.browsers.should == ["* firefox"]
|
13
13
|
EasyAutomation::Runner.configuration.url.should == "http://www.google.com"
|
14
14
|
end
|
15
15
|
|
@@ -22,7 +22,7 @@ describe EasyAutomation::Runner do
|
|
22
22
|
end
|
23
23
|
EasyAutomation::Runner.configuration.selenium_port.should be(44444)
|
24
24
|
EasyAutomation::Runner.configuration.selenium_timeout.should be(40000)
|
25
|
-
EasyAutomation::Runner.configuration.
|
25
|
+
EasyAutomation::Runner.configuration.browsers.should == ["Chrome"]
|
26
26
|
EasyAutomation::Runner.configuration.url.should == "http://www.yahoo.com"
|
27
27
|
end
|
28
28
|
end
|
@@ -32,33 +32,103 @@ describe EasyAutomation::Runner do
|
|
32
32
|
before :each do
|
33
33
|
@rc = mock(EasyAutomation::Server)
|
34
34
|
EasyAutomation::Server.stub(:rc).and_return(@rc)
|
35
|
-
Test::Unit::UI::Console::TestRunner.stub(:run).and_return(true)
|
36
|
-
@rc.should_receive(:start)
|
37
|
-
@rc.should_receive(:stop)
|
35
|
+
Test::Unit::UI::Console::TestRunner.stub(:run).and_return(true)
|
36
|
+
@rc.should_receive(:start).at_least(1).times()
|
37
|
+
@rc.should_receive(:stop).at_least(1).times()
|
38
|
+
EasyAutomation::Runner.configuration.selenium_host = ''
|
38
39
|
end
|
39
40
|
it "should accept EasyAutomation::Suite classes" do
|
40
41
|
suite = EasyAutomation::Suite.new
|
41
42
|
lambda { EasyAutomation::Runner.run suite }.should_not raise_error(EasyAutomation::RunnerSuiteException)
|
42
43
|
end
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
44
|
+
it "should call before all hook when running suites" do
|
45
|
+
TestBlockClass.should_receive(:before_each_suite)
|
46
|
+
EasyAutomation::Runner.configure do |config|
|
47
|
+
config.before :all do
|
48
|
+
TestBlockClass.before_each_suite
|
49
|
+
end
|
50
|
+
end
|
51
|
+
EasyAutomation::Runner.run EasyAutomation::Suite.new('test')
|
52
|
+
end
|
53
|
+
it "should call after all hook when running suites" do
|
54
|
+
TestBlockClass.should_receive(:after_each_suite).at_least(1).times()
|
55
|
+
EasyAutomation::Runner.configure do |config|
|
56
|
+
config.after :all do
|
57
|
+
TestBlockClass.after_each_suite
|
58
|
+
end
|
59
|
+
end
|
60
|
+
EasyAutomation::Runner.run EasyAutomation::Suite.new('test')
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context "before and after each test hooks" do
|
65
|
+
before :each do
|
66
|
+
EasyAutomation::Runner.configure do |config|
|
67
|
+
config.before :each_test do
|
68
|
+
TestBlockClass.before_each_test
|
69
|
+
end
|
70
|
+
config.after :each_test do
|
71
|
+
TestBlockClass.after_each_test
|
50
72
|
end
|
51
|
-
EasyAutomation::Runner.run EasyAutomation::Suite.new('test')
|
52
73
|
end
|
53
|
-
|
54
|
-
|
74
|
+
@suite = EasyAutomation::Suite.new('test')
|
75
|
+
@suite.add(HomeTest)
|
76
|
+
rc = mock(EasyAutomation::Server)
|
77
|
+
webpage = mock(Selenium::Server)
|
78
|
+
EasyAutomation::Server.stub(:rc).and_return(rc)
|
79
|
+
rc.should_receive(:start)
|
80
|
+
rc.should_receive(:stop)
|
81
|
+
rc.should_receive(:open).and_return(webpage)
|
82
|
+
webpage.should_receive(:close).any_number_of_times
|
83
|
+
end
|
84
|
+
it "should call :before_each_test before any test" do
|
85
|
+
TestBlockClass.should_receive(:before_each_test)
|
86
|
+
EasyAutomation::Runner.run @suite
|
87
|
+
end
|
88
|
+
it "should call :after_each_test after any test" do
|
89
|
+
TestBlockClass.should_receive(:after_each_test)
|
90
|
+
EasyAutomation::Runner.run @suite
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
context "Remote Selenium server" do
|
95
|
+
context "when specifying selenium_host" do
|
96
|
+
it "should not start selenium server locally" do
|
97
|
+
rc = mock(EasyAutomation::RemoteServer)
|
98
|
+
rc.should_receive(:start)
|
99
|
+
rc.should_receive(:stop)
|
55
100
|
EasyAutomation::Runner.configure do |config|
|
56
|
-
config.
|
57
|
-
TestBlockClass.return_the_true
|
58
|
-
end
|
101
|
+
config.selenium_host = "remote_host"
|
59
102
|
end
|
103
|
+
EasyAutomation::RemoteServer.should_receive(:new).and_return(rc)
|
104
|
+
EasyAutomation::Server.rc true
|
105
|
+
Selenium::Server.should_not_receive(:new)
|
60
106
|
EasyAutomation::Runner.run EasyAutomation::Suite.new('test')
|
61
107
|
end
|
62
108
|
end
|
63
109
|
end
|
110
|
+
|
111
|
+
context "multiple browsers" do
|
112
|
+
before :each do
|
113
|
+
rc = mock(EasyAutomation::RemoteServer)
|
114
|
+
webpage = mock(Selenium::Server)
|
115
|
+
rc.should_receive(:start)
|
116
|
+
rc.should_receive(:stop)
|
117
|
+
rc.should_receive(:open).any_number_of_times().and_return(webpage)
|
118
|
+
webpage.should_receive(:close).any_number_of_times()
|
119
|
+
EasyAutomation::RemoteServer.should_receive(:new).and_return(rc)
|
120
|
+
end
|
121
|
+
it "should run all tests against every single browser specified on config" do
|
122
|
+
EasyAutomation::Runner.configure do |config|
|
123
|
+
config.selenium_host = "localhost"
|
124
|
+
config.add_browser "*firefox"
|
125
|
+
config.add_browser "*safari"
|
126
|
+
end
|
127
|
+
EasyAutomation::Server.rc true
|
128
|
+
test_suite = EasyAutomation::Suite.new('test')
|
129
|
+
Test::Unit::UI::Console::TestRunner.should_receive(:run).at_least(2).times()
|
130
|
+
test_suite.add(HomeTest)
|
131
|
+
EasyAutomation::Runner.run test_suite
|
132
|
+
end
|
133
|
+
end
|
64
134
|
end
|
@@ -16,14 +16,6 @@ describe EasyAutomation::Suite do
|
|
16
16
|
lambda{my_suite.add(WrongTest)}.should raise_error(EasyAutomation::SuiteException)
|
17
17
|
end
|
18
18
|
it "should accept suites if they extend from EasyAutomation::Test" do
|
19
|
-
class TestClass < EasyAutomation::Test
|
20
|
-
def suite
|
21
|
-
true
|
22
|
-
end
|
23
|
-
def method_name
|
24
|
-
true
|
25
|
-
end
|
26
|
-
end
|
27
19
|
my_suite = EasyAutomation::Suite.new
|
28
20
|
my_suite.add(TestClass)
|
29
21
|
my_suite.suite.size.should be(1)
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'bundler'
|
3
3
|
|
4
|
+
puts File.dirname(__FILE__)
|
4
5
|
require File.join(File.dirname(__FILE__), '..', 'lib/easy-automation')
|
5
6
|
|
6
7
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
@@ -17,4 +18,16 @@ class TestBlockClass
|
|
17
18
|
def self.return_the_true
|
18
19
|
true
|
19
20
|
end
|
21
|
+
def self.before_each_suite
|
22
|
+
true
|
23
|
+
end
|
24
|
+
def self.before_each_test
|
25
|
+
true
|
26
|
+
end
|
27
|
+
def self.after_each_suite
|
28
|
+
true
|
29
|
+
end
|
30
|
+
def self.after_each_test
|
31
|
+
true
|
32
|
+
end
|
20
33
|
end
|
data/spec/support/home_test.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easy-automation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Edwin Cruz
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-03-
|
18
|
+
date: 2011-03-24 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -69,11 +69,16 @@ files:
|
|
69
69
|
- lib/easy_automation/data_elements.rb
|
70
70
|
- lib/easy_automation/load_data.rb
|
71
71
|
- lib/easy_automation/page.rb
|
72
|
+
- lib/easy_automation/remote_server.rb
|
72
73
|
- lib/easy_automation/runner.rb
|
74
|
+
- lib/easy_automation/selenium.rb
|
73
75
|
- lib/easy_automation/server.rb
|
74
76
|
- lib/easy_automation/suite.rb
|
75
77
|
- lib/easy_automation/test.rb
|
76
78
|
- lib/easy_automation/version.rb
|
79
|
+
- lib/openqa/README
|
80
|
+
- lib/openqa/selenium-server.jar.txt
|
81
|
+
- lib/openqa/sslSupport/cybervillainsCA.cer
|
77
82
|
- spec/lib/easy-automation/config_spec.rb
|
78
83
|
- spec/lib/easy-automation/page_spec.rb
|
79
84
|
- spec/lib/easy-automation/runner_spec.rb
|
@@ -85,6 +90,7 @@ files:
|
|
85
90
|
- spec/support/elements/homepage.yml
|
86
91
|
- spec/support/home_page.rb
|
87
92
|
- spec/support/home_test.rb
|
93
|
+
- spec/support/test_class.rb
|
88
94
|
has_rdoc: true
|
89
95
|
homepage: http://rubygems.org/gems/easy-automation
|
90
96
|
licenses: []
|
@@ -131,3 +137,4 @@ test_files:
|
|
131
137
|
- spec/support/elements/homepage.yml
|
132
138
|
- spec/support/home_page.rb
|
133
139
|
- spec/support/home_test.rb
|
140
|
+
- spec/support/test_class.rb
|