Configuring jobs for Voice Agent Tester

You can create a job to run test cases for a single worker. A job contains, among other information, all the results of the tests cases that run, the status of the job, and the percent completion of the test cases.

A single worker can run many jobs, either sequentially or in parallel, over a long span of time. Jobs are mapped to the namespace of the worker that starts it. Each job contains its status while the job runs, and results after the job completes.

The following table describes the job structure:

Table 1. Job structure
Key Description
ID Specifies the GUID of the job.
status Specifies the current job status.
startTime Specifies the time stamp of when the job started.
stopTime Specifies the time stamp of when the job finished, whether it finished successfully or failed.
percentComplete Specifies the percentage that is completed for the job. If you're running infinite iterations, this information isn't included.
iterationNumber Specifies the number of the iteration that the job is in.
caseNumber Specifies which test case of the worker test cases it's running.
turnNumber Specifies the turn number that the job is on in the current test case.
casesExecuted Specifies the following information: An array of test cases that the job ran; The latest version of each test case that the job ran; Whether the test case was changed or deleted during the running of the job.
workerUsed Specifies the worker definition that was used to run the job.
currentCase Specifies the test case that the job is running.
results Specifies the JSON object with the number of failures that occurred and an array of details for each failure that occurred.

Job status

The following table describes the possible status of a job:

Table 2. Job status
Status Description
created Specifies that the job was created.
starting Specifies that the job is starting.
re-starting Specifies that the job is running and that it restarts when given the chance.
running Specifies that the job is running.
completed Specifies that the job finished successfully.
failed Specifies that the job exceeded the maximum number of failures to ignore, as defined in the failuresToIgnore key for the worker.
paused Specifies that the job is paused.
pausing Specifies that the job is in the process of pausing.
stopped Specifies that the job is stopped.
stopping Specifies that the job is stopping.
invalid Specifies that the worker that was used for the job isn't valid, or that something went wrong in the call when the jobs were running. Maybe a test case that was used in the worker was deleted.

The following table describes the directives that you can use to modify a running job:

Table 3. Directives for a running job
Directive Description
stop Specifies that the actively running test is stopped, and that the current data is reset.
start Specifies that if the job isn't running, the results for the job are cleared, and the job is started from the beginning. If the job is running, the results for the job are also cleared, and the job is started from the beginning.
pause Specifies that the currently running test completes. Then, the job is paused before the next test case is run.
unpause Specifies that the job is started at the test case and iteration where the job was paused.