запись результатов в один файл json

This commit is contained in:
2023-09-30 22:30:41 +03:00
parent 75fab8f5e2
commit b6bd529fb1
6 changed files with 25 additions and 16 deletions

View File

@@ -4,7 +4,7 @@ import com.google.gson.annotations.Expose;
import java.util.List;
import java.util.Vector;
public class ScenarioResults_json {
public class SapforScenarioResults_json {
@Expose
public List<SapforTask> tasks = new Vector<>();
}

View File

@@ -1,3 +0,0 @@
package SapforTestingSystem.Json;
public class SapforTask_json {
}

View File

@@ -3,25 +3,26 @@ import Common.Global;
import Common.Utils.Utils;
import SapforTestingSystem.Json.SapforPackage_json;
import SapforTestingSystem.Json.SapforScenario_json;
import SapforTestingSystem.Json.SapforScenarioResults_json;
import SapforTestingSystem.PerformSapforTask;
import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.ThreadsPlanner.ThreadsPlanner;
import java.io.File;
import java.util.Vector;
public class SapforTestingPlanner extends ThreadsPlanner {
SapforScenario_json scenario_json = null;
Vector<SapforTask> tasks = new Vector<>();
SapforScenarioResults_json results_json = new SapforScenarioResults_json();
public SapforTestingPlanner() throws Exception {
super(Global.properties.threadsTimeout, Global.properties.threadsNum);
scenario_json = (SapforScenario_json) Utils.jsonFromFile(new File(Global.Home, "scenario.txt"), SapforScenario_json.class);
//формирование списка задач.
File sapfor_drv = new File(Global.Home, scenario_json.sapfor_drv);
for (SapforPackage_json sapforPackage_json : scenario_json.packages) {
for (String testName : scenario_json.tests) {
//--- чтобы было можно на нее сослаться после выполнения всех нитей.
SapforTask task = new SapforTask();
tasks.add(task);
results_json.tasks.add(task);
//---
addThread(() -> new PerformSapforTask().Do(
sapfor_drv,
@@ -46,6 +47,16 @@ public class SapforTestingPlanner extends ThreadsPlanner {
}
@Override
protected void finalize() {
System.out.println("Запись результатов");
//записать результаты всех задач.
try {
Utils.jsonToFile(results_json, new File(Global.Home, "results.txt"));
System.out.println("Нажмите любую клавишу для выхода...");
System.in.read();
} catch (Exception e) {
Global.Log.PrintException(e);
}
System.exit(0);
}
}

View File

@@ -44,8 +44,10 @@ public abstract class ThreadsPlanner {
} catch (Exception exception) {
Global.Log.PrintException(exception);
}
Global.Log.Print("Planner finished");
finalize();
finally {
Global.Log.Print("Planner finished");
finalize();
}
}
public void Interrupt() throws Exception {
}

View File

@@ -1,11 +1,11 @@
package Visual_DVM_2021.Passes.All;
import Common.Global;
import SapforTestingSystem.Json.ScenarioResults_json;
import SapforTestingSystem.Json.SapforScenarioResults_json;
import SapforTestingSystem.SapforTask.SapforTask;
import Visual_DVM_2021.Passes.Pass_2021;
import java.io.File;
public class AnalyseSapforPackageResults extends Pass_2021<ScenarioResults_json> {
public class AnalyseSapforPackageResults extends Pass_2021<SapforScenarioResults_json> {
File packageWorkspace;
File scenarioFile;
//--