|
1 <?xml version="1.0"?> |
|
2 |
|
3 <sections> |
|
4 |
|
5 <section name="Test" endname="Endtest"> |
|
6 |
|
7 <command id="title"> |
|
8 <mandatory> |
|
9 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
10 titleValue |
|
11 </argument> |
|
12 </mandatory> |
|
13 <optional> |
|
14 <argument type="normal" value="words" binding="none" nextvalue="none"> |
|
15 titleValue |
|
16 </argument> |
|
17 </optional> |
|
18 <errornote> |
|
19 Title commmand requires test title as an argument |
|
20 </errornote> |
|
21 <commandinfo> |
|
22 The title keyword is used to give a verbal description for a test case. |
|
23 </commandinfo> |
|
24 </command> |
|
25 |
|
26 <command id="timeout"> |
|
27 <mandatory> |
|
28 <argument type="normal" value="digit" binding="none" nextvalue="none"> |
|
29 timeoutValue |
|
30 </argument > |
|
31 </mandatory> |
|
32 <errornote> |
|
33 Timeout keyword should have a timeout value as an argument |
|
34 </errornote> |
|
35 <commandinfo> |
|
36 Timeout is used to give a timeout value for a test case. |
|
37 Timeout value is passed in milliseconds. |
|
38 </commandinfo> |
|
39 </command> |
|
40 |
|
41 <command id="priority"> |
|
42 <mandatory> |
|
43 <argument type="selective" value="none" binding="none" nextvalue="none"> |
|
44 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
45 normal |
|
46 </argument> |
|
47 <argument type="normal" value="digit" binding="none" nextvalue="none"> |
|
48 priorityValue |
|
49 </argument> |
|
50 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
51 high |
|
52 </argument> |
|
53 |
|
54 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
55 low |
|
56 </argument> |
|
57 </argument> |
|
58 </mandatory> |
|
59 <errornote> |
|
60 "priority" keyword should have a priority value as an argument |
|
61 </errornote> |
|
62 <commandinfo> |
|
63 Priority is used to give a priority for a test case. |
|
64 Priority value either as an integer or as the string high, normal or low. |
|
65 </commandinfo> |
|
66 </command> |
|
67 |
|
68 <command id="print"> |
|
69 <mandatory> |
|
70 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
71 TestObjectName |
|
72 </argument > |
|
73 </mandatory> |
|
74 <optional> |
|
75 <argument type="normal" value="words" binding="none" nextvalue="none"> |
|
76 yes |
|
77 </argument> |
|
78 </optional> |
|
79 <errornote> |
|
80 "print" keyword has invalid argument |
|
81 </errornote> |
|
82 <commandinfo> |
|
83 The print keyword can be used to print, for example, progress information to UI. |
|
84 </commandinfo> |
|
85 </command> |
|
86 |
|
87 |
|
88 <command id="canceliferror"> |
|
89 <errornote> |
|
90 "canceliferror" keyword takes no arguments |
|
91 </errornote> |
|
92 <commandinfo> |
|
93 The canceliferror keyword is used to cancel the execution of the remaining test cases if one of the executed test cases has failed. |
|
94 This keyword is normally used to stop the test case execution when some of the test cases are long running. |
|
95 </commandinfo> |
|
96 </command> |
|
97 |
|
98 <command id="pausecombiner"> |
|
99 <mandatory> |
|
100 <argument type="normal" value="digit" binding="none" nextvalue="none"> |
|
101 pausecombinerValue |
|
102 </argument > |
|
103 </mandatory> |
|
104 <errornote> |
|
105 "pausecombiner" keyword takes number of miliseconds as an argument" |
|
106 </errornote> |
|
107 <commandinfo> |
|
108 The pausecombiner keyword is used to pause test combiner for a specified time |
|
109 |
|
110 Arguments: |
|
111 Timeout: The timeout for the pause, specified in milliseconds. |
|
112 </commandinfo> |
|
113 </command> |
|
114 |
|
115 |
|
116 <command id="run"> |
|
117 <mandatory> |
|
118 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
119 testmodule |
|
120 </argument> |
|
121 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
122 configfile |
|
123 </argument> |
|
124 <argument type="normal" value="digit" binding="none" nextvalue="none"> |
|
125 TestCaseNumber |
|
126 </argument> |
|
127 </mandatory> |
|
128 <optional> |
|
129 <argument type="normal" value="name" binding="=" nextvalue="digit"> |
|
130 expect |
|
131 </argument> |
|
132 <argument type="normal" value="name" binding="=" nextvalue="literal"> |
|
133 testid |
|
134 </argument> |
|
135 <argument type="normal" value="name" binding="=" nextvalue="literal"> |
|
136 ini |
|
137 </argument> |
|
138 <argument type="normal" value="name" binding="=" nextvalue="literal"> |
|
139 category |
|
140 </argument> |
|
141 <argument type="normal" value="name" binding="=" nextvalue="digit"> |
|
142 timeout |
|
143 </argument> |
|
144 <argument type="normal" value="quoted" binding="none" nextvalue="none"> |
|
145 title |
|
146 </argument> |
|
147 </optional> |
|
148 <errornote> |
|
149 "run" keyword takes test module name, configuration file and test case number as argumets |
|
150 </errornote> |
|
151 <commandinfo> |
|
152 The run keyword is used to start a specified test case. It has several mandatory and optional arguments. |
|
153 |
|
154 Arguments: |
|
155 testmodule: The test module name. |
|
156 configfile: The test case configuration file. |
|
157 Test case number: The test case number to be executed from configfile. |
|
158 |
|
159 expect: The expected result (0 = KErrNone). |
|
160 testid: Test case identification, which is used by other keywords to identify the test case (). |
|
161 ini: The initialization file for test module (). |
|
162 category: The result category; either normal, leave, panic, exception or timeout. |
|
163 timeout: Test case timeout (not supported yet). |
|
164 title: Test case title. |
|
165 </commandinfo> |
|
166 </command> |
|
167 |
|
168 |
|
169 <command id="cancel"> |
|
170 <mandatory> |
|
171 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
172 testid |
|
173 </argument > |
|
174 </mandatory> |
|
175 <errornote> |
|
176 "cancel" keyword takes test an identification of a test case as an argument |
|
177 </errornote> |
|
178 <commandinfo> |
|
179 The cancel keyword is used to cancel a started test case. |
|
180 The test case is cancelled by immediately killing the thread that executes the test case. |
|
181 |
|
182 Arguments: |
|
183 testid: The test ID from the run command. |
|
184 </commandinfo> |
|
185 </command> |
|
186 |
|
187 |
|
188 <command id="pause"> |
|
189 <mandatory> |
|
190 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
191 testid |
|
192 </argument > |
|
193 </mandatory> |
|
194 <optional> |
|
195 <argument type="normal" value="name" binding="=" nextvalue="digit"> |
|
196 time |
|
197 </argument> |
|
198 </optional> |
|
199 <errornote> |
|
200 "cancel" keyword takes test an identification of a test case as an argument and optonal argument: number of miliseconds |
|
201 </errornote> |
|
202 <commandinfo> |
|
203 The pause keyword is used to pause a test case. |
|
204 The test case is paused by pausing the thread that executes the test case. |
|
205 |
|
206 Arguments: |
|
207 testid: The test ID from the run command. |
|
208 Time Pause time in milliseconds. After this time, resume is called automatically. |
|
209 </commandinfo> |
|
210 </command> |
|
211 |
|
212 |
|
213 <command id="resume"> |
|
214 <mandatory> |
|
215 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
216 testid |
|
217 </argument > |
|
218 </mandatory> |
|
219 <errornote> |
|
220 "resume" keyword takes an identification of a test case as an argument |
|
221 </errornote> |
|
222 <commandinfo> |
|
223 The resume keyword is used to resume a paused test case. |
|
224 |
|
225 Arguments: |
|
226 testid: The test ID from the run command. |
|
227 </commandinfo> |
|
228 </command> |
|
229 |
|
230 <command id="complete"> |
|
231 <mandatory> |
|
232 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
233 testid |
|
234 </argument > |
|
235 </mandatory> |
|
236 <errornote> |
|
237 "complete" keyword takes an identification of a test case as an argument |
|
238 </errornote> |
|
239 <commandinfo> |
|
240 The complete keyword is used to have a started test case wait to complete. |
|
241 It blocks until the test case has finished. |
|
242 |
|
243 Arguments: |
|
244 testid: The test ID from the run command. |
|
245 </commandinfo> |
|
246 </command> |
|
247 |
|
248 <command id="measurement"> |
|
249 <mandatory> |
|
250 <argument type="selective" value="none" binding="none" nextvalue="none"> |
|
251 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
252 start |
|
253 </argument> |
|
254 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
255 stop |
|
256 </argument> |
|
257 </argument> |
|
258 <argument type="selective" value="none" binding="none" nextvalue="none"> |
|
259 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
260 measurementplugin01 |
|
261 </argument> |
|
262 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
263 measurementplugin02 |
|
264 </argument> |
|
265 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
266 measurementplugin03 |
|
267 </argument> |
|
268 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
269 measurementplugin04 |
|
270 </argument> |
|
271 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
272 measurementplugin05 |
|
273 </argument> |
|
274 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
275 stifbappeaprofiler |
|
276 </argument> |
|
277 </argument> |
|
278 </mandatory> |
|
279 <optional> |
|
280 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
281 STIF Test measurement parameters |
|
282 </argument> |
|
283 |
|
284 </optional> |
|
285 <errornote> |
|
286 "testmeasurement" keyword must be follwed by a command, type and optionaly parameters |
|
287 </errornote> |
|
288 <commandinfo> |
|
289 The testmeasurement keyword is used for test measurement testing. |
|
290 |
|
291 Arguments: |
|
292 STIF Test measurement command: Command for STIF Test Measurement control. |
|
293 The supported values are: "start" for starting test measurement and "stop" for stopping test measurement. It also releases all allocated resources. |
|
294 STIF Test measurement type: Test measurement type. |
|
295 The supported values are: measurementplugin01, measurementplugin02, measurementplugin03, measurementplugin04, measurementplugin05, bappeaprofiler |
|
296 STIF Test measurement parameters: Optional. Test measurement module configuring etc. user and test measurement module specific. This is returned as a descriptor to the test measurement module in start operation. |
|
297 </commandinfo> |
|
298 </command> |
|
299 |
|
300 |
|
301 <command id="loop"> |
|
302 <mandatory> |
|
303 <argument type="normal" value="digit" binding="none" nextvalue="none"> |
|
304 loopTimes |
|
305 </argument> |
|
306 </mandatory> |
|
307 <optional> |
|
308 <argument type="selective" value="none" binding="none" nextvalue="none"> |
|
309 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
310 msec |
|
311 </argument> |
|
312 <argument type="normal" value="name" binding="space" nextvalue="digit"> |
|
313 passlimit |
|
314 </argument> |
|
315 </argument> |
|
316 </optional> |
|
317 <errornote> |
|
318 "loop" keyword must be followed by the loop count, optionaly the "msec" word, optional "passlimit" word and passlimit value |
|
319 </errornote> |
|
320 <commandinfo> |
|
321 The loop keyword is used to repeat a section of the test case file for the specified number of iterations. |
|
322 The section to be repeated is enclosed with the loop and endloop keywords. |
|
323 Nested loops are not supported. |
|
324 |
|
325 Arguments: |
|
326 Loop times: The loop count, that is, the number of times that the loop is executed. |
|
327 |
|
328 msec: This keyword says that ‘Loop times’ argument stands for the time in milliseconds during which loop will be looped |
|
329 passlimit: This keyword turns on passlimit (endurance) feature |
|
330 Passlimit value: Says how many iteration must pass to let pass the whole loop |
|
331 </commandinfo> |
|
332 </command> |
|
333 |
|
334 <command id="endloop"> |
|
335 <errornote> |
|
336 "endloop" takes no arguments |
|
337 </errornote> |
|
338 <commandinfo> |
|
339 The endloop keyword is used to specify the end of a looped section. |
|
340 </commandinfo> |
|
341 </command> |
|
342 |
|
343 <command id="request"> |
|
344 <mandatory> |
|
345 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
346 Event |
|
347 </argument> |
|
348 </mandatory> |
|
349 <errornote> |
|
350 "request" keyword must be follwed by an event name |
|
351 </errornote> |
|
352 <commandinfo> |
|
353 The request keyword is used to request an event. |
|
354 If someone wants to use an event, it must first be requested and after that it can be waited. |
|
355 After the event is not used anymore, it must be released. |
|
356 |
|
357 Arguments: |
|
358 Event: The event name. |
|
359 </commandinfo> |
|
360 </command> |
|
361 |
|
362 <command id="wait"> |
|
363 <mandatory> |
|
364 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
365 Event |
|
366 </argument> |
|
367 </mandatory> |
|
368 <errornote> |
|
369 "wait" keyword must be follwed by an event name |
|
370 </errornote> |
|
371 <commandinfo> |
|
372 The wait keyword is used to wait an event. |
|
373 Request must be called before wait, and wait blocks until the requested event is set. |
|
374 Wait may proceed immediately if the requested event is a state event and already pending |
|
375 |
|
376 Arguments: |
|
377 Event: The event name. |
|
378 </commandinfo> |
|
379 </command> |
|
380 |
|
381 <command id="release"> |
|
382 <mandatory> |
|
383 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
384 Event |
|
385 </argument> |
|
386 </mandatory> |
|
387 <errornote> |
|
388 "release" keyword must be follwed by an event name |
|
389 </errornote> |
|
390 <commandinfo> |
|
391 The release keyword is used to release an event. |
|
392 Every requested event must be released explicitly after it is not used anymore |
|
393 |
|
394 Arguments: |
|
395 Event: The event name. |
|
396 </commandinfo> |
|
397 |
|
398 </command> |
|
399 |
|
400 <command id="set"> |
|
401 <mandatory> |
|
402 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
403 Event |
|
404 </argument> |
|
405 </mandatory> |
|
406 <optional> |
|
407 <argument type="normal" value="literal" binding="=" nextvalue="digit"> |
|
408 state |
|
409 </argument> |
|
410 </optional> |
|
411 <errornote> |
|
412 "set" keyword must be follwed by an event name |
|
413 </errornote> |
|
414 <commandinfo> |
|
415 The set keyword is used to set an event. Every set state event must be explicitly unset. |
|
416 |
|
417 Arguments: |
|
418 Event: The event name. |
|
419 state If set to 1, indicates that this is a state event, i.e. it remains set until it is unset explicitly with the unset keyword. |
|
420 If set to 0, indicates that the event is an indication, so it is set only once to every requester and implicitly unset after that. |
|
421 </commandinfo> |
|
422 </command> |
|
423 |
|
424 |
|
425 <command id="unset"> |
|
426 <mandatory> |
|
427 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
428 Event |
|
429 </argument> |
|
430 </mandatory> |
|
431 <errornote> |
|
432 "unset" keyword must be follwed by an event name |
|
433 </errornote> |
|
434 <commandinfo> |
|
435 The unset keyword is used to unset a state event. Every set state event must be unset. |
|
436 Indication events cannot be unset. |
|
437 Unset blocks until everyone who has requested the specified event have released the event. |
|
438 |
|
439 Arguments: |
|
440 Event: The event name. |
|
441 </commandinfo> |
|
442 </command> |
|
443 |
|
444 <command id="allocate"> |
|
445 <mandatory> |
|
446 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
447 SlaveType |
|
448 </argument> |
|
449 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
450 SlaveName |
|
451 </argument> |
|
452 </mandatory> |
|
453 <errornote> |
|
454 "allocate" keyword must be follwed by slave type ans slave name |
|
455 </errornote> |
|
456 <commandinfo> |
|
457 The allocate keyword is used to allocate a slave, for example for running a test case on a remote phone. |
|
458 It uses Remote Control Protocol (RPC). |
|
459 The slave must always be allocated first before it can be used. |
|
460 |
|
461 Arguments: |
|
462 Slave type: The type of the slave. |
|
463 STIF only supports slave phone. phone indicates that slave phone is also running STIF. |
|
464 Other types must be handled by the slave implementation, i.e. when implementing separate support for external network simulator. |
|
465 |
|
466 Slave name: A unique name for the slave. |
|
467 |
|
468 </commandinfo> |
|
469 </command> |
|
470 |
|
471 |
|
472 <command id="free"> |
|
473 <mandatory> |
|
474 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
475 SlaveName |
|
476 </argument> |
|
477 </mandatory> |
|
478 <errornote> |
|
479 "free" keyword must be follwed by slave name |
|
480 </errornote> |
|
481 <commandinfo> |
|
482 Every allocated slave must be freed with free when it becomes unused. |
|
483 |
|
484 Arguments: |
|
485 Slave type: The type of the slave. |
|
486 STIF only supports slave phone. phone indicates that slave phone is also running STIF. |
|
487 Other types must be handled by the slave implementation, i.e. when implementing separate support for external network simulator. |
|
488 |
|
489 </commandinfo> |
|
490 </command> |
|
491 |
|
492 <command id="remote"> |
|
493 <mandatory> |
|
494 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
495 objectName |
|
496 </argument> |
|
497 <argument type="selective" value="none" binding="none" nextvalue="none"> |
|
498 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
499 run |
|
500 </argument> |
|
501 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
502 request |
|
503 </argument> |
|
504 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
505 wait |
|
506 </argument> |
|
507 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
508 set |
|
509 </argument> |
|
510 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
511 unset |
|
512 </argument> |
|
513 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
514 set |
|
515 </argument> |
|
516 <argument type="normal" value="name" binding="none" nextvalue="none"> |
|
517 release |
|
518 </argument> |
|
519 </argument> |
|
520 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
521 module |
|
522 </argument> |
|
523 </mandatory> |
|
524 <optional> |
|
525 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
526 testmodule |
|
527 </argument> |
|
528 <argument type="normal" value="literal" binding="none" nextvalue="none"> |
|
529 configfile |
|
530 </argument> |
|
531 <argument type="normal" value="digit" binding="none" nextvalue="none"> |
|
532 testCaseNumber |
|
533 </argument> |
|
534 <argument type="normal" value="name" binding="=" nextvalue="digit"> |
|
535 expect |
|
536 </argument> |
|
537 <argument type="normal" value="name" binding="=" nextvalue="literal"> |
|
538 testid |
|
539 </argument> |
|
540 <argument type="normal" value="name" binding="=" nextvalue="literal"> |
|
541 ini |
|
542 </argument> |
|
543 <argument type="normal" value="name" binding="=" nextvalue="literal"> |
|
544 category |
|
545 </argument> |
|
546 <argument type="normal" value="name" binding="=" nextvalue="digit"> |
|
547 timeout |
|
548 </argument> |
|
549 <argument type="normal" value="quoted" binding="none" nextvalue="none"> |
|
550 title |
|
551 </argument> |
|
552 </optional> |
|
553 <errornote> |
|
554 syntax error error |
|
555 </errornote> |
|
556 <commandinfo> |
|
557 The remote keyword is used to start the execution of a test case in a slave and also to request and release events from the slave. |
|
558 Other test case controlling for remote test cases is done with the same keywords as for the local test cases. |
|
559 |
|
560 Arguments: |
|
561 Slave name: The slave name, the same that was given for allocate. |
|
562 Command name: The remote command name |
|
563 supported commands: |
|
564 -run |
|
565 -request |
|
566 -wait |
|
567 -set |
|
568 -unset |
|
569 -release |
|
570 |
|
571 |
|
572 </commandinfo> |
|
573 </command> |
|
574 |
|
575 </section> |
|
576 |
|
577 <section name="Define" endname="Enddefine"> |
|
578 </section> |
|
579 |
|
580 </sections> |