symbiont 0.1.7 → 0.1.8
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/Gemfile.lock +10 -39
- data/HISTORY.md +6 -0
- data/lib/symbiont.rb +8 -4
- data/lib/symbiont/enclosers.rb +4 -4
- data/lib/symbiont/evaluators.rb +22 -29
- data/lib/symbiont/generators.rb +82 -317
- data/lib/symbiont/platform_selenium.rb +18 -0
- data/lib/symbiont/platform_selenium/platform_object.rb +236 -0
- data/lib/symbiont/platform_selenium/web_objects/button.rb +13 -0
- data/lib/symbiont/platform_selenium/web_objects/checkbox.rb +21 -0
- data/lib/symbiont/platform_selenium/web_objects/common.rb +104 -0
- data/lib/symbiont/platform_selenium/web_objects/link.rb +13 -0
- data/lib/symbiont/platform_selenium/web_objects/radio.rb +21 -0
- data/lib/symbiont/platform_selenium/web_objects/select_list.rb +79 -0
- data/lib/symbiont/platform_selenium/web_objects/table.rb +40 -0
- data/lib/symbiont/platform_selenium/web_objects/table_row.rb +36 -0
- data/lib/symbiont/platform_selenium/web_objects/text_field.rb +14 -0
- data/lib/symbiont/platform_watir.rb +13 -4
- data/lib/symbiont/platform_watir/platform_object.rb +74 -262
- data/lib/symbiont/platform_watir/web_objects/checkbox.rb +21 -0
- data/lib/symbiont/platform_watir/web_objects/common.rb +82 -0
- data/lib/symbiont/platform_watir/web_objects/radio.rb +21 -0
- data/lib/symbiont/platform_watir/web_objects/select_list.rb +67 -0
- data/lib/symbiont/platform_watir/web_objects/table.rb +31 -0
- data/lib/symbiont/platform_watir/web_objects/table_row.rb +31 -0
- data/lib/symbiont/platform_watir/web_objects/text_field.rb +13 -0
- data/lib/symbiont/platforms.rb +18 -6
- data/lib/symbiont/version.rb +1 -1
- data/lib/symbiont/web_objects/_common.rb +53 -74
- data/lib/symbiont/web_objects/button.rb +23 -4
- data/lib/symbiont/web_objects/checkbox.rb +24 -10
- data/lib/symbiont/web_objects/div.rb +9 -1
- data/lib/symbiont/web_objects/link.rb +25 -4
- data/lib/symbiont/web_objects/paragraph.rb +11 -0
- data/lib/symbiont/web_objects/radio.rb +27 -1
- data/lib/symbiont/web_objects/select_list.rb +20 -56
- data/lib/symbiont/web_objects/span.rb +9 -1
- data/lib/symbiont/web_objects/table.rb +19 -22
- data/lib/symbiont/web_objects/table_cell.rb +17 -1
- data/lib/symbiont/web_objects/table_row.rb +18 -25
- data/lib/symbiont/web_objects/text_field.rb +27 -11
- data/symbiont.gemspec +3 -8
- metadata +29 -122
- data/app/Gemfile +0 -4
- data/app/app.rb +0 -181
- data/app/config/database.rb +0 -9
- data/app/models/plan.rb +0 -10
- data/app/models/product.rb +0 -10
- data/app/models/study.rb +0 -11
- data/app/models/user.rb +0 -13
- data/app/public/css/style.css +0 -138
- data/app/views/create_plan.erb +0 -21
- data/app/views/create_product.erb +0 -15
- data/app/views/create_study.erb +0 -24
- data/app/views/create_user.erb +0 -60
- data/app/views/db_plans.erb +0 -31
- data/app/views/db_products.erb +0 -29
- data/app/views/db_studies.erb +0 -33
- data/app/views/db_users.erb +0 -23
- data/app/views/entity_list.erb +0 -10
- data/app/views/index.erb +0 -8
- data/app/views/layout.erb +0 -39
- data/app/views/login_page.erb +0 -17
- data/app/views/success_1.erb +0 -2
- data/app/views/success_2.erb +0 -2
- data/app/views/test_database.erb +0 -13
- data/app/views/test_events.erb +0 -51
- data/app/views/test_login.erb +0 -53
- data/app/views/test_login_error.erb +0 -22
- data/app/views/test_login_success.erb +0 -22
- data/app/views/test_page.erb +0 -184
- data/specs/button.feature +0 -44
- data/specs/checkbox.feature +0 -40
- data/specs/data_setter.feature +0 -29
- data/specs/definitions/pages.rb +0 -156
- data/specs/div.feature +0 -11
- data/specs/evaluators.feature +0 -17
- data/specs/events.feature +0 -30
- data/specs/frame.feature +0 -5
- data/specs/link.feature +0 -42
- data/specs/locators.feature +0 -17
- data/specs/radio.feature +0 -38
- data/specs/select_list.feature +0 -50
- data/specs/simple_test.feature +0 -13
- data/specs/span.feature +0 -11
- data/specs/support/env.rb +0 -20
- data/specs/support/hooks.rb +0 -11
- data/specs/support/test_steps/action_steps_buttons.rb +0 -70
- data/specs/support/test_steps/action_steps_checkboxes.rb +0 -75
- data/specs/support/test_steps/action_steps_data_setter.rb +0 -56
- data/specs/support/test_steps/action_steps_divs.rb +0 -18
- data/specs/support/test_steps/action_steps_evaluators.rb +0 -15
- data/specs/support/test_steps/action_steps_events.rb +0 -77
- data/specs/support/test_steps/action_steps_frames.rb +0 -13
- data/specs/support/test_steps/action_steps_links.rb +0 -61
- data/specs/support/test_steps/action_steps_locators.rb +0 -44
- data/specs/support/test_steps/action_steps_navigate.rb +0 -25
- data/specs/support/test_steps/action_steps_radios.rb +0 -75
- data/specs/support/test_steps/action_steps_select_lists.rb +0 -106
- data/specs/support/test_steps/action_steps_spans.rb +0 -18
- data/specs/support/test_steps/action_steps_tables.rb +0 -82
- data/specs/support/test_steps/action_steps_text_fields.rb +0 -107
- data/specs/support/test_steps/action_steps_webobjects.rb +0 -31
- data/specs/support/test_steps/simple_test_steps.rb +0 -8
- data/specs/table.feature +0 -39
- data/specs/text_field.feature +0 -47
- data/specs/web_object.feature +0 -15
data/app/views/entity_list.erb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
<section id="entity_list">
|
2
|
-
<p>Welcome <%= params["loginName"] %>. <span id="navigate"><a href="test_database">Logout</a></span></p>
|
3
|
-
<h2>Entity List</h2>
|
4
|
-
<% if params["loginName"] == "administrator" %>
|
5
|
-
<p><a id="users" href="db_users">Users</a></p>
|
6
|
-
<% end %>
|
7
|
-
<p><a id="products" href="db_products">Products</a></p>
|
8
|
-
<p><a id="studies" href="db_studies">Studies</a></p>
|
9
|
-
<p><a id="plans" href="db_plans">Plans</a></p>
|
10
|
-
</section>
|
data/app/views/index.erb
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
<p>Choose the testing area to go to:</p>
|
2
|
-
|
3
|
-
<ul>
|
4
|
-
<li><a id="test_page" href="test_page">Simple Object Page</a></li>
|
5
|
-
<li><a id="test_events" href="test_events">Simple Events Page</a></li>
|
6
|
-
<li><a id="test_database" href="test_database">Simple Database Application</a></li>
|
7
|
-
<li><a id="test_login" href="test_login">Simple Login Demonstration</a></li>
|
8
|
-
</ul>
|
data/app/views/layout.erb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html dir="ltr" lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8">
|
5
|
-
<title><%= @title + ' | Test Application' %></title>
|
6
|
-
<meta name="HandheldFriendly" content="True">
|
7
|
-
<meta name="MobileOptimized" content="320">
|
8
|
-
<meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1">
|
9
|
-
<link href="http://localhost:4567/css/style.css" media="screen" rel="stylesheet">
|
10
|
-
<!--[if lt IE 9]>
|
11
|
-
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
12
|
-
<![endif]-->
|
13
|
-
</head>
|
14
|
-
<body>
|
15
|
-
|
16
|
-
<header>
|
17
|
-
<hgroup>
|
18
|
-
<h1><a href="/">Testing Application</a></h1>
|
19
|
-
<h2>Minimal Testing Application</h2>
|
20
|
-
</hgroup>
|
21
|
-
</header>
|
22
|
-
|
23
|
-
<div id="main">
|
24
|
-
<% if flash[:notice] %>
|
25
|
-
<p class="notice"><%= flash[:notice] %></p>
|
26
|
-
<% end %>
|
27
|
-
<% if flash[:error] %>
|
28
|
-
<p class="error"><%= flash[:error] %>
|
29
|
-
<% end %>
|
30
|
-
<%= yield %>
|
31
|
-
</div>
|
32
|
-
|
33
|
-
<footer>
|
34
|
-
<p><small>An app for attaching the <a href="https://github.com/jnyman/symbiont">Symbiont</a> to.</small></p>
|
35
|
-
<p><small>Part of the <a href="https://github.com/jnyman/lucid">Lucid Framework</a>.</small></p>
|
36
|
-
</footer>
|
37
|
-
|
38
|
-
</body>
|
39
|
-
</html>
|
data/app/views/login_page.erb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
<section id="login">
|
2
|
-
<form id="loginFormID" class="loginFormClass" name="loginFormName" method="get" action="/entity_list" target="_top">
|
3
|
-
<p><label id="lbl_server" class="Fld" for="server">Server:</label><br />
|
4
|
-
<input id="serverID" name="serverName" class="Fld" size="40" type="text" value="Test"/></p>
|
5
|
-
|
6
|
-
<p><label id="lbl_clientCode" class="Fld" for="clientCode">Client ID:</label><br />
|
7
|
-
<input id="clientID" name="clientIDName" class="Fld" size="40" type="text"/></p>
|
8
|
-
|
9
|
-
<p><label id="lbl_loginName" class="Fld" for="loginName">Login Name:</label><br />
|
10
|
-
<input id="loginNameID" name="loginName" class="Fld" size="40" type="text"/></p>
|
11
|
-
|
12
|
-
<p><label id="lbl_password" class="Fld" for="password">Password:</label><br />
|
13
|
-
<input id="passwordID" name="passwordName" class="Fld" size="40" type="password"/></p>
|
14
|
-
|
15
|
-
<p><input id="btnSubmit" name="btnSubmit" class="btn" type="submit" value="Log In"></p>
|
16
|
-
</form>
|
17
|
-
</section>
|
data/app/views/success_1.erb
DELETED
data/app/views/success_2.erb
DELETED
data/app/views/test_database.erb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
<h1>Simple Database Application</h1>
|
2
|
-
|
3
|
-
<iframe style="float: left;" id="loginSection" name="loginSection" src="login_page" width="500" height="300">
|
4
|
-
</iframe>
|
5
|
-
|
6
|
-
<table>
|
7
|
-
<tr><td> </td>
|
8
|
-
<td>
|
9
|
-
<p>This is a sample login form that is within an iframe. You can sign in using any values.</p>
|
10
|
-
<p>Signing in as "administrator" will give you an extra option, which is something you can test for.</p>
|
11
|
-
</td>
|
12
|
-
</tr>
|
13
|
-
</table>
|
data/app/views/test_events.erb
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
<script type="text/javascript">
|
2
|
-
function unhide() {
|
3
|
-
document.getElementById("conditional").style.display="block";
|
4
|
-
}
|
5
|
-
|
6
|
-
function hide() {
|
7
|
-
document.getElementById("conditional").style.display="none";
|
8
|
-
}
|
9
|
-
|
10
|
-
function addDiv() {
|
11
|
-
var button = document.createElement("input");
|
12
|
-
button.setAttribute("type", "button");
|
13
|
-
button.setAttribute("value", "Newly Created Button");
|
14
|
-
button.setAttribute("id", "new_button");
|
15
|
-
//document.body.appendChild(button);
|
16
|
-
var sectional = document.getElementById("created")
|
17
|
-
sectional.appendChild(button);
|
18
|
-
}
|
19
|
-
|
20
|
-
function removeDiv() {
|
21
|
-
var button = document.getElementById("new_button");
|
22
|
-
//document.body.removeChild(button);
|
23
|
-
var sectional = document.getElementById("created")
|
24
|
-
sectional.removeChild(button);
|
25
|
-
}
|
26
|
-
</script>
|
27
|
-
|
28
|
-
<section id="test_events">
|
29
|
-
<h2>Simple Events Page</h2>
|
30
|
-
|
31
|
-
<div class="group">
|
32
|
-
<input type="button" id="conditional" value="Conditional Button"/><br /><br />
|
33
|
-
<input type="button" onclick="setTimeout(function() {hide();}, 2000);" value="Hide Button"/>
|
34
|
-
<input type="button" onclick="setTimeout(function() {unhide();}, 2000);" value="Reveal Button"/>
|
35
|
-
</div>
|
36
|
-
|
37
|
-
<div class="group">
|
38
|
-
<input type="button" onclick="setTimeout(function() {addDiv();}, 2000);" value="Create Button"/>
|
39
|
-
<input type="button" onclick="setTimeout(function() {removeDiv();}, 2000);" value="Remove Button"/>
|
40
|
-
|
41
|
-
<div id="created">
|
42
|
-
</div>
|
43
|
-
</div>
|
44
|
-
|
45
|
-
<h3>JavaScript Events:</h3>
|
46
|
-
<div class="group">
|
47
|
-
<input id="alertButton" type="button" onclick="alert('Alert Message Received')" value="Alert">
|
48
|
-
<input id="confirmButton" type="button" onclick="this.value = confirm('Confirmation Message Received')" value="Confirm">
|
49
|
-
<input id="promptButton" type="button" onclick='this.value = prompt("Favorite Sith Lord", "Darth Bane")' value="Prompt">
|
50
|
-
</div>
|
51
|
-
</section>
|
data/app/views/test_login.erb
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
<style>
|
2
|
-
body {
|
3
|
-
font-family: sans-serif;
|
4
|
-
color: black;
|
5
|
-
background: #DDDDDD;
|
6
|
-
text-align: center;
|
7
|
-
}
|
8
|
-
#login {
|
9
|
-
width: 30em;
|
10
|
-
height: 15em;
|
11
|
-
margin: 1em auto;
|
12
|
-
background: white;
|
13
|
-
border: 1px solid gray;
|
14
|
-
padding: 10px 30px;
|
15
|
-
text-align: left;
|
16
|
-
}
|
17
|
-
</style>
|
18
|
-
|
19
|
-
<h1>Simple Login Demonstration</h1>
|
20
|
-
|
21
|
-
<div id='login'>
|
22
|
-
<h2>Login Page</h2>
|
23
|
-
<p>Enter your user name and password and click the login button.</p>
|
24
|
-
<form name='login_form' action="/test_login_success" method="post" onsubmit="return login()">
|
25
|
-
<table>
|
26
|
-
<tr>
|
27
|
-
<td>User Name:</td>
|
28
|
-
<td><input id="username" name="username_field" size="30" type="text" /></td>
|
29
|
-
</tr>
|
30
|
-
<tr>
|
31
|
-
<td>Password:</td>
|
32
|
-
<td><input id="password" name="password_field" size="30" type="password" /></td>
|
33
|
-
</tr>
|
34
|
-
<tr>
|
35
|
-
<td> </td>
|
36
|
-
<td><input name="login_button" type="submit" value="LOGIN" /></td>
|
37
|
-
</tr>
|
38
|
-
</table>
|
39
|
-
</form>
|
40
|
-
</div>
|
41
|
-
|
42
|
-
<script type="text/javascript">
|
43
|
-
function login() {
|
44
|
-
if (document.login_form.username_field.value == 'demo' &&
|
45
|
-
document.login_form.password_field.value == 'testing') {
|
46
|
-
return true
|
47
|
-
}
|
48
|
-
else {
|
49
|
-
window.location="test_login_error"
|
50
|
-
return false
|
51
|
-
}
|
52
|
-
}
|
53
|
-
</script>
|
@@ -1,22 +0,0 @@
|
|
1
|
-
<style>
|
2
|
-
body {
|
3
|
-
font-family: sans-serif;
|
4
|
-
color: black;
|
5
|
-
background: #DDDDDD;
|
6
|
-
text-align: center;
|
7
|
-
}
|
8
|
-
#login {
|
9
|
-
width: 30em;
|
10
|
-
height: 15em;
|
11
|
-
margin: 1em auto;
|
12
|
-
background: white;
|
13
|
-
border: 1px solid gray;
|
14
|
-
padding: 10px 30px;
|
15
|
-
text-align: left;
|
16
|
-
}
|
17
|
-
</style>
|
18
|
-
|
19
|
-
<div id='login'>
|
20
|
-
<h1>Error Page</h1>
|
21
|
-
<p>Login failed. Invalid user name and/or password.</p>
|
22
|
-
</div>
|
@@ -1,22 +0,0 @@
|
|
1
|
-
<style>
|
2
|
-
body {
|
3
|
-
font-family: sans-serif;
|
4
|
-
color: black;
|
5
|
-
background: #DDDDDD;
|
6
|
-
text-align: center;
|
7
|
-
}
|
8
|
-
#login {
|
9
|
-
width: 30em;
|
10
|
-
height: 15em;
|
11
|
-
margin: 1em auto;
|
12
|
-
background: white;
|
13
|
-
border: 1px solid gray;
|
14
|
-
padding: 10px 30px;
|
15
|
-
text-align: left;
|
16
|
-
}
|
17
|
-
</style>
|
18
|
-
|
19
|
-
<div id='login'>
|
20
|
-
<h1>Welcome Page</h1>
|
21
|
-
<p>Login succeeded. Now you can <a href="test_login">logout</a>.</p>
|
22
|
-
</div>
|
data/app/views/test_page.erb
DELETED
@@ -1,184 +0,0 @@
|
|
1
|
-
<section id="test_page">
|
2
|
-
<h2>Simple Object Page</h2>
|
3
|
-
|
4
|
-
<p>Use this page to test out logic on common web objects.</p>
|
5
|
-
|
6
|
-
<h3>Links</h3>
|
7
|
-
|
8
|
-
<div class="indent">
|
9
|
-
<p>Here is a link with more than one way to identify it.</p>
|
10
|
-
<p><a href="success_1" id="avengersID" class="avengersClass" name="avengersName" title="Click to Assemble">Avengers Assemble</a></p>
|
11
|
-
|
12
|
-
<p>Here are two links that are identical for index (implicit) but not link location (explicit).</p>
|
13
|
-
<p><a href="success_1">Justice League Unite</a><br />
|
14
|
-
<a href="success_2">Justice League Unite</a></p>
|
15
|
-
|
16
|
-
<p>Here is a link that has locators but will be undeclared.</p>
|
17
|
-
<p><a id="oath" href="success_1">"in the brightest day; in the darkest night"</a></p>
|
18
|
-
</div>
|
19
|
-
|
20
|
-
<h3>Standalone Form Elements</h3>
|
21
|
-
|
22
|
-
<div class="group">
|
23
|
-
<p>Below is a regular button and a disabled button. Both buttons have a series of possible locators.</p>
|
24
|
-
|
25
|
-
<form action="success_1" method="get">
|
26
|
-
<input id="clickmeID" class="clickmeClass" name="clickmeName" type="submit" value="Click Me">
|
27
|
-
<br/>
|
28
|
-
<input id="cantclickmeID" class="cantclickmeClass" name="cantclickmeName" disabled="disabled" type="submit" value="Can't Click Me">
|
29
|
-
</form>
|
30
|
-
|
31
|
-
<p> Below is a button that will be undeclared.</p>
|
32
|
-
<form action="success_1" method="get">
|
33
|
-
<input id="nostalgic" type="submit" value="All Your Base Are Belong To Us">
|
34
|
-
</form>
|
35
|
-
</div>
|
36
|
-
|
37
|
-
<div class="group">
|
38
|
-
<p>Below is a group of related field elements. Of note, one of them is a hidden field for the ISBN.</p>
|
39
|
-
|
40
|
-
<label id="book_title"><strong>Book Title:</strong></label>
|
41
|
-
<br/>
|
42
|
-
<input id="bookTitleID" class="bookTitleClass" name="bookTitleName" size="40" type="text">
|
43
|
-
<br/>
|
44
|
-
<br />
|
45
|
-
<label id="book_author"><strong>Book Author:</strong></label>
|
46
|
-
<br />
|
47
|
-
<input id="bookAuthorID" size="40" type="text">
|
48
|
-
<br />
|
49
|
-
<br/>
|
50
|
-
<label id=book_summary"><strong>Book Summary:</strong></label>
|
51
|
-
<br/>
|
52
|
-
<textarea id="bookSummaryID" class="bookSummaryClass" name="bookSummaryName" rows="2" cols="80"/></textarea>
|
53
|
-
<br/>
|
54
|
-
<input id="bookIsbnID" class="bookIsbnClass" name="bookIsbnName" size="40" type="hidden" value="0-85131-041-9">
|
55
|
-
<br/>
|
56
|
-
<label class="book_reference_id"><strong>Book Internal Reference ID (Read Only):</strong></label>
|
57
|
-
<br/>
|
58
|
-
<input id="bookRefID" class="bookRefClass" name="bookRefName" readonly="readonly" size="40" type="text" value="1123456:AF01" style="background-color: #000000; color: yellow;">
|
59
|
-
<br/>
|
60
|
-
<br/>
|
61
|
-
<label id="book_publisher_id"><strong>Book Internal Publisher ID (Disabled):</strong></label>
|
62
|
-
<br/>
|
63
|
-
<input id="bookPubID" class="bookPubClass" name="bookPubName" disabled="disabled" size="40" type="text" value="ESC:001678:FNC">
|
64
|
-
</div>
|
65
|
-
|
66
|
-
<div class="group">
|
67
|
-
<p>This grouping contains some common web objects that are placed on forms or pages to allow selections. Note that some are disabled.</p>
|
68
|
-
<p><strong>Choose Your Subatomic Particles (More Than One):</strong></p>
|
69
|
-
<select id="subatomicID" multiple="multiple">
|
70
|
-
<option value="electron">Electron</option>
|
71
|
-
<option value="neutron">Neutron</option>
|
72
|
-
<option value="quark">Quark</option>
|
73
|
-
<option value="higgs">Higgs Boson</option>
|
74
|
-
<option value="neutrino">Neutrino</option>
|
75
|
-
<option value="graviton">Graviton</option>
|
76
|
-
<option value="photon">Photon</option>
|
77
|
-
</select>
|
78
|
-
|
79
|
-
<p><strong>Choose Your Physics Concepts:</strong></p>
|
80
|
-
<select id="physicsConceptsID" class="physicsConceptsClass" name="physicsConceptsName">
|
81
|
-
<option value="option1">Quantum Entanglement</option>
|
82
|
-
<option value="option2">Tachyonic Antitravel</option>
|
83
|
-
<option value="option3">Bose-Einstein Condensates</option>
|
84
|
-
</select>
|
85
|
-
|
86
|
-
<p><strong>Your Favorite Sith Power (Disabled):</strong></p>
|
87
|
-
<select id="sithPowerID" class="sithPowerClass" name="sithPowerName" disabled="disabled">
|
88
|
-
<option value="option1">Force Lightning</option>
|
89
|
-
<option value="option2">Sundering Assault</option>
|
90
|
-
<option value="option3">Vicious Slash</option>
|
91
|
-
</select>
|
92
|
-
|
93
|
-
<p><strong>Choose Your Futuristic Technology:</strong></p>
|
94
|
-
<input id="camoArmorID" class="camoArmorClass" name="camoArmorName" type="checkbox" value="1">Chameleoflage Armor
|
95
|
-
<br/>
|
96
|
-
<input id="neuralShuntID" class="neuralShuntClass" name="neuralShuntName" type="checkbox" value="2">Neural Shunts
|
97
|
-
<br/>
|
98
|
-
<input id="kineticHarpoonID" class="kineticHarpoonClass" name="kineticHarpoonName" type="checkbox" value="3">Kinetic Harpoons
|
99
|
-
<br/>
|
100
|
-
<input id="organicCircuitryID" class="organicCircuitryClass" name="organicCircuitryName" type="checkbox" value="4">Organic Circuitry
|
101
|
-
<br/>
|
102
|
-
<input id="eigenstateID" class="eigenstateClass" name="eigenstateName" type="checkbox" value="5" disabled="disabled">Preferential Eigenstate Selector (Disabled)
|
103
|
-
|
104
|
-
<p><strong>Select Your Least Favorite Way To Vaporize:</strong>
|
105
|
-
<form>
|
106
|
-
<input id="mtcID" class="mtcClass" name="vaporize" type="radio" value="Multiphasic Temporal Convergence">Multiphasic Temporal Convergence
|
107
|
-
<br/>
|
108
|
-
<input id="upsID" class="upsClass" name="vaporize" type="radio" value="Unstable Phase Shift">Unstable Phase Shift
|
109
|
-
<br/>
|
110
|
-
<input id="wcbID" class="wcbClass" name="vaporize" type="radio" value="Warp Core Breach">Warp Core Breach
|
111
|
-
<br/>
|
112
|
-
<input id="cmeID" class="cmeClass" name="vaporize" type="radio" value="Coronal Mass Ejection" disabled="disabled">Coronal Mass Ejection (Disabled)
|
113
|
-
</form>
|
114
|
-
</div>
|
115
|
-
|
116
|
-
<h3>Tables</h3>
|
117
|
-
|
118
|
-
<div class="group">
|
119
|
-
<p>This first table is very simple, using just basic HTML constructs. It has only one way identify it.</p>
|
120
|
-
|
121
|
-
<table id="atomicTableID" border="1" width="400" cellpadding="3" cellspacing="3">
|
122
|
-
<tr>
|
123
|
-
<th>Element</th>
|
124
|
-
<th>Symbol</th>
|
125
|
-
<th>Atomic Number</th>
|
126
|
-
</tr>
|
127
|
-
<tr>
|
128
|
-
<td>Carbon</td>
|
129
|
-
<td>C</td>
|
130
|
-
<td>6</td>
|
131
|
-
</tr>
|
132
|
-
<tr>
|
133
|
-
<td>Molybdenum</td>
|
134
|
-
<td>Mo</td>
|
135
|
-
<td>42</td>
|
136
|
-
</tr>
|
137
|
-
<tr>
|
138
|
-
<td>Radon</td>
|
139
|
-
<td>Rn</td>
|
140
|
-
<td>86</td>
|
141
|
-
</tr>
|
142
|
-
<tr>
|
143
|
-
<td>Xenon</td>
|
144
|
-
<td>Xe</td>
|
145
|
-
<td>54</td>
|
146
|
-
</tr>
|
147
|
-
</table>
|
148
|
-
|
149
|
-
<p>This second table uses more HTML constructs. It has multiple ways to identify it.</p>
|
150
|
-
|
151
|
-
<table id="savingsTableID" name="savingsTableName" class="savingsTableClass" border='1'>
|
152
|
-
<thead>
|
153
|
-
<tr>
|
154
|
-
<th>Month</th>
|
155
|
-
<th>Savings</th>
|
156
|
-
</tr>
|
157
|
-
</thead>
|
158
|
-
<tfoot>
|
159
|
-
<tr>
|
160
|
-
<td>Sum</td>
|
161
|
-
<td>$180</td>
|
162
|
-
</tr>
|
163
|
-
</tfoot>
|
164
|
-
<tbody>
|
165
|
-
<tr>
|
166
|
-
<td>January</td>
|
167
|
-
<td id="jan_save" name="jan_save" class="cell_class">$100</td>
|
168
|
-
</tr>
|
169
|
-
<tr>
|
170
|
-
<td>February</td>
|
171
|
-
<td id="feb_save" name="feb_save" class="cell_class">$80</td>
|
172
|
-
</tr>
|
173
|
-
</tbody>
|
174
|
-
</table>
|
175
|
-
</div>
|
176
|
-
|
177
|
-
<h3>Sectional Elements (Div and Span)</h3>
|
178
|
-
|
179
|
-
<div class="group">
|
180
|
-
<div id="divTextID" name="divTextName" class="divTextClass">This text is within a div tag.</div>
|
181
|
-
<span id="spanTextID" name="spanTextName" class="spanTextClass">This text is within a span tag.</span>
|
182
|
-
</div>
|
183
|
-
|
184
|
-
</section>
|
data/specs/button.feature
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
Feature: Ability to Support Button Web Objects
|
2
|
-
|
3
|
-
Scenario: Reference a button
|
4
|
-
When on the object test page
|
5
|
-
Then the click me button should exist
|
6
|
-
And the click me button should be visible
|
7
|
-
And the click me button should be enabled
|
8
|
-
And the click me button should be a button object
|
9
|
-
|
10
|
-
Scenario: Get text from a button
|
11
|
-
When on the object test page
|
12
|
-
Then the text of the click me button should be "Click Me"
|
13
|
-
|
14
|
-
Scenario: Click a button
|
15
|
-
When the click me button on the simple object test page is clicked
|
16
|
-
Then the first success page appears
|
17
|
-
|
18
|
-
Scenario: Handling a non-existent button
|
19
|
-
When on the object test page
|
20
|
-
Then the fake button should not exist
|
21
|
-
But the fake button should be a button object
|
22
|
-
|
23
|
-
Scenario: Handling a disabled button
|
24
|
-
When on the object test page
|
25
|
-
Then the can't click me button should exist
|
26
|
-
And the can't click me button should be visible
|
27
|
-
And the text of the can't click me button should be "Can't Click Me"
|
28
|
-
And the can't click me button should be a button object
|
29
|
-
But the can't click me button should not be enabled
|
30
|
-
|
31
|
-
Scenario Outline: Finding buttons with locators
|
32
|
-
When the click me button on the object test page is clicked by "<locator>"
|
33
|
-
Then the first success page appears
|
34
|
-
|
35
|
-
Scenarios:
|
36
|
-
| locator |
|
37
|
-
| id |
|
38
|
-
| name |
|
39
|
-
| class |
|
40
|
-
| xpath |
|
41
|
-
| index |
|
42
|
-
| value |
|
43
|
-
| text |
|
44
|
-
| css |
|