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/specs/checkbox.feature
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
Feature: Ability to Support Checkbox Web Objects
|
2
|
-
|
3
|
-
Scenario: Reference a button
|
4
|
-
When on the object test page
|
5
|
-
Then the organic circuitry checkbox should exist
|
6
|
-
And the organic circuitry checkbox should be visible
|
7
|
-
And the organic circuitry checkbox should be enabled
|
8
|
-
And the organic circuitry checkbox should be a checkbox object
|
9
|
-
|
10
|
-
Scenario: Modify checkbox and check state
|
11
|
-
When organic circuitry is not chosen as the futuristic technology
|
12
|
-
Then the organic circuitry checkbox should be unchecked
|
13
|
-
When organic circuitry is chosen as the futuristic technology
|
14
|
-
Then the organic circuitry checkbox should be checked
|
15
|
-
When organic circuitry is not chosen as the futuristic technology
|
16
|
-
Then the organic circuitry checkbox should be unchecked
|
17
|
-
|
18
|
-
Scenario: Handling a non-existent checkbox
|
19
|
-
When on the object test page
|
20
|
-
Then the fake checkbox should not exist
|
21
|
-
But the fake checkbox should be a checkbox object
|
22
|
-
|
23
|
-
Scenario: Handling a disabled checkbox
|
24
|
-
When on the object test page
|
25
|
-
Then the preferential eigenstate selector checkbox should exist
|
26
|
-
And the preferential eigenstate selector checkbox should be visible
|
27
|
-
And the preferential eigenstate selector checkbox should be a checkbox object
|
28
|
-
But the preferential eigenstate selector checkbox should not be enabled
|
29
|
-
|
30
|
-
Scenario Outline: Finding buttons with locators
|
31
|
-
When the kinetic harpoon checkbox on the object test page is checked by "<locator>"
|
32
|
-
Then the kinetic harpoon checkbox should be checked
|
33
|
-
|
34
|
-
Scenarios:
|
35
|
-
| locator |
|
36
|
-
| id |
|
37
|
-
| name |
|
38
|
-
| class |
|
39
|
-
| xpath |
|
40
|
-
| index |
|
data/specs/data_setter.feature
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
Feature: Ability to enter sets of data
|
2
|
-
|
3
|
-
Scenario: Enter data into form when definition has default data
|
4
|
-
When an administrator logs in
|
5
|
-
Then the users option should be available
|
6
|
-
|
7
|
-
Scenario: Enter data into form with modification of default data
|
8
|
-
When a clinical administrator logs in
|
9
|
-
Then the users option should not be available
|
10
|
-
|
11
|
-
Scenario: Enter data into a form using specific data
|
12
|
-
When a power user with a nonsecure password logs in to the beta client
|
13
|
-
Then the users option should not be available
|
14
|
-
|
15
|
-
Scenario: Enter data into a form using specific data from a table
|
16
|
-
When a user logs in with:
|
17
|
-
| server | client | loginName | loginPassword |
|
18
|
-
| dev | test | jnyman | Timef1ux81* |
|
19
|
-
Then the users option should not be available
|
20
|
-
|
21
|
-
Scenario: Enter data into a select list
|
22
|
-
When a totally fictitious concept is used
|
23
|
-
Then that concept should be selected
|
24
|
-
|
25
|
-
Scenario: Enter data into a check boxes and radios
|
26
|
-
When two futuristic technologies are chosen
|
27
|
-
And a way to vaporize is selected
|
28
|
-
Then those technologies should be checked
|
29
|
-
And that vaporization method should be selected
|
data/specs/definitions/pages.rb
DELETED
@@ -1,156 +0,0 @@
|
|
1
|
-
class LandingPage
|
2
|
-
include Symbiont
|
3
|
-
|
4
|
-
url_is "http://localhost:4567"
|
5
|
-
title_is "Landing Page | Test Application"
|
6
|
-
look_for :simple_object_page
|
7
|
-
|
8
|
-
link :simple_object_page, id: "test_page"
|
9
|
-
link :database_app, id: "test_database"
|
10
|
-
link :fake_link, id: "fake_link"
|
11
|
-
end
|
12
|
-
|
13
|
-
class SimpleObjectPage
|
14
|
-
include Symbiont
|
15
|
-
|
16
|
-
url_is "http://localhost:4567/test_page"
|
17
|
-
title_is "Simple Object Page | Test Application"
|
18
|
-
|
19
|
-
link :avengersID, id: "avengersID"
|
20
|
-
link :avengersName, name: "avengersName"
|
21
|
-
link :avengersClass, class: "avengersClass"
|
22
|
-
link :avengersXPath, xpath: "id('avengersID')"
|
23
|
-
link :avengersIndex, {id: "avengersID", index: 0}
|
24
|
-
link :avengersText, text: "Avengers Assemble"
|
25
|
-
link :avengersHref, href: "success_1"
|
26
|
-
link :avengersLink, link: "Avengers Assemble"
|
27
|
-
link :avengersLinkText, link_text: "Avengers Assemble"
|
28
|
-
link :avengersTitle, title: "Click to Assemble"
|
29
|
-
link :avengersCSS, css: "#avengersID"
|
30
|
-
|
31
|
-
button :clickmeID, id: "clickmeID"
|
32
|
-
button :clickmeName, name: "clickmeName"
|
33
|
-
button :clickmeClass, class: "clickmeClass"
|
34
|
-
button :clickmeXPath, xpath: "//input[@id='clickmeID']"
|
35
|
-
button :clickmeIndex, {id: "clickmeID", index: 0}
|
36
|
-
button :clickmeValue, value: "Click Me"
|
37
|
-
button :clickmeText, text: "Click Me"
|
38
|
-
button :clickmeCSS, css: "#clickmeID"
|
39
|
-
|
40
|
-
button :cantClickMeID, id: "cantclickmeID"
|
41
|
-
|
42
|
-
button :fake_button, id: "fake_button"
|
43
|
-
|
44
|
-
text_field :bookTitleID, id: "bookTitleID"
|
45
|
-
text_field :bookTitleName, name: "bookTitleName"
|
46
|
-
text_field :bookTitleClass, class: "bookTitleClass"
|
47
|
-
text_field :bookTitleXPath, xpath: "//input[@id='bookTitleID']"
|
48
|
-
text_field :bookTitleIndex, {id: "bookTitleID", index: 0}
|
49
|
-
|
50
|
-
text_field :bookRefID, id: "bookRefID"
|
51
|
-
text_field :bookPubID, id: "bookPubID"
|
52
|
-
text_field :fake_text_field, id: "fake_text_field"
|
53
|
-
|
54
|
-
select_list :subatomicParticles, id: "subatomicID"
|
55
|
-
|
56
|
-
select_list :physicsConceptsID, id: "physicsConceptsID"
|
57
|
-
select_list :physicsConceptsName, name: "physicsConceptsName"
|
58
|
-
select_list :physicsConceptsClass, class: "physicsConceptsClass"
|
59
|
-
select_list :physicsConceptsXPath, xpath: "//select[@id='physicsConceptsID']"
|
60
|
-
select_list :physicsConceptsIndex, {id: "physicsConceptsID", index: 0}
|
61
|
-
|
62
|
-
select_list :sithPowerID, id: "sithPowerID"
|
63
|
-
select_list :fake_select_list, id: "fake_select_list"
|
64
|
-
|
65
|
-
checkbox :neuralShunt, id: "neuralShuntID"
|
66
|
-
checkbox :organicCircuitry, id: "organicCircuitryID"
|
67
|
-
|
68
|
-
checkbox :kineticHarpoonID, id: "kineticHarpoonID"
|
69
|
-
checkbox :kineticHarpoonName, name: "kineticHarpoonName"
|
70
|
-
checkbox :kineticHarpoonClass, class: "kineticHarpoonClass"
|
71
|
-
checkbox :kineticHarpoonXPath, xpath: "//input[@id='kineticHarpoonID']"
|
72
|
-
checkbox :kineticHarpoonIndex, {id: "kineticHarpoonID", index: 0}
|
73
|
-
|
74
|
-
checkbox :eigenstate, id: "eigenstateID"
|
75
|
-
checkbox :fake_checkbox, id: "fake_checkbox"
|
76
|
-
|
77
|
-
radio :warpCoreBreach, id: "wcbID"
|
78
|
-
|
79
|
-
radio :unstablePhaseShiftID, id: "upsID"
|
80
|
-
radio :unstablePhaseShiftName, name: "vaporize"
|
81
|
-
radio :unstablePhaseShiftClass, class: "upsClass"
|
82
|
-
radio :unstablePhaseShiftXPath, xpath: "//input[@id='upsID']"
|
83
|
-
radio :unstablePhaseShiftIndex, {id: "unstablePhaseShiftID", index: 3}
|
84
|
-
|
85
|
-
radio :fake_radio, id: "fake_radio"
|
86
|
-
radio :coronalMassEjection, id: "cmeID"
|
87
|
-
|
88
|
-
table :atomicTable, id: "atomicTableID"
|
89
|
-
|
90
|
-
table :savingsTableID, id: "savingsTableID"
|
91
|
-
table :savingsTableName, name: "savingsTableName"
|
92
|
-
table :savingsTableClass, class: "savingsTableClass"
|
93
|
-
table :savingsTableXPath, xpath: "id('savingsTableID')"
|
94
|
-
|
95
|
-
cell :janSavings, id: "jan_save"
|
96
|
-
cell :febSavings, id: "feb_save"
|
97
|
-
|
98
|
-
div :divTextID, id: "divTextID"
|
99
|
-
div :divTextName, name: "divTextName"
|
100
|
-
div :divTextClass, class: "divTextClass"
|
101
|
-
|
102
|
-
span :spanTextID, id: "spanTextID"
|
103
|
-
span :spanTextName, name: "spanTextName"
|
104
|
-
span :spanTextClass, class: "spanTextClass"
|
105
|
-
end
|
106
|
-
|
107
|
-
class SimpleEventsPage
|
108
|
-
include Symbiont
|
109
|
-
|
110
|
-
url_is "http://localhost:4567/test_events"
|
111
|
-
|
112
|
-
button :conditional, id: "conditional"
|
113
|
-
button :hideButton, value: "Hide Button"
|
114
|
-
button :revealButton, value: "Reveal Button"
|
115
|
-
button :createButton, value: "Create Button"
|
116
|
-
button :removeButton, value: "Remove Button"
|
117
|
-
|
118
|
-
button :alert, id: "alertButton"
|
119
|
-
button :confirm, id: "confirmButton"
|
120
|
-
button :prompt, id: "promptButton"
|
121
|
-
end
|
122
|
-
|
123
|
-
class LoggingIn
|
124
|
-
include Symbiont
|
125
|
-
begin_at "http://localhost:4567/test_database"
|
126
|
-
|
127
|
-
LOGIN_DATA = {
|
128
|
-
'server' => 'Staging',
|
129
|
-
'client' => 'Test',
|
130
|
-
'loginName' => 'administrator',
|
131
|
-
'loginPassword' => 'p@ssWord!'
|
132
|
-
}
|
133
|
-
|
134
|
-
within_frame(id: "loginSection") do |frame|
|
135
|
-
text_field :server, id: "serverID", frame: frame
|
136
|
-
text_field :client, id: "clientID", frame: frame
|
137
|
-
text_field :loginName, id: "loginNameID", frame: frame
|
138
|
-
text_field :loginPassword, id: "passwordID", frame: frame
|
139
|
-
button :login, id: "btnSubmit", frame: frame
|
140
|
-
end
|
141
|
-
|
142
|
-
def login_as(credentials = {})
|
143
|
-
credentials = LOGIN_DATA.merge(credentials)
|
144
|
-
self.server = credentials['server']
|
145
|
-
self.client = credentials['client']
|
146
|
-
self.loginName = credentials['loginName']
|
147
|
-
self.loginPassword = credentials['loginPassword']
|
148
|
-
self.login
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
|
-
class EntityList
|
153
|
-
include Symbiont
|
154
|
-
|
155
|
-
link :users, id: "users"
|
156
|
-
end
|
data/specs/div.feature
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
Feature: Ability to Support Div Web Objects
|
2
|
-
|
3
|
-
Scenario: Reference a div
|
4
|
-
When on the object test page
|
5
|
-
Then the div text should exist
|
6
|
-
And the div text should be visible
|
7
|
-
And the div text should be a div object
|
8
|
-
|
9
|
-
Scenario: Get text from a div
|
10
|
-
When on the object test page
|
11
|
-
Then the div text should be "This text is within a div tag."
|
data/specs/evaluators.feature
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
Feature: Ability to handle browser and page actions.
|
2
|
-
|
3
|
-
Scenario: Getting web page text
|
4
|
-
When on the object test page
|
5
|
-
Then the page should contain the text "Multiphasic Temporal Convergence"
|
6
|
-
|
7
|
-
Scenario: Getting web page markup
|
8
|
-
When on the object test page
|
9
|
-
Then the page should contain the markup "<td>Carbon</td>"
|
10
|
-
|
11
|
-
Scenario: Getting web page title
|
12
|
-
When on the object test page
|
13
|
-
Then the page should have the title "Simple Object Page | Test Application"
|
14
|
-
|
15
|
-
Scenario: Getting the web page url
|
16
|
-
When on the object test page
|
17
|
-
Then the page url should be "http://localhost:4567/test_page"
|
data/specs/events.feature
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
Feature: Ability to Handle Events or Time-Based Situations
|
2
|
-
|
3
|
-
Scenario: Waiting for a general condition
|
4
|
-
When performing a successful action on the object test page
|
5
|
-
Then the test should wait for a success page
|
6
|
-
|
7
|
-
Scenario: Waiting for an object to be invisible
|
8
|
-
When on the events test page
|
9
|
-
Then the conditional button can be clicked
|
10
|
-
When the conditional button is hidden
|
11
|
-
Then the test will wait until the conditional button is invisible
|
12
|
-
And after that time the conditional button should not be visible
|
13
|
-
|
14
|
-
Scenario: Waiting for an object to be visible
|
15
|
-
When the conditional button on the events test page is invisible
|
16
|
-
And the conditional button is revealed
|
17
|
-
Then the test will wait until the conditional button is visible before clicking it
|
18
|
-
|
19
|
-
Scenario: Dealing with alert message boxes
|
20
|
-
When the alert message box appears
|
21
|
-
Then the alert message should be "Alert Message Received"
|
22
|
-
|
23
|
-
Scenario: Dealing with confirmation message boxes
|
24
|
-
When the confirmation message box appears
|
25
|
-
Then the confirmation message should be "Confirmation Message Received"
|
26
|
-
|
27
|
-
Scenario: Dealing with prompt message boxes
|
28
|
-
When the prompt message box appears
|
29
|
-
Then the prompt message should be "Favorite Sith Lord"
|
30
|
-
And the prompt default value should be "Darth Bane"
|
data/specs/frame.feature
DELETED
data/specs/link.feature
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
Feature: Ability to Support Link Web Objects
|
2
|
-
|
3
|
-
Scenario: Reference a link
|
4
|
-
When on the landing page
|
5
|
-
Then the database app link should exist
|
6
|
-
And the database app link should be visible
|
7
|
-
And the database app link should be a link object
|
8
|
-
|
9
|
-
Scenario: Get text from a link
|
10
|
-
When on the landing page
|
11
|
-
Then the text of the object test page link should be "Simple Object Page"
|
12
|
-
|
13
|
-
Scenario: Click a link
|
14
|
-
When the object test page link on the landing page is clicked
|
15
|
-
Then the simple object page appears
|
16
|
-
|
17
|
-
Scenario: Handling a non-existent link
|
18
|
-
When on the landing page
|
19
|
-
Then the fake link should not exist
|
20
|
-
But the fake link should be a link object
|
21
|
-
|
22
|
-
Scenario: Handling a non-declared text field
|
23
|
-
When the oath link on the object test page is clicked
|
24
|
-
Then the first success page appears
|
25
|
-
|
26
|
-
Scenario Outline: Finding links with locators
|
27
|
-
When the avengers link on the object test page is clicked by "<locator>"
|
28
|
-
Then the first success page appears
|
29
|
-
|
30
|
-
Scenarios:
|
31
|
-
| locator |
|
32
|
-
| css |
|
33
|
-
| id |
|
34
|
-
| name |
|
35
|
-
| class |
|
36
|
-
| xpath |
|
37
|
-
| index |
|
38
|
-
| title |
|
39
|
-
| text |
|
40
|
-
| href |
|
41
|
-
| link |
|
42
|
-
| link_text |
|
data/specs/locators.feature
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
Feature: Ability to Reference and Use Undeclared Web Objects
|
2
|
-
|
3
|
-
Scenario: Undeclared links
|
4
|
-
When the test needs to utilize the oath link
|
5
|
-
Then the oath link can be referenced
|
6
|
-
And the oath link can be clicked
|
7
|
-
|
8
|
-
Scenario: Undeclared buttons
|
9
|
-
When the test needs to utilize the nostalgic button
|
10
|
-
Then the nostalgic button can be referenced
|
11
|
-
And the nostalgic button can be clicked
|
12
|
-
|
13
|
-
Scenario: Undeclared text fields
|
14
|
-
When the test needs to utilize the book summary text field
|
15
|
-
Then the book summary text field can be referenced
|
16
|
-
And the book summary text field can be set to "A How-To Guide for Sith Inquisitors"
|
17
|
-
And the book summary should be "A How-To Guide for Sith Inquisitors"
|
data/specs/radio.feature
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
Feature: Ability to Support Radio Web Objects
|
2
|
-
|
3
|
-
Scenario: Reference a radio
|
4
|
-
When on the object test page
|
5
|
-
Then the warp core breach radio should exist
|
6
|
-
And the warp core breach radio should be visible
|
7
|
-
And the warp core breach radio should be enabled
|
8
|
-
And the warp core breach radio should be a radio object
|
9
|
-
|
10
|
-
Scenario: Modify radio and check state
|
11
|
-
When warp core breach is not selected as the least favorite way to vaporize
|
12
|
-
Then the warp core breach radio should not be set
|
13
|
-
When warp core breach is selected as the least favorite way to vaporize
|
14
|
-
Then the warp core breach radio should be set
|
15
|
-
|
16
|
-
Scenario: Handling a non-existent radio
|
17
|
-
When on the object test page
|
18
|
-
Then the fake radio should not exist
|
19
|
-
But the fake radio should be a radio object
|
20
|
-
|
21
|
-
Scenario: Handling a disabled radio
|
22
|
-
When on the object test page
|
23
|
-
Then the coronal mass ejection radio should exist
|
24
|
-
And the coronal mass ejection radio should be visible
|
25
|
-
And the coronal mass ejection radio should be a radio object
|
26
|
-
But the coronal mass ejection radio should not be enabled
|
27
|
-
|
28
|
-
Scenario Outline: Finding buttons with locators
|
29
|
-
When the unstable phase shift radio on the object test page is selected by "<locator>"
|
30
|
-
Then the unstable phase shift radio should be set
|
31
|
-
|
32
|
-
# Unable to run index
|
33
|
-
Scenarios:
|
34
|
-
| locator |
|
35
|
-
| id |
|
36
|
-
| name |
|
37
|
-
| class |
|
38
|
-
| xpath |
|
data/specs/select_list.feature
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
Feature: Ability to Support Select List Web Objects
|
2
|
-
|
3
|
-
Scenario: Reference a select list
|
4
|
-
When on the object test page
|
5
|
-
Then the physics concepts select list should exist
|
6
|
-
And the physics concepts select list should be visible
|
7
|
-
And the physics concepts select list should be enabled
|
8
|
-
And the physics concepts select list should be a select list object
|
9
|
-
And the physics concepts select list should include "Bose-Einstein Condensates"
|
10
|
-
|
11
|
-
Scenario: Select item in select list and get current selection from it
|
12
|
-
When "Tachyonic Antitravel" is selected from physics concepts on the object test page
|
13
|
-
Then the physics concepts select list should have the second option selected
|
14
|
-
And the physics concepts select list should be displaying "Tachyonic Antitravel"
|
15
|
-
|
16
|
-
Scenario: Select item in select list by value
|
17
|
-
When "option3" is selected from the physics concepts list
|
18
|
-
Then the physics concepts select list should be displaying "Bose-Einstein Condensates"
|
19
|
-
And the selected option on the physics concepts select list should have a value of "option3"
|
20
|
-
|
21
|
-
Scenario: Selecting multiple items from a list and clearing the list
|
22
|
-
When "Photon" and "Quark" are selected from the subatomic particles select list
|
23
|
-
Then the subatomic particles list should be displaying "Photon" and "Quark"
|
24
|
-
When the select list is cleared
|
25
|
-
Then the select list should have no selected options
|
26
|
-
|
27
|
-
Scenario: Handling a non-existent select list
|
28
|
-
When on the object test page
|
29
|
-
Then the fake select list should not exist
|
30
|
-
But the fake select list should be a select list object
|
31
|
-
|
32
|
-
Scenario: Handling a disabled select list
|
33
|
-
When on the object test page
|
34
|
-
Then the sith power select list should exist
|
35
|
-
And the sith power select list should be visible
|
36
|
-
And the sith power select list should be displaying "Force Lightning"
|
37
|
-
And the sith power select list object should be a select list object
|
38
|
-
But the sith power select list should not be enabled
|
39
|
-
|
40
|
-
Scenario Outline: Finding select lists with locators
|
41
|
-
When the physics concepts on the object test page is selected by "<locator>"
|
42
|
-
Then the physics concepts select list should be displaying "Tachyonic Antitravel"
|
43
|
-
|
44
|
-
Scenarios:
|
45
|
-
| locator |
|
46
|
-
| id |
|
47
|
-
| name |
|
48
|
-
| class |
|
49
|
-
| xpath |
|
50
|
-
| index |
|