-
Notifications
You must be signed in to change notification settings - Fork 2
Scenario API
Itai Agmon edited this page Aug 2, 2017
·
2 revisions
The scenario API is an internal JSystem API and it supports multiple operations on scenario files. Examples for API usage are:
- Creating new scenarios
- Query existing scenarios
- Changing scenarios attributes (scenario as test, hide in html, mark as known issue, etc…)
- Set test arguments
NOTICE: Scenario API is not supporting executing scenarios.
@Test
public void createSimpleScenario() throws Exception {
//Creating test elements
RunnerTest t1 = new RunnerTest("org.jsystemtest.my_tests_proj.TestsExamples","reportSuccess");
RunnerTest t2 = new RunnerTest("org.jsystemtest.my_tests_proj.TestsExamples","reportFailure");
//Creating scenario
Scenario s = new Scenario(ScenariosManager.getInstance().getScenariosDirectoryFiles(),"scenarios/ApiScenario");
//adding tests to scenario
s.addTest(t1);
s.addTest(t2);
//saving scenario
JSystemProperties.getInstance().setJsystemRunner(true);
s.save();
JSystemProperties.getInstance().setJsystemRunner(false);
}
Notice: The JSystemProperties.getInstance().setJsystemRunner(true);
expression is required only when running the code from the tests project JVM and not when running from the runner GUI JVM
@Test
public void changeScenarioAttributes() throws Exception {
final Scenario scenario = ScenariosManager.getInstance().getScenario("scenarios/default");
scenario.setScenarioAsTest(true);
scenario.hideInHTML(true);
scenario.markAsKnownIssue(true);
scenario.setDocumentation("My scenario documentation");
JSystemProperties.getInstance().setJsystemRunner(true);
scenario.save();
JSystemProperties.getInstance().setJsystemRunner(false);
}
@Test
public void createScenarioWithTestAndParameters() throws Exception {
//Note: it is important to create scenario and add test to it before setting test parameters
Scenario s = new Scenario(ScenariosManager.getInstance().getScenariosDirectoryFiles(),"scenarios/ApiScenarioWithParam");
RunnerTest t1 = new RunnerTest("org.jsystemtest.my_tests_proj.TestsExamples","testWithParameters");
s.addTest(t1);
//those two operation are important for test initialization
t1.load();
t1.loadParametersAndValues();
//defining parameters
Parameter p = new Parameter();
p.setName("Str");
p.setType(ParameterType.STRING);
p.setValue("Value that was set using API");
Parameter p1 = new Parameter();
p1.setName("File");
p1.setType(ParameterType.FILE);
p1.setValue("somefile.txt");
//setting test parameters
t1.setParameters(new Parameter[]{p,p1});
//saving scenario
JSystemProperties.getInstance().setJsystemRunner(true);
s.save();
JSystemProperties.getInstance().setJsystemRunner(false);
}
@Test
public void createScenarioWithFlowControl() throws Exception {
Scenario s = new Scenario(ScenariosManager.getInstance().getScenariosDirectoryFiles(),"scenarios/ApiScenarioWithFor");
AntForLoop loop = new AntForLoop();
loop.setLoopValuesList("1;2;3;4");
RunnerTest t1 = new RunnerTest("org.jsystemtest.my_tests_proj.TestsExamples","reportSuccess");
loop.addTest(t1);
s.addTest(loop);
JSystemProperties.getInstance().setJsystemRunner(true);
s.save();
JSystemProperties.getInstance().setJsystemRunner(false);
}
Copyright (c) 2021 JSystem Software
- Introduction
- Interface Overview
- Building Blocks
- System Objects
- Framework Services
- Advanced Functionality
- Core System Objects
- Cli (SSH/Telnet/RS323)