wisp-schema 1.0.6 → 1.2.2
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.
- checksums.yaml +4 -4
- data/canary-wisp.json +36 -2
- data/lib/version.rb +3 -2
- data/lib/wisp-schema.rb +34 -0
- data/stable/actions/click.json +27 -0
- data/stable/actions/close_tab.json +20 -0
- data/stable/actions/double_click.json +24 -0
- data/stable/actions/drag_and_drop.json +28 -0
- data/stable/actions/fill.json +25 -0
- data/stable/actions/hover.json +24 -0
- data/stable/actions/loaded.json +21 -0
- data/stable/actions/navigate.json +22 -0
- data/stable/actions/observe.json +29 -0
- data/stable/actions/refresh.json +20 -0
- data/stable/actions/scroll.json +25 -0
- data/stable/actions/select.json +28 -0
- data/stable/actions/send_key.json +22 -0
- data/stable/actions/tester_confirmation.json +21 -0
- data/stable/actions/tester_instruction.json +21 -0
- data/stable/actions/type.json +21 -0
- data/stable/actions/ui_element_reference.json +14 -0
- data/stable/actions/wait.json +22 -0
- data/wisp.json +131 -169
- metadata +19 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4b84a9f4f5273e68367e3dd5f8a7ca761d799c9e8da578dbcd0902949206f267
|
|
4
|
+
data.tar.gz: c24fd37ce555fe9ae1378f936539085df37e6ab321f428721e16550df3557038
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a4e7aad44e62ee576644afb790bf2de039c7fccd11d0031594798949ac57e6a078b1dff9115fec999a0eec78df5a56c9f2f854f83539888f77739e204293c21a
|
|
7
|
+
data.tar.gz: ce14c453a2d0e96f3440c20228e34b41da7607723ec98502ac1007825d407b56c7a675300b9159e289d2b61f32355ec15641ef0bb7a574b67c806ff2870e6b17
|
data/canary-wisp.json
CHANGED
|
@@ -91,6 +91,8 @@
|
|
|
91
91
|
"enum": ["click"]
|
|
92
92
|
},
|
|
93
93
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
94
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
95
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
94
96
|
"target": {
|
|
95
97
|
"title": "Target",
|
|
96
98
|
"$ref": "#/definitions/noun",
|
|
@@ -113,6 +115,8 @@
|
|
|
113
115
|
"enum": ["double_click"]
|
|
114
116
|
},
|
|
115
117
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
118
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
119
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
116
120
|
"target": {
|
|
117
121
|
"title": "Target",
|
|
118
122
|
"$ref": "#/definitions/noun",
|
|
@@ -132,6 +136,8 @@
|
|
|
132
136
|
"enum": ["fill"]
|
|
133
137
|
},
|
|
134
138
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
139
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
140
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
135
141
|
"target": {
|
|
136
142
|
"title": "Target",
|
|
137
143
|
"$ref": "#/definitions/noun",
|
|
@@ -152,6 +158,8 @@
|
|
|
152
158
|
"enum": ["type"]
|
|
153
159
|
},
|
|
154
160
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
161
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
162
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
155
163
|
"text": {"title": "Text", "type": "string"}
|
|
156
164
|
},
|
|
157
165
|
"additionalProperties": false,
|
|
@@ -167,6 +175,8 @@
|
|
|
167
175
|
"enum": ["send_key"]
|
|
168
176
|
},
|
|
169
177
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
178
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
179
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
170
180
|
"key": {"title": "Key", "type": "string"},
|
|
171
181
|
"modifier": {"title": "Modifier", "type": "string"}
|
|
172
182
|
},
|
|
@@ -183,6 +193,8 @@
|
|
|
183
193
|
"enum": ["hover"]
|
|
184
194
|
},
|
|
185
195
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
196
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
197
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
186
198
|
"target": {
|
|
187
199
|
"title": "Target",
|
|
188
200
|
"$ref": "#/definitions/noun",
|
|
@@ -202,6 +214,8 @@
|
|
|
202
214
|
"enum": ["select"]
|
|
203
215
|
},
|
|
204
216
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
217
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
218
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
205
219
|
"target": {
|
|
206
220
|
"title": "Target",
|
|
207
221
|
"$ref": "#/definitions/noun",
|
|
@@ -224,7 +238,9 @@
|
|
|
224
238
|
"action": {
|
|
225
239
|
"enum": ["refresh"]
|
|
226
240
|
},
|
|
227
|
-
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"}
|
|
241
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
242
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
243
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"}
|
|
228
244
|
},
|
|
229
245
|
"additionalProperties": false,
|
|
230
246
|
"required": ["action"]
|
|
@@ -239,6 +255,8 @@
|
|
|
239
255
|
"enum": ["navigate"]
|
|
240
256
|
},
|
|
241
257
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
258
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
259
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
242
260
|
"url": {"title": "URL", "type": "string"},
|
|
243
261
|
"tab": {"title": "Tab", "type": "string", "enum": ["current", "new", "incognito"]}
|
|
244
262
|
},
|
|
@@ -254,7 +272,9 @@
|
|
|
254
272
|
"action": {
|
|
255
273
|
"enum": ["close_tab"]
|
|
256
274
|
},
|
|
257
|
-
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"}
|
|
275
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
276
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
277
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"}
|
|
258
278
|
},
|
|
259
279
|
"additionalProperties": false,
|
|
260
280
|
"required": ["action"]
|
|
@@ -269,6 +289,8 @@
|
|
|
269
289
|
"enum": ["scroll"]
|
|
270
290
|
},
|
|
271
291
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
292
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
293
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
272
294
|
"direction": {"title": "Direction", "type": "string", "enum": ["up", "down", "left", "right"]},
|
|
273
295
|
"target": {
|
|
274
296
|
"title": "Target",
|
|
@@ -289,6 +311,8 @@
|
|
|
289
311
|
"enum": ["wait"]
|
|
290
312
|
},
|
|
291
313
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
314
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
315
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
292
316
|
"seconds": {"title": "seconds", "type": "integer"}
|
|
293
317
|
},
|
|
294
318
|
"additionalProperties": false,
|
|
@@ -304,6 +328,8 @@
|
|
|
304
328
|
"enum": ["drag_and_drop"]
|
|
305
329
|
},
|
|
306
330
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
331
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
332
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
307
333
|
"object": {
|
|
308
334
|
"title": "Object",
|
|
309
335
|
"$ref": "#/definitions/noun"
|
|
@@ -344,6 +370,8 @@
|
|
|
344
370
|
"enum": ["tester_instruction"]
|
|
345
371
|
},
|
|
346
372
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
373
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
374
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
347
375
|
"instruction": {"title": "Instruction", "type": "string"}
|
|
348
376
|
},
|
|
349
377
|
"additionalProperties": false,
|
|
@@ -359,6 +387,8 @@
|
|
|
359
387
|
"enum": ["observe"]
|
|
360
388
|
},
|
|
361
389
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
390
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
391
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
362
392
|
"object": {
|
|
363
393
|
"title": "Object",
|
|
364
394
|
"$ref": "#/definitions/noun"
|
|
@@ -382,6 +412,8 @@
|
|
|
382
412
|
"enum": ["loaded"]
|
|
383
413
|
},
|
|
384
414
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
415
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
416
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
385
417
|
"page": {"title": "Page", "type": "string"}
|
|
386
418
|
},
|
|
387
419
|
"additionalProperties": false,
|
|
@@ -397,6 +429,8 @@
|
|
|
397
429
|
"enum": ["tester_confirmation"]
|
|
398
430
|
},
|
|
399
431
|
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
432
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
433
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
400
434
|
"confirmation": {"title": "confirmation", "type": "string"}
|
|
401
435
|
},
|
|
402
436
|
"additionalProperties": false,
|
data/lib/version.rb
CHANGED
data/lib/wisp-schema.rb
CHANGED
|
@@ -4,12 +4,35 @@ require 'semantic'
|
|
|
4
4
|
require_relative 'version'
|
|
5
5
|
|
|
6
6
|
module Wisp
|
|
7
|
+
class NotSupportedAction < StandardError
|
|
8
|
+
end
|
|
9
|
+
|
|
7
10
|
SCHEMA_PATH = File.expand_path('../wisp.json', __dir__)
|
|
8
11
|
NOUNS_PATH = File.expand_path('../nouns.json', __dir__)
|
|
9
12
|
|
|
10
13
|
CANARY_SCHEMA_PATH = File.expand_path('../canary-wisp.json', __dir__)
|
|
11
14
|
CANARY_NOUNS_PATH = File.expand_path('../canary-nouns.json', __dir__)
|
|
12
15
|
|
|
16
|
+
ACTIONS = [
|
|
17
|
+
"click",
|
|
18
|
+
"close_tab",
|
|
19
|
+
"double_click",
|
|
20
|
+
"drag_and_drop",
|
|
21
|
+
"fill",
|
|
22
|
+
"hover",
|
|
23
|
+
"loaded",
|
|
24
|
+
"navigate",
|
|
25
|
+
"observe",
|
|
26
|
+
"refresh",
|
|
27
|
+
"scroll",
|
|
28
|
+
"select",
|
|
29
|
+
"send_key",
|
|
30
|
+
"tester_confirmation",
|
|
31
|
+
"tester_instruction",
|
|
32
|
+
"type",
|
|
33
|
+
"wait",
|
|
34
|
+
].freeze
|
|
35
|
+
|
|
13
36
|
SEMANTIC_STABLE_VERSION = Semantic::Version.new(STABLE_VERSION)
|
|
14
37
|
|
|
15
38
|
def is_canary?(raw_version)
|
|
@@ -34,4 +57,15 @@ module Wisp
|
|
|
34
57
|
end
|
|
35
58
|
end
|
|
36
59
|
module_function :nouns_schemer
|
|
60
|
+
|
|
61
|
+
def action_schemer(raw_version, action)
|
|
62
|
+
raise NotSupportedAction unless ACTIONS.include?(action)
|
|
63
|
+
|
|
64
|
+
if is_canary?(raw_version)
|
|
65
|
+
JSONSchemer.schema(Pathname.new(File.expand_path("../canary/actions/#{action}.json", __dir__)))
|
|
66
|
+
else
|
|
67
|
+
JSONSchemer.schema(Pathname.new(File.expand_path("../stable/actions/#{action}.json", __dir__)))
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
module_function :action_schemer
|
|
37
71
|
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Click",
|
|
6
|
+
"description": "Clicks on the UI element",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["click"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"target": {
|
|
14
|
+
"title": "Target",
|
|
15
|
+
"$ref": "ui_element_reference.json"
|
|
16
|
+
},
|
|
17
|
+
"button": {"title": "Mouse Button", "type": "string", "enum": ["left", "middle", "right"]},
|
|
18
|
+
"hold": {"title": "And Hold", "type": "boolean"},
|
|
19
|
+
"hold_seconds": {"title": "Hold seconds", "type": "integer"},
|
|
20
|
+
"version": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"title": "Version"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"additionalProperties": false,
|
|
26
|
+
"required": ["action", "target", "button", "hold", "version"]
|
|
27
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Close Tab",
|
|
6
|
+
"description": "Closes current browser tab",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["close_tab"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"version": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"title": "Version"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"additionalProperties": false,
|
|
19
|
+
"required": ["action", "version"]
|
|
20
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Double Click",
|
|
6
|
+
"description": "Double-clicks on the UI element",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["double_click"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"target": {
|
|
14
|
+
"title": "Target",
|
|
15
|
+
"$ref": "ui_element_reference.json"
|
|
16
|
+
},
|
|
17
|
+
"version": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"title": "Version"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"additionalProperties": false,
|
|
23
|
+
"required": ["action", "target", "version"]
|
|
24
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Drag and drop",
|
|
6
|
+
"description": "Drag and drop",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["drag_and_drop"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"object": {
|
|
14
|
+
"title": "Object",
|
|
15
|
+
"$ref": "ui_element_reference.json"
|
|
16
|
+
},
|
|
17
|
+
"target": {
|
|
18
|
+
"title": "Target",
|
|
19
|
+
"$ref": "ui_element_reference.json"
|
|
20
|
+
},
|
|
21
|
+
"version": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"title": "Version"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"additionalProperties": false,
|
|
27
|
+
"required": ["action", "target", "object", "version"]
|
|
28
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Fill",
|
|
6
|
+
"description": "Fills the text field with specified content",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["fill"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"target": {
|
|
14
|
+
"title": "Target",
|
|
15
|
+
"$ref": "ui_element_reference.json"
|
|
16
|
+
},
|
|
17
|
+
"text": {"title": "Text", "type": "string"},
|
|
18
|
+
"version": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"title": "Version"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"additionalProperties": false,
|
|
24
|
+
"required": ["action", "target", "text", "version"]
|
|
25
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Hover",
|
|
6
|
+
"description": "Hovers over specified element",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["hover"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"target": {
|
|
14
|
+
"title": "Target",
|
|
15
|
+
"$ref": "ui_element_reference.json"
|
|
16
|
+
},
|
|
17
|
+
"version": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"title": "Version"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"additionalProperties": false,
|
|
23
|
+
"required": ["action", "target", "version"]
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "assertion",
|
|
5
|
+
"title": "Loaded",
|
|
6
|
+
"description": "Checks if specified page has loaded",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["loaded"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"page": {"title": "Page", "type": "string"},
|
|
14
|
+
"version": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"title": "Version"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"additionalProperties": false,
|
|
20
|
+
"required": ["action", "page", "version"]
|
|
21
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Navigate",
|
|
6
|
+
"description": "Navigates to specified URL",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["navigate"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"url": {"title": "URL", "type": "string"},
|
|
14
|
+
"tab": {"title": "Tab", "type": "string", "enum": ["current", "new", "incognito"]},
|
|
15
|
+
"version": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"title": "Version"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"additionalProperties": false,
|
|
21
|
+
"required": ["action", "url", "tab", "version"]
|
|
22
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "assertion",
|
|
5
|
+
"title": "Observe",
|
|
6
|
+
"description": "Checks if element of the UI is visible or not",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["observe"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"object": {
|
|
14
|
+
"title": "Object",
|
|
15
|
+
"$ref": "ui_element_reference.json"
|
|
16
|
+
},
|
|
17
|
+
"visibility": {
|
|
18
|
+
"title": "Is the element visible?",
|
|
19
|
+
"type": "boolean",
|
|
20
|
+
"enum": [true, false]
|
|
21
|
+
},
|
|
22
|
+
"version": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"title": "Version"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"required": ["action", "object", "visibility", "version"]
|
|
29
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "refresh",
|
|
6
|
+
"description": "refreshes the webpage",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["refresh"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"version": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"title": "Version"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"additionalproperties": false,
|
|
19
|
+
"required": ["action", "version"]
|
|
20
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Scroll",
|
|
6
|
+
"description": "Scrolls the page into specified direction until target is reached",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["scroll"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"direction": {"title": "Direction", "type": "string", "enum": ["up", "down", "left", "right"]},
|
|
14
|
+
"target": {
|
|
15
|
+
"title": "Target",
|
|
16
|
+
"$ref": "ui_element_reference.json"
|
|
17
|
+
},
|
|
18
|
+
"version": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"title": "Version"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"additionalProperties": false,
|
|
24
|
+
"required": ["action", "direction", "target", "version"]
|
|
25
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Select",
|
|
6
|
+
"description": "Selects specified item from the dropdown",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["select"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"target": {
|
|
14
|
+
"title": "Target",
|
|
15
|
+
"$ref": "ui_element_reference.json"
|
|
16
|
+
},
|
|
17
|
+
"option": {
|
|
18
|
+
"title": "Option",
|
|
19
|
+
"$ref": "ui_element_reference.json"
|
|
20
|
+
},
|
|
21
|
+
"version": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"title": "Version"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"additionalProperties": false,
|
|
27
|
+
"required": ["action", "target", "option", "version"]
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Press Key",
|
|
6
|
+
"description": "Press specified key or key combination.",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["send_key"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"key": {"title": "Key", "type": "string"},
|
|
14
|
+
"modifier": {"title": "Modifier", "type": "string"},
|
|
15
|
+
"version": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"title": "Version"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"additionalProperties": false,
|
|
21
|
+
"required": ["action", "key", "version"]
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "assertion",
|
|
5
|
+
"title": "Tester Confirmation",
|
|
6
|
+
"description": "Ask a question to confirm a behavior",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["tester_confirmation"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"confirmation": {"title": "confirmation", "type": "string"},
|
|
14
|
+
"version": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"title": "Version"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"additionalProperties": false,
|
|
20
|
+
"required": ["action", "confirmation", "version"]
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Tester Instruction",
|
|
6
|
+
"description": "An action for a human to complete",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["tester_instruction"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"instruction": {"title": "Instruction", "type": "string"},
|
|
14
|
+
"version": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"title": "Version"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"additionalProperties": false,
|
|
20
|
+
"required": ["action", "instruction", "version"]
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Type",
|
|
6
|
+
"description": "Types in specified text",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["type"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"text": {"title": "Text", "type": "string"},
|
|
14
|
+
"version": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"title": "Version"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"additionalProperties": false,
|
|
20
|
+
"required": ["action", "text", "version"]
|
|
21
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"title": "UI Element Reference",
|
|
5
|
+
"description": "A UI Element stored in the database",
|
|
6
|
+
"properties": {
|
|
7
|
+
"type": {
|
|
8
|
+
"enum": ["ui_element_reference"]
|
|
9
|
+
},
|
|
10
|
+
"id": {"title": "UI Element ID", "type": "integer"}
|
|
11
|
+
},
|
|
12
|
+
"additionalProperties": false,
|
|
13
|
+
"required": ["type", "id"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"action_type": "action",
|
|
5
|
+
"title": "Wait",
|
|
6
|
+
"description": "Waits for a number of seconds",
|
|
7
|
+
"properties": {
|
|
8
|
+
"action": {
|
|
9
|
+
"enum": ["wait"]
|
|
10
|
+
},
|
|
11
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
12
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
13
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
14
|
+
"seconds": {"title": "seconds", "type": "integer"},
|
|
15
|
+
"version": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"title": "Version"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"additionalProperties": false,
|
|
21
|
+
"required": ["action", "seconds", "version"]
|
|
22
|
+
}
|
data/wisp.json
CHANGED
|
@@ -67,56 +67,60 @@
|
|
|
67
67
|
{"$ref": "#/definitions/type"},
|
|
68
68
|
{"$ref": "#/definitions/send_key"},
|
|
69
69
|
{"$ref": "#/definitions/hover"},
|
|
70
|
-
{"$ref": "#/definitions/
|
|
71
|
-
{"$ref": "#/definitions/checkbox_check"},
|
|
72
|
-
{"$ref": "#/definitions/checkbox_uncheck"},
|
|
70
|
+
{"$ref": "#/definitions/select"},
|
|
73
71
|
{"$ref": "#/definitions/refresh"},
|
|
74
72
|
{"$ref": "#/definitions/navigate"},
|
|
75
|
-
{"$ref": "#/definitions/navigate_new_tab"},
|
|
76
|
-
{"$ref": "#/definitions/navigate_incognito_tab"},
|
|
77
73
|
{"$ref": "#/definitions/close_tab"},
|
|
78
74
|
{"$ref": "#/definitions/scroll"},
|
|
79
|
-
{"$ref": "#/definitions/
|
|
75
|
+
{"$ref": "#/definitions/wait"},
|
|
80
76
|
{"$ref": "#/definitions/drag_and_drop"},
|
|
81
|
-
{"$ref": "#/definitions/
|
|
82
|
-
{"$ref": "#/definitions/
|
|
83
|
-
{"$ref": "#/definitions/
|
|
84
|
-
{"$ref": "#/definitions/see"},
|
|
85
|
-
{"$ref": "#/definitions/disappear"},
|
|
77
|
+
{"$ref": "#/definitions/tester_instruction"},
|
|
78
|
+
{"$ref": "#/definitions/embedded_test"},
|
|
79
|
+
{"$ref": "#/definitions/observe"},
|
|
86
80
|
{"$ref": "#/definitions/loaded"},
|
|
87
|
-
{"$ref": "#/definitions/
|
|
81
|
+
{"$ref": "#/definitions/tester_confirmation"}
|
|
88
82
|
]
|
|
89
83
|
},
|
|
90
84
|
"click": {
|
|
91
85
|
"type": "object",
|
|
86
|
+
"action_type": "action",
|
|
92
87
|
"title": "Click",
|
|
93
88
|
"description": "Clicks on the UI element",
|
|
94
89
|
"properties": {
|
|
95
90
|
"action": {
|
|
96
91
|
"enum": ["click"]
|
|
97
92
|
},
|
|
98
|
-
"
|
|
93
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
94
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
95
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
99
96
|
"target": {
|
|
100
97
|
"title": "Target",
|
|
101
|
-
"$ref": "#/definitions/noun"
|
|
98
|
+
"$ref": "#/definitions/noun",
|
|
99
|
+
"type": "ui_element_reference"
|
|
102
100
|
},
|
|
103
|
-
"button": {"title": "Mouse Button", "type": "string", "enum": ["left", "middle", "right"]}
|
|
101
|
+
"button": {"title": "Mouse Button", "type": "string", "enum": ["left", "middle", "right"]},
|
|
102
|
+
"hold": {"title": "And Hold", "type": "boolean"},
|
|
103
|
+
"hold_seconds": {"title": "Hold seconds", "type": "integer"}
|
|
104
104
|
},
|
|
105
105
|
"additionalProperties": false,
|
|
106
|
-
"required": ["action", "target"]
|
|
106
|
+
"required": ["action", "target", "button", "hold"]
|
|
107
107
|
},
|
|
108
108
|
"double_click": {
|
|
109
109
|
"type": "object",
|
|
110
|
+
"action_type": "action",
|
|
110
111
|
"title": "Double Click",
|
|
111
112
|
"description": "Double-clicks on the UI element",
|
|
112
113
|
"properties": {
|
|
113
114
|
"action": {
|
|
114
115
|
"enum": ["double_click"]
|
|
115
116
|
},
|
|
116
|
-
"
|
|
117
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
118
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
119
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
117
120
|
"target": {
|
|
118
121
|
"title": "Target",
|
|
119
|
-
"$ref": "#/definitions/noun"
|
|
122
|
+
"$ref": "#/definitions/noun",
|
|
123
|
+
"type": "ui_element_reference"
|
|
120
124
|
}
|
|
121
125
|
},
|
|
122
126
|
"additionalProperties": false,
|
|
@@ -124,47 +128,55 @@
|
|
|
124
128
|
},
|
|
125
129
|
"fill": {
|
|
126
130
|
"type": "object",
|
|
131
|
+
"action_type": "action",
|
|
127
132
|
"title": "Fill",
|
|
128
133
|
"description": "Fills the text field with specified content",
|
|
129
134
|
"properties": {
|
|
130
135
|
"action": {
|
|
131
136
|
"enum": ["fill"]
|
|
132
137
|
},
|
|
133
|
-
"
|
|
138
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
139
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
140
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
134
141
|
"target": {
|
|
135
142
|
"title": "Target",
|
|
136
|
-
"$ref": "#/definitions/noun"
|
|
143
|
+
"$ref": "#/definitions/noun",
|
|
144
|
+
"type": "ui_element_reference"
|
|
137
145
|
},
|
|
138
|
-
"text": {"title": "Text", "type": "string"}
|
|
139
|
-
"method": { "title": "Text entry method", "type": "string", "enum": ["pasting", "typing"] }
|
|
146
|
+
"text": {"title": "Text", "type": "string"}
|
|
140
147
|
},
|
|
141
148
|
"additionalProperties": false,
|
|
142
149
|
"required": ["action", "target", "text"]
|
|
143
150
|
},
|
|
144
151
|
"type": {
|
|
145
152
|
"type": "object",
|
|
153
|
+
"action_type": "action",
|
|
146
154
|
"title": "Type",
|
|
147
155
|
"description": "Types in specified text",
|
|
148
156
|
"properties": {
|
|
149
157
|
"action": {
|
|
150
158
|
"enum": ["type"]
|
|
151
159
|
},
|
|
152
|
-
"
|
|
153
|
-
"
|
|
154
|
-
"
|
|
160
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
161
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
162
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
163
|
+
"text": {"title": "Text", "type": "string"}
|
|
155
164
|
},
|
|
156
165
|
"additionalProperties": false,
|
|
157
166
|
"required": ["action", "text"]
|
|
158
167
|
},
|
|
159
168
|
"send_key": {
|
|
160
169
|
"type": "object",
|
|
170
|
+
"action_type": "action",
|
|
161
171
|
"title": "Press Key",
|
|
162
172
|
"description": "Press specified key or key combination.",
|
|
163
173
|
"properties": {
|
|
164
174
|
"action": {
|
|
165
175
|
"enum": ["send_key"]
|
|
166
176
|
},
|
|
167
|
-
"
|
|
177
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
178
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
179
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
168
180
|
"key": {"title": "Key", "type": "string"},
|
|
169
181
|
"modifier": {"title": "Modifier", "type": "string"}
|
|
170
182
|
},
|
|
@@ -173,33 +185,41 @@
|
|
|
173
185
|
},
|
|
174
186
|
"hover": {
|
|
175
187
|
"type": "object",
|
|
188
|
+
"action_type": "action",
|
|
176
189
|
"title": "Hover",
|
|
177
190
|
"description": "Hovers over specified element",
|
|
178
191
|
"properties": {
|
|
179
192
|
"action": {
|
|
180
193
|
"enum": ["hover"]
|
|
181
194
|
},
|
|
182
|
-
"
|
|
195
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
196
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
197
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
183
198
|
"target": {
|
|
184
199
|
"title": "Target",
|
|
185
|
-
"$ref": "#/definitions/noun"
|
|
200
|
+
"$ref": "#/definitions/noun",
|
|
201
|
+
"type": "ui_element_reference"
|
|
186
202
|
}
|
|
187
203
|
},
|
|
188
204
|
"additionalProperties": false,
|
|
189
205
|
"required": ["action", "target"]
|
|
190
206
|
},
|
|
191
|
-
"
|
|
207
|
+
"select": {
|
|
192
208
|
"type": "object",
|
|
193
|
-
"
|
|
209
|
+
"action_type": "action",
|
|
210
|
+
"title": "Select",
|
|
194
211
|
"description": "Selects specified item from the dropdown",
|
|
195
212
|
"properties": {
|
|
196
213
|
"action": {
|
|
197
|
-
"enum": ["
|
|
214
|
+
"enum": ["select"]
|
|
198
215
|
},
|
|
199
|
-
"
|
|
216
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
217
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
218
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
200
219
|
"target": {
|
|
201
220
|
"title": "Target",
|
|
202
|
-
"$ref": "#/definitions/noun"
|
|
221
|
+
"$ref": "#/definitions/noun",
|
|
222
|
+
"type": "ui_element_reference"
|
|
203
223
|
},
|
|
204
224
|
"option": {
|
|
205
225
|
"title": "Option",
|
|
@@ -209,135 +229,90 @@
|
|
|
209
229
|
"additionalProperties": false,
|
|
210
230
|
"required": ["action", "target", "option"]
|
|
211
231
|
},
|
|
212
|
-
"checkbox_check": {
|
|
213
|
-
"type": "object",
|
|
214
|
-
"title": "Checkbox Check",
|
|
215
|
-
"description": "Checks specified checkbox",
|
|
216
|
-
"properties": {
|
|
217
|
-
"action": {
|
|
218
|
-
"enum": ["checkbox_check"]
|
|
219
|
-
},
|
|
220
|
-
"custom_action_id": {"title": "Custom Action ID", "type": "integer"},
|
|
221
|
-
"target": {
|
|
222
|
-
"title": "Target",
|
|
223
|
-
"$ref": "#/definitions/noun"
|
|
224
|
-
}
|
|
225
|
-
},
|
|
226
|
-
"additionalProperties": false,
|
|
227
|
-
"required": ["action", "target"]
|
|
228
|
-
},
|
|
229
|
-
"checkbox_uncheck": {
|
|
230
|
-
"type": "object",
|
|
231
|
-
"title": "Checkbox Uncheck",
|
|
232
|
-
"description": "Unchecks specified checkbox",
|
|
233
|
-
"properties": {
|
|
234
|
-
"action": {
|
|
235
|
-
"enum": ["checkbox_uncheck"]
|
|
236
|
-
},
|
|
237
|
-
"custom_action_id": {"title": "Custom Action ID", "type": "integer"},
|
|
238
|
-
"target": {
|
|
239
|
-
"title": "Target",
|
|
240
|
-
"$ref": "#/definitions/noun"
|
|
241
|
-
}
|
|
242
|
-
},
|
|
243
|
-
"additionalProperties": false,
|
|
244
|
-
"required": ["action", "target"]
|
|
245
|
-
},
|
|
246
232
|
"refresh": {
|
|
247
233
|
"type": "object",
|
|
234
|
+
"action_type": "action",
|
|
248
235
|
"title": "Refresh",
|
|
249
236
|
"description": "Refreshes the webpage",
|
|
250
237
|
"properties": {
|
|
251
238
|
"action": {
|
|
252
239
|
"enum": ["refresh"]
|
|
253
240
|
},
|
|
254
|
-
"
|
|
241
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
242
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
243
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"}
|
|
255
244
|
},
|
|
256
245
|
"additionalProperties": false,
|
|
257
246
|
"required": ["action"]
|
|
258
247
|
},
|
|
259
248
|
"navigate": {
|
|
260
249
|
"type": "object",
|
|
250
|
+
"action_type": "action",
|
|
261
251
|
"title": "Navigate",
|
|
262
252
|
"description": "Navigates to specified URL",
|
|
263
253
|
"properties": {
|
|
264
254
|
"action": {
|
|
265
255
|
"enum": ["navigate"]
|
|
266
256
|
},
|
|
267
|
-
"
|
|
268
|
-
"
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
},
|
|
273
|
-
"navigate_new_tab": {
|
|
274
|
-
"type": "object",
|
|
275
|
-
"title": "Navigate - New Tab",
|
|
276
|
-
"description": "Navigates to specified URL in a new tab",
|
|
277
|
-
"properties": {
|
|
278
|
-
"action": {
|
|
279
|
-
"enum": ["navigate_new_tab"]
|
|
280
|
-
},
|
|
281
|
-
"custom_action_id": {"title": "Custom Action ID", "type": "integer"},
|
|
282
|
-
"url": {"title": "URL", "type": "string"}
|
|
283
|
-
},
|
|
284
|
-
"additionalProperties": false,
|
|
285
|
-
"required": ["action", "url"]
|
|
286
|
-
},
|
|
287
|
-
"navigate_incognito_tab": {
|
|
288
|
-
"type": "object",
|
|
289
|
-
"title": "Navigate - Incognito Tab",
|
|
290
|
-
"description": "Navigates to specified URL in a new incognito tab",
|
|
291
|
-
"properties": {
|
|
292
|
-
"action": {
|
|
293
|
-
"enum": ["navigate_incognito_tab"]
|
|
294
|
-
},
|
|
295
|
-
"custom_action_id": {"title": "Custom Action ID", "type": "integer"},
|
|
296
|
-
"url": {"title": "URL", "type": "string"}
|
|
257
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
258
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
259
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
260
|
+
"url": {"title": "URL", "type": "string"},
|
|
261
|
+
"tab": {"title": "Tab", "type": "string", "enum": ["current", "new", "incognito"]}
|
|
297
262
|
},
|
|
298
263
|
"additionalProperties": false,
|
|
299
|
-
"required": ["action", "url"]
|
|
264
|
+
"required": ["action", "url", "tab"]
|
|
300
265
|
},
|
|
301
266
|
"close_tab": {
|
|
302
267
|
"type": "object",
|
|
268
|
+
"action_type": "action",
|
|
303
269
|
"title": "Close Tab",
|
|
304
270
|
"description": "Closes current browser tab",
|
|
305
271
|
"properties": {
|
|
306
272
|
"action": {
|
|
307
273
|
"enum": ["close_tab"]
|
|
308
274
|
},
|
|
309
|
-
"
|
|
275
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
276
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
277
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"}
|
|
310
278
|
},
|
|
311
279
|
"additionalProperties": false,
|
|
312
280
|
"required": ["action"]
|
|
313
281
|
},
|
|
314
282
|
"scroll": {
|
|
315
283
|
"type": "object",
|
|
284
|
+
"action_type": "action",
|
|
316
285
|
"title": "Scroll",
|
|
317
286
|
"description": "Scrolls the page into specified direction until target is reached",
|
|
318
287
|
"properties": {
|
|
319
288
|
"action": {
|
|
320
289
|
"enum": ["scroll"]
|
|
321
290
|
},
|
|
322
|
-
"
|
|
291
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
292
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
293
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
323
294
|
"direction": {"title": "Direction", "type": "string", "enum": ["up", "down", "left", "right"]},
|
|
324
295
|
"target": {
|
|
325
296
|
"title": "Target",
|
|
326
|
-
"$ref": "#/definitions/noun"
|
|
297
|
+
"$ref": "#/definitions/noun",
|
|
298
|
+
"type": "ui_element_reference"
|
|
327
299
|
}
|
|
328
300
|
},
|
|
329
301
|
"additionalProperties": false,
|
|
330
302
|
"required": ["action", "direction", "target"]
|
|
331
303
|
},
|
|
332
|
-
"
|
|
304
|
+
"wait": {
|
|
333
305
|
"type": "object",
|
|
334
|
-
"
|
|
306
|
+
"action_type": "action",
|
|
307
|
+
"title": "Wait",
|
|
335
308
|
"description": "Waits for a number of seconds",
|
|
336
309
|
"properties": {
|
|
337
310
|
"action": {
|
|
338
|
-
"enum": ["
|
|
311
|
+
"enum": ["wait"]
|
|
339
312
|
},
|
|
340
|
-
"
|
|
313
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
314
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
315
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
341
316
|
"seconds": {"title": "seconds", "type": "integer"}
|
|
342
317
|
},
|
|
343
318
|
"additionalProperties": false,
|
|
@@ -345,50 +320,37 @@
|
|
|
345
320
|
},
|
|
346
321
|
"drag_and_drop": {
|
|
347
322
|
"type": "object",
|
|
323
|
+
"action_type": "action",
|
|
348
324
|
"title": "Drag and drop",
|
|
349
325
|
"description": "Drag and drop",
|
|
350
326
|
"properties": {
|
|
351
327
|
"action": {
|
|
352
328
|
"enum": ["drag_and_drop"]
|
|
353
329
|
},
|
|
354
|
-
"
|
|
330
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
331
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
332
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
355
333
|
"object": {
|
|
356
334
|
"title": "Object",
|
|
357
335
|
"$ref": "#/definitions/noun"
|
|
358
336
|
},
|
|
359
337
|
"target": {
|
|
360
338
|
"title": "Target",
|
|
361
|
-
"$ref": "#/definitions/noun"
|
|
339
|
+
"$ref": "#/definitions/noun",
|
|
340
|
+
"type": "ui_element_reference"
|
|
362
341
|
}
|
|
363
342
|
},
|
|
364
343
|
"additionalProperties": false,
|
|
365
344
|
"required": ["action", "target", "object"]
|
|
366
345
|
},
|
|
367
|
-
"
|
|
346
|
+
"embedded_test": {
|
|
368
347
|
"type": "object",
|
|
369
|
-
"
|
|
370
|
-
"
|
|
348
|
+
"action_type": "embedded_test",
|
|
349
|
+
"title": "Embedded Test",
|
|
350
|
+
"description": "Embeds a Test",
|
|
371
351
|
"properties": {
|
|
372
352
|
"action": {
|
|
373
|
-
"enum": ["
|
|
374
|
-
},
|
|
375
|
-
"custom_action_id": {"title": "Custom Action ID", "type": "integer"},
|
|
376
|
-
"target": {
|
|
377
|
-
"title": "Target",
|
|
378
|
-
"$ref": "#/definitions/noun"
|
|
379
|
-
},
|
|
380
|
-
"seconds": {"title": "Seconds", "type": "integer"}
|
|
381
|
-
},
|
|
382
|
-
"additionalProperties": false,
|
|
383
|
-
"required": ["action", "target", "seconds"]
|
|
384
|
-
},
|
|
385
|
-
"custom_action": {
|
|
386
|
-
"type": "object",
|
|
387
|
-
"title": "Custom Action",
|
|
388
|
-
"description": "Reusable custom action",
|
|
389
|
-
"properties": {
|
|
390
|
-
"action": {
|
|
391
|
-
"enum": ["custom_action"]
|
|
353
|
+
"enum": ["embedded_test"]
|
|
392
354
|
},
|
|
393
355
|
"test_id": {
|
|
394
356
|
"title": "Test ID",
|
|
@@ -398,81 +360,81 @@
|
|
|
398
360
|
"additionalProperties": false,
|
|
399
361
|
"required": ["action", "test_id"]
|
|
400
362
|
},
|
|
401
|
-
"
|
|
363
|
+
"tester_instruction": {
|
|
402
364
|
"type": "object",
|
|
403
|
-
"
|
|
404
|
-
"
|
|
365
|
+
"action_type": "action",
|
|
366
|
+
"title": "Tester Instruction",
|
|
367
|
+
"description": "An action for a human to complete",
|
|
405
368
|
"properties": {
|
|
406
369
|
"action": {
|
|
407
|
-
"enum": ["
|
|
370
|
+
"enum": ["tester_instruction"]
|
|
408
371
|
},
|
|
409
|
-
"
|
|
372
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
373
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
374
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
410
375
|
"instruction": {"title": "Instruction", "type": "string"}
|
|
411
376
|
},
|
|
412
377
|
"additionalProperties": false,
|
|
413
378
|
"required": ["action", "instruction"]
|
|
414
379
|
},
|
|
415
|
-
"
|
|
380
|
+
"observe": {
|
|
416
381
|
"type": "object",
|
|
417
|
-
"
|
|
418
|
-
"
|
|
382
|
+
"action_type": "assertion",
|
|
383
|
+
"title": "Observe",
|
|
384
|
+
"description": "Checks if element of the UI is visible or not",
|
|
419
385
|
"properties": {
|
|
420
|
-
"
|
|
421
|
-
"enum": ["
|
|
386
|
+
"action": {
|
|
387
|
+
"enum": ["observe"]
|
|
422
388
|
},
|
|
423
|
-
"
|
|
389
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
390
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
391
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
424
392
|
"object": {
|
|
425
393
|
"title": "Object",
|
|
426
394
|
"$ref": "#/definitions/noun"
|
|
427
|
-
}
|
|
428
|
-
},
|
|
429
|
-
"additionalProperties": false,
|
|
430
|
-
"required": ["assertion", "object"]
|
|
431
|
-
},
|
|
432
|
-
"disappear": {
|
|
433
|
-
"type": "object",
|
|
434
|
-
"title": "Disappear",
|
|
435
|
-
"description": "Checks if element of the UI is no longer visible",
|
|
436
|
-
"properties": {
|
|
437
|
-
"assertion": {
|
|
438
|
-
"enum": ["disappear"]
|
|
439
395
|
},
|
|
440
|
-
"
|
|
441
|
-
|
|
442
|
-
"
|
|
443
|
-
"
|
|
396
|
+
"visibility": {
|
|
397
|
+
"title": "Is the element visible?",
|
|
398
|
+
"type": "boolean",
|
|
399
|
+
"enum": [true, false]
|
|
444
400
|
}
|
|
445
401
|
},
|
|
446
402
|
"additionalProperties": false,
|
|
447
|
-
"required": ["
|
|
403
|
+
"required": ["action", "object", "visibility"]
|
|
448
404
|
},
|
|
449
405
|
"loaded": {
|
|
450
406
|
"type": "object",
|
|
407
|
+
"action_type": "assertion",
|
|
451
408
|
"title": "Loaded",
|
|
452
409
|
"description": "Checks if specified page has loaded",
|
|
453
410
|
"properties": {
|
|
454
|
-
"
|
|
411
|
+
"action": {
|
|
455
412
|
"enum": ["loaded"]
|
|
456
413
|
},
|
|
457
|
-
"
|
|
414
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
415
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
416
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
458
417
|
"page": {"title": "Page", "type": "string"}
|
|
459
418
|
},
|
|
460
419
|
"additionalProperties": false,
|
|
461
|
-
"required": ["
|
|
420
|
+
"required": ["action", "page"]
|
|
462
421
|
},
|
|
463
|
-
"
|
|
422
|
+
"tester_confirmation": {
|
|
464
423
|
"type": "object",
|
|
465
|
-
"
|
|
466
|
-
"
|
|
424
|
+
"action_type": "assertion",
|
|
425
|
+
"title": "Tester Confirmation",
|
|
426
|
+
"description": "Ask a question to confirm a behavior",
|
|
467
427
|
"properties": {
|
|
468
|
-
"
|
|
469
|
-
"enum": ["
|
|
428
|
+
"action": {
|
|
429
|
+
"enum": ["tester_confirmation"]
|
|
470
430
|
},
|
|
471
|
-
"
|
|
472
|
-
"
|
|
431
|
+
"embedded_test_id": {"title": "Embedded Test ID", "type": "integer"},
|
|
432
|
+
"id": {"title": "Action ID", "type": "integer"},
|
|
433
|
+
"delay_after": {"title": "Delay after in seconds", "type": "integer"},
|
|
434
|
+
"confirmation": {"title": "confirmation", "type": "string"}
|
|
473
435
|
},
|
|
474
436
|
"additionalProperties": false,
|
|
475
|
-
"required": ["
|
|
437
|
+
"required": ["action", "confirmation"]
|
|
476
438
|
}
|
|
477
439
|
},
|
|
478
440
|
"type": "object",
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wisp-schema
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jan Grodowski
|
|
@@ -51,6 +51,24 @@ files:
|
|
|
51
51
|
- lib/version.rb
|
|
52
52
|
- lib/wisp-schema.rb
|
|
53
53
|
- nouns.json
|
|
54
|
+
- stable/actions/click.json
|
|
55
|
+
- stable/actions/close_tab.json
|
|
56
|
+
- stable/actions/double_click.json
|
|
57
|
+
- stable/actions/drag_and_drop.json
|
|
58
|
+
- stable/actions/fill.json
|
|
59
|
+
- stable/actions/hover.json
|
|
60
|
+
- stable/actions/loaded.json
|
|
61
|
+
- stable/actions/navigate.json
|
|
62
|
+
- stable/actions/observe.json
|
|
63
|
+
- stable/actions/refresh.json
|
|
64
|
+
- stable/actions/scroll.json
|
|
65
|
+
- stable/actions/select.json
|
|
66
|
+
- stable/actions/send_key.json
|
|
67
|
+
- stable/actions/tester_confirmation.json
|
|
68
|
+
- stable/actions/tester_instruction.json
|
|
69
|
+
- stable/actions/type.json
|
|
70
|
+
- stable/actions/ui_element_reference.json
|
|
71
|
+
- stable/actions/wait.json
|
|
54
72
|
- wisp.json
|
|
55
73
|
homepage: https://github.com/rainforestapp/wisp
|
|
56
74
|
licenses:
|