Forum Discussion
Gurbakhsish
9 years agoOccasional Contributor
After investing few hours on this topic, I am able to run few scripts in javascript, they are too basic scripts, but can be used to perform subtle actions.
1. Script to run a test step at testcase tear down -
Prerequisites - have a test step inside a testcase and disable it, following testcase teardown script will execute the test step
For me, Add a priority is a test step in the test case, which should return anything positive, and Delete Priority test step is a test step that will be executed at teat down.
if( context.expand( "${Add a priority#Response#$.status}" ) > 400 ) {
var s = testRunner.getTestCase().getTestStepByName("Delete Priority").run(testRunner, context).status;
if (s == "OK"){
log.info("Deleted test data - Priority id - "+ context.expand( "${Add a priority#Response#$.data.id}" ));
}
var s = testRunner.getTestCase().getTestStepByName("Delete Priority").run(testRunner, context).status;
if (s == "OK"){
log.info("Deleted test data - Priority id - "+ context.expand( "${Add a priority#Response#$.data.id}" ));
}
}
Here, the variable s will have the status of the run, and if it is not OK, you may like to add a throw statement, which will break the execution.
2. Setup script for a testsuite
To run a testcase at very beginning of a testsuite, which will create some test data. Add that test case to the test suite and disable it.
runner.getTestSuite().getTestCaseByName("Setup - Add an article").run(context.properties, false);
3. Assert a value from the response
var total_count = context.expand( "${Retrieve cases#Response#$.total_count}" );
var result = true;
var entry_id,case_id;
for (i = 0;i<total_count;i++){
entry_id = context.expand( "${Retrieve cases#Response#$.data["+i+"].id}" );
case_id = context.expand( "${Add a case#Response#$.data.id}" );
if ( entry_id == case_id){
result = false;break;
}
}
if(result){throw "Assertion Failed"};
var result = true;
var entry_id,case_id;
for (i = 0;i<total_count;i++){
entry_id = context.expand( "${Retrieve cases#Response#$.data["+i+"].id}" );
case_id = context.expand( "${Add a case#Response#$.data.id}" );
if ( entry_id == case_id){
result = false;break;
}
}
if(result){throw "Assertion Failed"};
Related Content
- 8 years ago
- 3 years ago
- 8 years ago
- 5 years ago
Recent Discussions
- 19 hours ago