symbiont 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- 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 |
|