terminus_spec 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +26 -0
- data/.rspec +1 -0
- data/.rvmrc +2 -0
- data/.travis.yml +6 -0
- data/Gemfile +7 -0
- data/HISTORY.md +54 -0
- data/LICENSE +20 -0
- data/README.md +13 -0
- data/Rakefile +43 -0
- data/cucumber.yml +6 -0
- data/lib/terminus_spec.rb +200 -0
- data/lib/terminus_spec/factory.rb +27 -0
- data/lib/terminus_spec/generators.rb +80 -0
- data/lib/terminus_spec/locators.rb +23 -0
- data/lib/terminus_spec/logger.rb +7 -0
- data/lib/terminus_spec/matchers.rb +41 -0
- data/lib/terminus_spec/platform_selenium.rb +18 -0
- data/lib/terminus_spec/platform_selenium/platform_object.rb +214 -0
- data/lib/terminus_spec/platform_selenium/web_objects/all.rb +98 -0
- data/lib/terminus_spec/platform_selenium/web_objects/button.rb +13 -0
- data/lib/terminus_spec/platform_selenium/web_objects/link.rb +13 -0
- data/lib/terminus_spec/platform_selenium/web_objects/text_field.rb +14 -0
- data/lib/terminus_spec/platform_watir.rb +18 -0
- data/lib/terminus_spec/platform_watir/platform_object.rb +190 -0
- data/lib/terminus_spec/platform_watir/web_objects/all.rb +88 -0
- data/lib/terminus_spec/platform_watir/web_objects/text_field.rb +13 -0
- data/lib/terminus_spec/platforms.rb +25 -0
- data/lib/terminus_spec/version.rb +3 -0
- data/lib/terminus_spec/web_objects/all.rb +172 -0
- data/lib/terminus_spec/web_objects/button.rb +32 -0
- data/lib/terminus_spec/web_objects/link.rb +40 -0
- data/lib/terminus_spec/web_objects/text_field.rb +45 -0
- data/spec/spec_helper.rb +37 -0
- data/spec/terminus_spec/factory_spec.rb +40 -0
- data/spec/terminus_spec/generators_spec.rb +179 -0
- data/spec/terminus_spec/locators_spec.rb +30 -0
- data/spec/terminus_spec/platform_selenium_spec.rb +28 -0
- data/spec/terminus_spec/platform_watir_spec.rb +32 -0
- data/spec/terminus_spec/platforms_spec.rb +43 -0
- data/spec/terminus_spec/terminus_spec.rb +271 -0
- data/spec/terminus_spec/web_objects/all_spec.rb +87 -0
- data/spec/terminus_spec/web_objects/button_spec.rb +35 -0
- data/spec/terminus_spec/web_objects/link_spec.rb +46 -0
- data/spec/terminus_spec/web_objects/text_field_spec.rb +48 -0
- data/spec/terminus_spec/webobject_selenium_spec.rb +154 -0
- data/spec/terminus_spec/webobject_watir_spec.rb +120 -0
- data/specs/app/favicon.ico +0 -0
- data/specs/app/images/mass_extinction.jpg +0 -0
- data/specs/app/index.html +20 -0
- data/specs/app/modal_1.html +41 -0
- data/specs/app/modal_2.html +29 -0
- data/specs/app/server.rb +25 -0
- data/specs/app/style.css +18 -0
- data/specs/app/success_1.html +12 -0
- data/specs/app/success_2.html +12 -0
- data/specs/app/test_event.html +39 -0
- data/specs/app/test_form.html +114 -0
- data/specs/app/test_frame.html +15 -0
- data/specs/app/test_iframe.html +15 -0
- data/specs/app/test_static.html +92 -0
- data/specs/engine/borg.rb +27 -0
- data/specs/engine/hooks.rb +23 -0
- data/terminus_spec.gemspec +31 -0
- metadata +198 -0
data/specs/app/style.css
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
h1.title {
|
2
|
+
font-weight: normal;
|
3
|
+
font-size: 150%;
|
4
|
+
margin-left: 1px;
|
5
|
+
text-align: center;
|
6
|
+
border-bottom: thin solid;
|
7
|
+
font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Lucida, Geneva, Helvetica, Arial, sans-serif;
|
8
|
+
}
|
9
|
+
|
10
|
+
h2.subtitle {
|
11
|
+
border: #660000 0px solid;
|
12
|
+
padding: 0.2em 0.2em 0.2em 0px;
|
13
|
+
margin: 2em 1px 1px;
|
14
|
+
text-align: center;
|
15
|
+
font-weight: bold;
|
16
|
+
font-size: 120%;
|
17
|
+
color: #600;
|
18
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Test App - Event Testing</title>
|
6
|
+
<link rel="stylesheet" href="style.css" />
|
7
|
+
|
8
|
+
<script type="text/javascript">
|
9
|
+
function modal() {
|
10
|
+
var retValue = window.showModalDialog(
|
11
|
+
"modal_1.html", self,
|
12
|
+
"status:no;resizable:Yes;help:no;maximize:no;minimize:no;scrollbars:no;");
|
13
|
+
}
|
14
|
+
</script>
|
15
|
+
</head>
|
16
|
+
|
17
|
+
<body onload="document.senderForm.senderElement.focus()">
|
18
|
+
|
19
|
+
<h1 class="title">Testing with Terminus</h1>
|
20
|
+
<h2 class="subtitle">Event Page</h2>
|
21
|
+
|
22
|
+
<input id="alert_button" type="button" onclick="alert('I am an alert')" value="Alert">
|
23
|
+
<input id="confirm_button" type="button" onclick="this.value = confirm('set the value')" value="Confirm">
|
24
|
+
<input id="prompt_button" type="button" onclick='this.value = prompt("Favorite Sith Lord", "Darth Bane")' value="Prompt">
|
25
|
+
|
26
|
+
|
27
|
+
<p><strong>Send To Another Page:</strong></p>
|
28
|
+
<form action="" method="post" name="senderForm">
|
29
|
+
<fieldset>
|
30
|
+
<input type="text" name="senderElement" id="senderElement" value="send_this_value" />
|
31
|
+
<input type="button" id="send" onclick="parent.frame2.document.recieverForm.recieverElement.value = document.senderForm.senderElement.value" value="Send!" />
|
32
|
+
</fieldset>
|
33
|
+
</form>
|
34
|
+
|
35
|
+
<p><strong>Launch a Modal Dialog:</strong></p>
|
36
|
+
<input id="modal" type="button" onclick='return modal();' value="Launch Modal Dialog" />
|
37
|
+
|
38
|
+
</body>
|
39
|
+
</html>
|
@@ -0,0 +1,114 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Test App - Form Testing</title>
|
6
|
+
<link rel="stylesheet" href="style.css" />
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
|
10
|
+
<h1 class="title">Testing with Terminus</h1>
|
11
|
+
<h2 class="subtitle">Form Page</h2>
|
12
|
+
|
13
|
+
<h3>Connected Form Elements</h3>
|
14
|
+
|
15
|
+
<form id="Login" name="Login" method="get" action="success_1.html">
|
16
|
+
<table cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff" align="center" style="overflow:hidden;">
|
17
|
+
<tbody>
|
18
|
+
<tr>
|
19
|
+
<td style="padding-top:12px;">
|
20
|
+
<label id="lbl_server" class="Fld" no_help="true" for="server">Server:</label>
|
21
|
+
</td>
|
22
|
+
</tr>
|
23
|
+
<tr>
|
24
|
+
<td style="padding-top:8px;">
|
25
|
+
<input id="server" name="server" helpid="server" class="Fld" size="40" type="text" value="Test"/>
|
26
|
+
</td>
|
27
|
+
</tr>
|
28
|
+
<tr>
|
29
|
+
<td style="padding-top:12px;">
|
30
|
+
<label id="lbl_customerCode" class="Fld" no_help="true" for="customerCode">Customer ID:</label>
|
31
|
+
</td>
|
32
|
+
</tr>
|
33
|
+
<tr>
|
34
|
+
<td style="padding-top:8px;">
|
35
|
+
<input id="customerCode" name="customerCode" helpid="customerCode" class="Fld" size="40" type="text"/>
|
36
|
+
</td>
|
37
|
+
</tr>
|
38
|
+
<tr>
|
39
|
+
<td style="padding-top:8px;">
|
40
|
+
<label id="lbl_loginName" class="Fld" no_help="true" for="loginName">Login Name:</label>
|
41
|
+
</td>
|
42
|
+
</tr>
|
43
|
+
<tr>
|
44
|
+
<td style="padding-top:8px;">
|
45
|
+
<input id="loginName" name="loginName" helpid="loginName" class="Fld" size="40" type="text"/>
|
46
|
+
</td>
|
47
|
+
</tr>
|
48
|
+
<tr>
|
49
|
+
<td style="padding-top:8px;">
|
50
|
+
<label id="lbl_password" class="Fld" no_help="true" for="password">Password:</label>
|
51
|
+
</td>
|
52
|
+
</tr>
|
53
|
+
<tr>
|
54
|
+
<td style="padding-top:8px;">
|
55
|
+
<input id="password" name="password" helpid="password" class="Fld" size="40" type="text"/>
|
56
|
+
</td>
|
57
|
+
</tr>
|
58
|
+
<tr>
|
59
|
+
<td>
|
60
|
+
<input id="btnSubmit" name="btnSubmit" class="btn" type="submit" value="Log In">
|
61
|
+
</td>
|
62
|
+
</tr>
|
63
|
+
</tbody>
|
64
|
+
</table>
|
65
|
+
</form>
|
66
|
+
|
67
|
+
<hr />
|
68
|
+
|
69
|
+
<h3>Standalone Form Elements</h3>
|
70
|
+
|
71
|
+
<div>
|
72
|
+
<label id="lbl_title" no_help="true"><strong>Book Title:</strong></label><br />
|
73
|
+
<input id="title" size="40" type="text"/><br />
|
74
|
+
<label id="lbl_description" no_help="true"><strong>Description:</strong></label><br />
|
75
|
+
<textarea rows="2" cols="80" id="description" class="text_area_class" name="description"></textarea>
|
76
|
+
<input id="isbn" name="isbn" class="hidden_field_class" size="40" type="hidden" value="0-85131-041-9"/>
|
77
|
+
</div>
|
78
|
+
|
79
|
+
<div>
|
80
|
+
<p><strong>Choose Your Physics Concepts:</strong></p>
|
81
|
+
<select name="concepts" id="concepts", class="sel_list_class">
|
82
|
+
<option value="option1">Quantum Entanglement</option>
|
83
|
+
<option value="option2">Tachyonic Antitravel</option>
|
84
|
+
<option value="option3">Bose-Einstein Condensates</option>
|
85
|
+
</select>
|
86
|
+
</div>
|
87
|
+
|
88
|
+
<div>
|
89
|
+
<p><strong>Choose Your Futuristic Technology:</strong></p>
|
90
|
+
<input id="camoarmor" name="camoarmor" class="cb_class" type="checkbox" value="1"/> Chameleoflage Armor<br />
|
91
|
+
<input id="shunt" name="shunt" class="cb_class" type="checkbox" value="2"/> Neural Shunts<br />
|
92
|
+
<input id="harpoon" name="harpoon" class="cb_class" type="checkbox" value="3"/> Kinetic Harpoons<br />
|
93
|
+
<input id="oc" name="oc" class="cb_class" type="checkbox" value="4"/> Organic Circuitry
|
94
|
+
</div>
|
95
|
+
|
96
|
+
<div>
|
97
|
+
<p><strong>Select Your Least Favorite Way To Vaporize:</strong></p>
|
98
|
+
<form>
|
99
|
+
<input type="radio" id="mtc" name="badstuff" class="rb_class" value="Multiphasic Temporal Convergence"> Multiphasic Temporal Convergence<br/>
|
100
|
+
<input type="radio" id="ups" name="badstuff" class="rb_class" value="Unstable Phase Shift"> Unstable Phase Shift<br />
|
101
|
+
<input type="radio" id="wcb" name="badstuff" class="rb_class" value="Warp Core Breach"> Warp Core Breach<br />
|
102
|
+
</form>
|
103
|
+
</div>
|
104
|
+
|
105
|
+
|
106
|
+
<p><strong>Received Event Goes Here:</strong></p>
|
107
|
+
<form action="" method="post" name="recieverForm">
|
108
|
+
<fieldset>
|
109
|
+
<input type="text" name="recieverElement" value="old_value" />
|
110
|
+
</fieldset>
|
111
|
+
</form>
|
112
|
+
|
113
|
+
</body>
|
114
|
+
</html>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Test App - Frame Testing</title>
|
6
|
+
<link rel="stylesheet" href="style.css" />
|
7
|
+
</head>
|
8
|
+
|
9
|
+
<frameset cols="40%, 40%, 22%">
|
10
|
+
<frame name="static" id="static" name="frame1" src="test_static.html" />
|
11
|
+
<frame name="form" id="form" name="frame2" src="test_form.html" />
|
12
|
+
<frame name="event" id="event" name="frame3" src="test_event.html" />
|
13
|
+
</frameset>
|
14
|
+
|
15
|
+
</html>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Test App - Frame Testing</title>
|
6
|
+
<link rel="stylesheet" href="style.css" />
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
|
10
|
+
<iframe name="static" id="static" name="frame1" class="iframe" width="500" src="test_static.html"></iframe>
|
11
|
+
<br />
|
12
|
+
<iframe name="form" id="form" name="frame2" class="iframe" width="500" src="test_form.html"></iframe>
|
13
|
+
|
14
|
+
</body>
|
15
|
+
</html>
|
@@ -0,0 +1,92 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Test App - Static Text Testing</title>
|
6
|
+
<link rel="stylesheet" href="style.css" />
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
|
10
|
+
<h1 class="title">Testing with Terminus</h1>
|
11
|
+
<h2 class="subtitle">Static Text Page</h2>
|
12
|
+
|
13
|
+
|
14
|
+
<h3>Links</h3>
|
15
|
+
|
16
|
+
<p><a id="avengers_unite_id" name="avengers_unite_name" class="avengers_unite_class" href="success_1.html">Avengers Unite</a></p>
|
17
|
+
|
18
|
+
<p><a href="success_1.html">Justice League Assemble</a></p>
|
19
|
+
<p><a href="success_2.html">Justice League Assemble</a></p>
|
20
|
+
|
21
|
+
<p><a id="oath" href="success_1.html">"...in the brightest day and in the darkest night..."</a></p>
|
22
|
+
|
23
|
+
<hr />
|
24
|
+
|
25
|
+
<h3>Lists</h3>
|
26
|
+
|
27
|
+
<h4>Unordered List</h4>
|
28
|
+
|
29
|
+
<ul id="ul_id" name="ul_name" class="ul_class">
|
30
|
+
<li id="li_id" name="li_name" class="li_class">Darth Nihilus</li>
|
31
|
+
<li>Darth Plagueis</li>
|
32
|
+
<li>Darth Sidious</li>
|
33
|
+
</ul>
|
34
|
+
|
35
|
+
<h4>Ordered List</h4>
|
36
|
+
|
37
|
+
<ol id="ol_id" name="ol_name" class="ol_class">
|
38
|
+
<li>USS Enterprise XCV 330</li>
|
39
|
+
<li>USS Enterprise NX-01</li>
|
40
|
+
<li>USS Enterprise NCC-1701</li>
|
41
|
+
</ol>
|
42
|
+
|
43
|
+
<hr />
|
44
|
+
|
45
|
+
<h3>Sections</h3>
|
46
|
+
|
47
|
+
<div id="div_id" name="div_name" class="div_class">
|
48
|
+
This text is stored directly inside a DIV element.
|
49
|
+
</div>
|
50
|
+
|
51
|
+
<span id="span_id" name="span_name" class="span_class">
|
52
|
+
This text is stored directly inside a SPAN element.
|
53
|
+
</span>
|
54
|
+
|
55
|
+
<hr />
|
56
|
+
|
57
|
+
<h3>Tables</h3>
|
58
|
+
|
59
|
+
<table id='table_id' name='table_name' class='table_class' border='1'>
|
60
|
+
<thead>
|
61
|
+
<tr>
|
62
|
+
<th>Month</th>
|
63
|
+
<th>Savings</th>
|
64
|
+
</tr>
|
65
|
+
</thead>
|
66
|
+
<tfoot>
|
67
|
+
<tr>
|
68
|
+
<td>Sum</td>
|
69
|
+
<td>$180</td>
|
70
|
+
</tr>
|
71
|
+
</tfoot>
|
72
|
+
<tbody>
|
73
|
+
<tr>
|
74
|
+
<td>January</td>
|
75
|
+
<td id='cell_id' name='cell_name' class='cell_class'>$100</td>
|
76
|
+
</tr>
|
77
|
+
<tr>
|
78
|
+
<td>February</td>
|
79
|
+
<td>$80</td>
|
80
|
+
</tr>
|
81
|
+
</tbody>
|
82
|
+
</table>
|
83
|
+
|
84
|
+
<hr />
|
85
|
+
|
86
|
+
<p>Technically an image isn't static text, but whatever ...</p>
|
87
|
+
|
88
|
+
<img src="images/mass_extinction.jpg" id="extinct" name="extinct" class="image_class">
|
89
|
+
|
90
|
+
|
91
|
+
</body>
|
92
|
+
</html>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../', 'lib'))
|
2
|
+
|
3
|
+
require 'rspec/expectations'
|
4
|
+
require 'watir-webdriver'
|
5
|
+
require 'selenium-webdriver'
|
6
|
+
|
7
|
+
require 'terminus_spec'
|
8
|
+
|
9
|
+
module TerminusSpec
|
10
|
+
module BrowserInstance
|
11
|
+
|
12
|
+
@browser = false
|
13
|
+
|
14
|
+
def self.get_handle
|
15
|
+
unless @browser
|
16
|
+
@browser = Watir::Browser.new(ENV['BROWSER']) if ENV['DRIVER'] == 'watir'
|
17
|
+
@browser = Selenium::WebDriver.for(ENV['BROWSER'].to_sym) if ENV['DRIVER'] == 'selenium'
|
18
|
+
end
|
19
|
+
return @browser
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.drop_handle
|
23
|
+
@browser.quit if @browser
|
24
|
+
end
|
25
|
+
|
26
|
+
end # module BrowserInstance
|
27
|
+
end # module TerminusSpec
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Before hooks run before the first step in any scenario.
|
2
|
+
Before do
|
3
|
+
@browser = TerminusSpec::BrowserInstance.get_handle
|
4
|
+
end
|
5
|
+
|
6
|
+
# AfterStep hooks run after any step in any scenario.
|
7
|
+
AfterStep do |scenario|
|
8
|
+
end
|
9
|
+
|
10
|
+
# After hooks run after the last step in any scenario.
|
11
|
+
After do |scenario|
|
12
|
+
@KEEP_OPEN = true if scenario.name != :background or scenario.status == :pending or scenario.status == :undefined
|
13
|
+
end
|
14
|
+
|
15
|
+
# AfterConfiguration will be run after Cucumber has been configured.
|
16
|
+
# This means after borg.rb has ben loaded but before any feature execution.
|
17
|
+
AfterConfiguration do |config|
|
18
|
+
puts("Feature stories are being executed from: #{config.feature_dirs}")
|
19
|
+
end
|
20
|
+
|
21
|
+
at_exit do
|
22
|
+
TerminusSpec::BrowserInstance.drop_handle if not @KEEP_OPEN
|
23
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "terminus_spec/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "terminus_spec"
|
7
|
+
s.version = TerminusSpec::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Jeff Nyman"]
|
10
|
+
s.email = ["jeffnyman@gmail.com"]
|
11
|
+
s.homepage = "https://github.com/jnyman/terminus_spec"
|
12
|
+
s.summary = %q{Acceptance Test Specification and Execution Framework}
|
13
|
+
s.description = %q{Test framework for specifying tests (with Cucumber) and executing tests (with Watir or Selenium).}
|
14
|
+
|
15
|
+
s.rubyforge_project = "terminus_spec"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,specs}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
s.add_runtime_dependency 'watir-webdriver', '>= 0.3.8'
|
23
|
+
s.add_runtime_dependency 'selenium-webdriver', '>= 2.10.0'
|
24
|
+
|
25
|
+
s.add_development_dependency 'rspec', '>= 2.7.0'
|
26
|
+
s.add_development_dependency 'cucumber', '>= 1.1.2'
|
27
|
+
s.add_development_dependency 'rake', '~> 0.9.2'
|
28
|
+
s.add_development_dependency 'bundler', '~> 1.0.0'
|
29
|
+
s.add_development_dependency 'yard', '>= 0.7.3'
|
30
|
+
s.add_development_dependency 'simplecov'
|
31
|
+
end
|
metadata
ADDED
@@ -0,0 +1,198 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: terminus_spec
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Jeff Nyman
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-11-11 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: watir-webdriver
|
16
|
+
requirement: &23566488 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.3.8
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *23566488
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: selenium-webdriver
|
27
|
+
requirement: &23566164 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 2.10.0
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *23566164
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
requirement: &23565876 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.7.0
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *23565876
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: cucumber
|
49
|
+
requirement: &23565552 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.1.2
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *23565552
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rake
|
60
|
+
requirement: &23565276 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 0.9.2
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *23565276
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: &23564952 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 1.0.0
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *23564952
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: yard
|
82
|
+
requirement: &23564652 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 0.7.3
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *23564652
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: simplecov
|
93
|
+
requirement: &23564388 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *23564388
|
102
|
+
description: Test framework for specifying tests (with Cucumber) and executing tests
|
103
|
+
(with Watir or Selenium).
|
104
|
+
email:
|
105
|
+
- jeffnyman@gmail.com
|
106
|
+
executables: []
|
107
|
+
extensions: []
|
108
|
+
extra_rdoc_files: []
|
109
|
+
files:
|
110
|
+
- .gitignore
|
111
|
+
- .rspec
|
112
|
+
- .rvmrc
|
113
|
+
- .travis.yml
|
114
|
+
- Gemfile
|
115
|
+
- HISTORY.md
|
116
|
+
- LICENSE
|
117
|
+
- README.md
|
118
|
+
- Rakefile
|
119
|
+
- cucumber.yml
|
120
|
+
- lib/terminus_spec.rb
|
121
|
+
- lib/terminus_spec/factory.rb
|
122
|
+
- lib/terminus_spec/generators.rb
|
123
|
+
- lib/terminus_spec/locators.rb
|
124
|
+
- lib/terminus_spec/logger.rb
|
125
|
+
- lib/terminus_spec/matchers.rb
|
126
|
+
- lib/terminus_spec/platform_selenium.rb
|
127
|
+
- lib/terminus_spec/platform_selenium/platform_object.rb
|
128
|
+
- lib/terminus_spec/platform_selenium/web_objects/all.rb
|
129
|
+
- lib/terminus_spec/platform_selenium/web_objects/button.rb
|
130
|
+
- lib/terminus_spec/platform_selenium/web_objects/link.rb
|
131
|
+
- lib/terminus_spec/platform_selenium/web_objects/text_field.rb
|
132
|
+
- lib/terminus_spec/platform_watir.rb
|
133
|
+
- lib/terminus_spec/platform_watir/platform_object.rb
|
134
|
+
- lib/terminus_spec/platform_watir/web_objects/all.rb
|
135
|
+
- lib/terminus_spec/platform_watir/web_objects/text_field.rb
|
136
|
+
- lib/terminus_spec/platforms.rb
|
137
|
+
- lib/terminus_spec/version.rb
|
138
|
+
- lib/terminus_spec/web_objects/all.rb
|
139
|
+
- lib/terminus_spec/web_objects/button.rb
|
140
|
+
- lib/terminus_spec/web_objects/link.rb
|
141
|
+
- lib/terminus_spec/web_objects/text_field.rb
|
142
|
+
- spec/spec_helper.rb
|
143
|
+
- spec/terminus_spec/factory_spec.rb
|
144
|
+
- spec/terminus_spec/generators_spec.rb
|
145
|
+
- spec/terminus_spec/locators_spec.rb
|
146
|
+
- spec/terminus_spec/platform_selenium_spec.rb
|
147
|
+
- spec/terminus_spec/platform_watir_spec.rb
|
148
|
+
- spec/terminus_spec/platforms_spec.rb
|
149
|
+
- spec/terminus_spec/terminus_spec.rb
|
150
|
+
- spec/terminus_spec/web_objects/all_spec.rb
|
151
|
+
- spec/terminus_spec/web_objects/button_spec.rb
|
152
|
+
- spec/terminus_spec/web_objects/link_spec.rb
|
153
|
+
- spec/terminus_spec/web_objects/text_field_spec.rb
|
154
|
+
- spec/terminus_spec/webobject_selenium_spec.rb
|
155
|
+
- spec/terminus_spec/webobject_watir_spec.rb
|
156
|
+
- specs/app/favicon.ico
|
157
|
+
- specs/app/images/mass_extinction.jpg
|
158
|
+
- specs/app/index.html
|
159
|
+
- specs/app/modal_1.html
|
160
|
+
- specs/app/modal_2.html
|
161
|
+
- specs/app/server.rb
|
162
|
+
- specs/app/style.css
|
163
|
+
- specs/app/success_1.html
|
164
|
+
- specs/app/success_2.html
|
165
|
+
- specs/app/test_event.html
|
166
|
+
- specs/app/test_form.html
|
167
|
+
- specs/app/test_frame.html
|
168
|
+
- specs/app/test_iframe.html
|
169
|
+
- specs/app/test_static.html
|
170
|
+
- specs/engine/borg.rb
|
171
|
+
- specs/engine/hooks.rb
|
172
|
+
- terminus_spec.gemspec
|
173
|
+
homepage: https://github.com/jnyman/terminus_spec
|
174
|
+
licenses: []
|
175
|
+
post_install_message:
|
176
|
+
rdoc_options: []
|
177
|
+
require_paths:
|
178
|
+
- lib
|
179
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
180
|
+
none: false
|
181
|
+
requirements:
|
182
|
+
- - ! '>='
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: '0'
|
185
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
187
|
+
requirements:
|
188
|
+
- - ! '>='
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '0'
|
191
|
+
requirements: []
|
192
|
+
rubyforge_project: terminus_spec
|
193
|
+
rubygems_version: 1.7.2
|
194
|
+
signing_key:
|
195
|
+
specification_version: 3
|
196
|
+
summary: Acceptance Test Specification and Execution Framework
|
197
|
+
test_files: []
|
198
|
+
has_rdoc:
|