terminus_spec 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. data/.gitignore +26 -0
  2. data/.rspec +1 -0
  3. data/.rvmrc +2 -0
  4. data/.travis.yml +6 -0
  5. data/Gemfile +7 -0
  6. data/HISTORY.md +54 -0
  7. data/LICENSE +20 -0
  8. data/README.md +13 -0
  9. data/Rakefile +43 -0
  10. data/cucumber.yml +6 -0
  11. data/lib/terminus_spec.rb +200 -0
  12. data/lib/terminus_spec/factory.rb +27 -0
  13. data/lib/terminus_spec/generators.rb +80 -0
  14. data/lib/terminus_spec/locators.rb +23 -0
  15. data/lib/terminus_spec/logger.rb +7 -0
  16. data/lib/terminus_spec/matchers.rb +41 -0
  17. data/lib/terminus_spec/platform_selenium.rb +18 -0
  18. data/lib/terminus_spec/platform_selenium/platform_object.rb +214 -0
  19. data/lib/terminus_spec/platform_selenium/web_objects/all.rb +98 -0
  20. data/lib/terminus_spec/platform_selenium/web_objects/button.rb +13 -0
  21. data/lib/terminus_spec/platform_selenium/web_objects/link.rb +13 -0
  22. data/lib/terminus_spec/platform_selenium/web_objects/text_field.rb +14 -0
  23. data/lib/terminus_spec/platform_watir.rb +18 -0
  24. data/lib/terminus_spec/platform_watir/platform_object.rb +190 -0
  25. data/lib/terminus_spec/platform_watir/web_objects/all.rb +88 -0
  26. data/lib/terminus_spec/platform_watir/web_objects/text_field.rb +13 -0
  27. data/lib/terminus_spec/platforms.rb +25 -0
  28. data/lib/terminus_spec/version.rb +3 -0
  29. data/lib/terminus_spec/web_objects/all.rb +172 -0
  30. data/lib/terminus_spec/web_objects/button.rb +32 -0
  31. data/lib/terminus_spec/web_objects/link.rb +40 -0
  32. data/lib/terminus_spec/web_objects/text_field.rb +45 -0
  33. data/spec/spec_helper.rb +37 -0
  34. data/spec/terminus_spec/factory_spec.rb +40 -0
  35. data/spec/terminus_spec/generators_spec.rb +179 -0
  36. data/spec/terminus_spec/locators_spec.rb +30 -0
  37. data/spec/terminus_spec/platform_selenium_spec.rb +28 -0
  38. data/spec/terminus_spec/platform_watir_spec.rb +32 -0
  39. data/spec/terminus_spec/platforms_spec.rb +43 -0
  40. data/spec/terminus_spec/terminus_spec.rb +271 -0
  41. data/spec/terminus_spec/web_objects/all_spec.rb +87 -0
  42. data/spec/terminus_spec/web_objects/button_spec.rb +35 -0
  43. data/spec/terminus_spec/web_objects/link_spec.rb +46 -0
  44. data/spec/terminus_spec/web_objects/text_field_spec.rb +48 -0
  45. data/spec/terminus_spec/webobject_selenium_spec.rb +154 -0
  46. data/spec/terminus_spec/webobject_watir_spec.rb +120 -0
  47. data/specs/app/favicon.ico +0 -0
  48. data/specs/app/images/mass_extinction.jpg +0 -0
  49. data/specs/app/index.html +20 -0
  50. data/specs/app/modal_1.html +41 -0
  51. data/specs/app/modal_2.html +29 -0
  52. data/specs/app/server.rb +25 -0
  53. data/specs/app/style.css +18 -0
  54. data/specs/app/success_1.html +12 -0
  55. data/specs/app/success_2.html +12 -0
  56. data/specs/app/test_event.html +39 -0
  57. data/specs/app/test_form.html +114 -0
  58. data/specs/app/test_frame.html +15 -0
  59. data/specs/app/test_iframe.html +15 -0
  60. data/specs/app/test_static.html +92 -0
  61. data/specs/engine/borg.rb +27 -0
  62. data/specs/engine/hooks.rb +23 -0
  63. data/terminus_spec.gemspec +31 -0
  64. metadata +198 -0
@@ -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,12 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Success</title>
6
+ </head>
7
+ <body>
8
+ <h1 id="title">Success 1</h1>
9
+
10
+ <p>This is the first success page.</p>
11
+ </body>
12
+ </html>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Success</title>
6
+ </head>
7
+ <body>
8
+ <h1 id="title">Success 2</h1>
9
+
10
+ <p>This is the second success page.</p>
11
+ </body>
12
+ </html>
@@ -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: