terminus_spec 0.5.0
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/.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:
|