Repeato allows you to execute scripts via so-called “Script steps”.
Here is the full JavaScript API:
General Variables | |
---|---|
data | object which you can use to share data between your steps. |
data.scannedText | holds the string which was scanned by the last executed “Check for text” step |
currentStepIndex | step index of the currently executing step |
workspaceDir | actual directory of the workspace directory |
testDir | actual directory of the current test |
testRunDir | actual directory of the current test run |
General Methods | |
---|---|
log(message) | log message or object |
await sleep(x) | delay for x milliseconds |
await getResponse(host, path, headers) | sends a GET request |
await sendPost(host, path, body, acceptHeader, headers) | sends a POST request |
BatchRunner Properties and Methods | |
---|---|
batchRunner.testBatch | returns the batch of tests |
batchRunner.currentExceptionHandlerIndex | returns the index of current exceptional handler |
batchRunner.currentTestIndex | returns the index of current test |
batchRunner.batchRun | access the current test run object. Use log(batchRunner.batchRun) to print all properties of the batchRun run object |
batchRunner.isPlaying | batch runner is currently playing or not |
batchRunner.runMode | get run mode |
batchRunner.setTestBatchById(batchId) | set the test batch for batch runner |
batchRunner.setRunMode(mode) | set the run mode of batch to all or failed only e.g batchRunner.setRunMode(‘AllTests’) or batchRunner.setRunMode(‘OnlyFailed’) |
batchRunner.addOnBatchStart(key, callback) | will execute the callback function just before batch start, callback function will recieve batch as parameter e.g batchRunner.addOnBatchStart(‘config’, (batch) => log(batch)) |
batchRunner.addOnTestFail(key, callback) | will execute the callback function on test fail, callback function will recieve stepResult and test as parameter e.g batchRunner.addOnTestFail(‘config’, (test, testRun, stepResult) => log(test)) |
batchRunner.addOnTestSuccess(key, callback) | will execute the callback function on test fail, callback function will recieve test and testRun as parameter e.g batchRunner.addOnTestSuccess(‘config’, (test, testRun) => log(test)) |
batchRunner.addOnStepCompleted(key, callback) | will execute the callback function each time a step was executed, callback function will recieve the step execution result as parameter e.g batchRunner.addOnStepCompleted(‘config’, (stepResult) => log(test)) |
batchRunner.addOnBatchCompleted(key, callback) | will execute the callback function on completion regardless of fail or sucess, callback function will recieve the batchRun object as parameter e.g batchRunner.addOnBatchCompleted(‘config’, (batchRun) => log(batchRun)) |
batchRunner.removeOnBatchStart(key) | will remove the specific callback of addOnBatchStart by key e.g batchRunner.removeOnBatchStart(‘config’) |
batchRunner.removeOnTestFail(key) | will remove the specific callback of addOnTestFail by key e.g batchRunner.removeOnTestFail(‘config’) |
batchRunner.removeOnTestSuccess(key) | will remove the specific callback of addOnTestSuccess by key e.g batchRunner.removeOnTestSuccess(‘config’) |
batchRunner.removeOnStepCompleted(key) | will remove the specific callback of addOnStepCompleted by key e.g batchRunner.addOnStepCompleted(‘config’) |
batchRunner.removeOnBatchCompleted(key) | will remove the specific callback of addOnBatchCompleted by key e.g batchRunner.removeOnBatchCompleted(‘config’) |
batchRunner.testRunner | access all the props and methods of testRunner. You can try log(batchRunner.testRunner) to see which properties there are… |
TestRunner Properties and Methods | |
---|---|
testRunner.currentTest | access all properties of the current test. Use log(testRunner.currentTest) to print all properties of the test object |
testRunner.currentTestRun | access the current test run object. Use log(testRunner.currentTestRun) to print all properties of the test run object |
testRunner.lastStepResult | returns the result of the previously executed step. You can try log(testRunner.lastStepResult) to see which properties there are… |
testRunner.currentStepIndex | a index which represents the index of the current step (starting from 0) |
testRunner.setNextStepId(id) | set the next step which should be executed after this one. E.g. testRunner.setNextStepId(“AH23D6”) |
testRunner.setNextStepIndex(index) | set the next step number which should be executed by the test runner (starting from 0) |
testRunner.goBackBy(stepCount) | test runner will go back by [stepCount] steps and continue to execute from there |
DeviceConnector Properties and Methods | |
---|---|
deviceConnector.selectedDeviceData | all data related to the currently connected device. Use log(testRunner.deviceConnector.selectedDeviceData) to get a picture of what’s available |
deviceConnector.sendString(string) | sends a string to the device. The app under test must have an input field to receive the data and the field must be focused. |
deviceConnector.sendClick(xPerc, yPerc) | send a touch event to the device. Internally sendClick sends a sendDown followed by a sendUp. xPerc and yPerc are relative coordinates between 0 and 1. sendClick(0.5,0.5) will send a click in the very center of the screen. |
deviceConnector.sendDown(xPerc, yPerc) | send a touch event to the device. Each sendDown needs a sendUp. Usually sendDown is used with sendMove to simulate a drag guesture |
deviceConnector.sendMove(xPerc, yPerc) | send a “move finger” event to the device. Use sendDown before sendMove to simulate a drag. Finish your drag with sendUp |
deviceConnector.sendUp(xPerc, yPerc) | send a “lift finger” event to the device. |
await deviceConnector.sendAdbCommand(command) | send an ADB command via JS. e.g. send an ADB command via JS. e.g. await deviceConnector.sendAdbCommand(command) to get all connected devices to get all connected devices |