add test to monitor result,fix the bug
This commit is contained in:
parent
f197aaf5b4
commit
bd0ea68583
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.bench4q.share.helper.ExceptionLog;
|
||||||
import org.bench4q.share.models.master.MonitorMemoryResponseModel;
|
import org.bench4q.share.models.master.MonitorMemoryResponseModel;
|
||||||
import org.bench4q.share.models.master.MonitorProcessorResponseModel;
|
import org.bench4q.share.models.master.MonitorProcessorResponseModel;
|
||||||
import org.bench4q.share.models.monitor.MemoryModel;
|
import org.bench4q.share.models.monitor.MemoryModel;
|
||||||
|
@ -14,6 +15,7 @@ import org.bench4q.web.model.BaseResponseModel;
|
||||||
import org.bench4q.web.model.ResultModel;
|
import org.bench4q.web.model.ResultModel;
|
||||||
import org.bench4q.web.service.ChangeToResultModel;
|
import org.bench4q.web.service.ChangeToResultModel;
|
||||||
import org.bench4q.web.service.MonitorService;
|
import org.bench4q.web.service.MonitorService;
|
||||||
|
import org.bench4q.web.tool.test.GsonHelper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
@ -74,7 +76,7 @@ public class MonitorController {
|
||||||
|
|
||||||
@RequestMapping("/testPlanId/SUT/{ip}/{port}/memory/{fieldName}/{startTime}")
|
@RequestMapping("/testPlanId/SUT/{ip}/{port}/memory/{fieldName}/{startTime}")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public BaseResponseModel geMemoryStatus(
|
public BaseResponseModel getMemoryStatus(
|
||||||
@ModelAttribute("accessToken") String accessToken,
|
@ModelAttribute("accessToken") String accessToken,
|
||||||
@PathVariable("testPlanId") String testPlanId,
|
@PathVariable("testPlanId") String testPlanId,
|
||||||
@RequestParam String ip, @RequestParam String port,
|
@RequestParam String ip, @RequestParam String port,
|
||||||
|
@ -87,6 +89,7 @@ public class MonitorController {
|
||||||
MonitorMemoryResponseModel monitorMemoryResponseModel = this
|
MonitorMemoryResponseModel monitorMemoryResponseModel = this
|
||||||
.getMonitorService().getMemoryResponseModel(accessToken,
|
.getMonitorService().getMemoryResponseModel(accessToken,
|
||||||
testPlanId, ip, port, startTime);
|
testPlanId, ip, port, startTime);
|
||||||
|
logger.info(GsonHelper.getGson().toJson(monitorMemoryResponseModel));
|
||||||
List<ResultModel> resultModels = extractResultModelList(
|
List<ResultModel> resultModels = extractResultModelList(
|
||||||
monitorMemoryResponseModel.getMemoryModels(), fieldName);
|
monitorMemoryResponseModel.getMemoryModels(), fieldName);
|
||||||
if (resultModels == null)
|
if (resultModels == null)
|
||||||
|
@ -94,7 +97,7 @@ public class MonitorController {
|
||||||
else
|
else
|
||||||
return new BaseResponseModel(true, resultModels);
|
return new BaseResponseModel(true, resultModels);
|
||||||
} catch (NoSuchFieldException e) {
|
} catch (NoSuchFieldException e) {
|
||||||
logger.info(e.getStackTrace());
|
logger.info(ExceptionLog.getStackTrace(e));
|
||||||
logger.info("get Memory info error :no such field:" + e.getCause());
|
logger.info("get Memory info error :no such field:" + e.getCause());
|
||||||
logger.info(source + "_" + fieldName);
|
logger.info(source + "_" + fieldName);
|
||||||
throw new CustomGenericException("5",
|
throw new CustomGenericException("5",
|
||||||
|
@ -165,7 +168,7 @@ public class MonitorController {
|
||||||
for (MemoryModel memoryModel : memoryModels) {
|
for (MemoryModel memoryModel : memoryModels) {
|
||||||
if (memoryModel != null) {
|
if (memoryModel != null) {
|
||||||
ResultModel resultModel = ChangeToResultModel.getResultModel(
|
ResultModel resultModel = ChangeToResultModel.getResultModel(
|
||||||
MemoryModel.class, fieldNames);
|
memoryModel, fieldNames);
|
||||||
resultModel.setTime(memoryModel.getSamplingTime());
|
resultModel.setTime(memoryModel.getSamplingTime());
|
||||||
resultModels.add(resultModel);
|
resultModels.add(resultModel);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,30 +3,36 @@ package org.bench4q.web.service;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
import org.bench4q.share.helper.ExceptionLog;
|
||||||
import org.bench4q.web.model.ResultModel;
|
import org.bench4q.web.model.ResultModel;
|
||||||
|
|
||||||
public class ChangeToResultModel {
|
public class ChangeToResultModel {
|
||||||
public static ResultModel getResultModel(Object object, List<String> fieldNames) throws NoSuchFieldException {
|
public static ResultModel getResultModel(Object object,
|
||||||
|
List<String> fieldNames) throws NoSuchFieldException {
|
||||||
ResultModel resultModel = new ResultModel();
|
ResultModel resultModel = new ResultModel();
|
||||||
|
|
||||||
for (String fieldName : fieldNames)
|
for (String fieldName : fieldNames) {
|
||||||
resultModel.setData(getSpecificFieldValue(object,
|
resultModel.setData(getSpecificFieldValue(object, fieldName));
|
||||||
fieldName));
|
}
|
||||||
|
|
||||||
|
|
||||||
return resultModel;
|
return resultModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Object getSpecificFieldValue(Object object, String fieldName)
|
private static Object getSpecificFieldValue(Object object, String fieldName)
|
||||||
throws NoSuchFieldException {
|
throws NoSuchFieldException {
|
||||||
try {
|
try {
|
||||||
Field field = getFieldAndSetAccessible(object, fieldName);
|
Field field = getFieldAndSetAccessible(object, fieldName);
|
||||||
return field.get(object);
|
return field.get(object);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
Logger.getLogger(ChangeToResultModel.class).info(
|
||||||
|
ExceptionLog.getStackTrace(e));
|
||||||
throw new NoSuchFieldException();
|
throw new NoSuchFieldException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private static Field getFieldAndSetAccessible(Object object, String fieldName)
|
|
||||||
throws NoSuchFieldException, SecurityException {
|
private static Field getFieldAndSetAccessible(Object object,
|
||||||
|
String fieldName) throws NoSuchFieldException, SecurityException {
|
||||||
Field field = object.getClass().getDeclaredField(fieldName);
|
Field field = object.getClass().getDeclaredField(fieldName);
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
return field;
|
return field;
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
package org.bench4q.web.service;
|
package org.bench4q.web.service;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bench4q.share.models.monitor.NetworkInterfaceModel;
|
|
||||||
import org.bench4q.web.exception.CustomGenericException;
|
import org.bench4q.web.exception.CustomGenericException;
|
||||||
import org.bench4q.web.model.ResultInfoModel;
|
import org.bench4q.web.model.ResultInfoModel;
|
||||||
import org.bench4q.web.model.SutInfo;
|
import org.bench4q.web.model.SutInfo;
|
||||||
|
@ -37,13 +34,11 @@ public class MonitorDescriptionInfoService extends BaseService {
|
||||||
if (cpuInfoModel != null)
|
if (cpuInfoModel != null)
|
||||||
resultInfoModels.add(cpuInfoModel);
|
resultInfoModels.add(cpuInfoModel);
|
||||||
resultInfoModels.add(createMemoryResultInfoModel("Memory"));
|
resultInfoModels.add(createMemoryResultInfoModel("Memory"));
|
||||||
resultInfoModels.add(createNetworkResultInfoModel("Network"));
|
|
||||||
sutInfo.setChildResults(resultInfoModels);
|
sutInfo.setChildResults(resultInfoModels);
|
||||||
return sutInfo;
|
return sutInfo;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private ResultInfoModel createMemoryResultInfoModel(String resultName) {
|
private ResultInfoModel createMemoryResultInfoModel(String resultName) {
|
||||||
|
|
||||||
ResultInfoModel resultInfoModel = new ResultInfoModel(resultName,
|
ResultInfoModel resultInfoModel = new ResultInfoModel(resultName,
|
||||||
|
@ -54,15 +49,15 @@ public class MonitorDescriptionInfoService extends BaseService {
|
||||||
return resultInfoModel;
|
return resultInfoModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ResultInfoModel createNetworkResultInfoModel(String resultName) {
|
// private ResultInfoModel createNetworkResultInfoModel(String resultName) {
|
||||||
|
//
|
||||||
ResultInfoModel resultInfoModel = new ResultInfoModel(resultName,
|
// ResultInfoModel resultInfoModel = new ResultInfoModel(resultName,
|
||||||
new ArrayList<ResultInfoModel>());
|
// new ArrayList<ResultInfoModel>());
|
||||||
|
//
|
||||||
resultInfoModel.getChildResults().add(getNetworkResultInfo());
|
// resultInfoModel.getChildResults().add(getNetworkResultInfo());
|
||||||
|
//
|
||||||
return resultInfoModel;
|
// return resultInfoModel;
|
||||||
}
|
// }
|
||||||
|
|
||||||
private ResultInfoModel createCpuResultInfoModel(String resultName,
|
private ResultInfoModel createCpuResultInfoModel(String resultName,
|
||||||
List<String> results) {
|
List<String> results) {
|
||||||
|
@ -90,14 +85,14 @@ public class MonitorDescriptionInfoService extends BaseService {
|
||||||
return getResultInfoModel(result, fields);
|
return getResultInfoModel(result, fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ResultInfoModel getNetworkResultInfo() {
|
// private ResultInfoModel getNetworkResultInfo() {
|
||||||
String result = "Result";
|
// String result = "Result";
|
||||||
List<String> fiels = new LinkedList<String>();
|
// List<String> fiels = new LinkedList<String>();
|
||||||
for (Field field : NetworkInterfaceModel.class.getFields()) {
|
// for (Field field : NetworkInterfaceModel.class.getFields()) {
|
||||||
fiels.add(field.getName());
|
// fiels.add(field.getName());
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
String[] toBeStored = new String[fiels.size()];
|
// String[] toBeStored = new String[fiels.size()];
|
||||||
return getResultInfoModel(result, fiels.toArray(toBeStored));
|
// return getResultInfoModel(result, fiels.toArray(toBeStored));
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,27 +86,6 @@ public class MonitorService extends BaseService {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// public List<String> getNetworkList(String accessToken, String testplanId,
|
|
||||||
// String ip, String port) throws CustomGenericException {
|
|
||||||
// String scource = "MonitorService:getNetworkList";
|
|
||||||
// try {
|
|
||||||
// MonitorNetworkReponseModel monitorNetworkReponseModel = getNetworks(
|
|
||||||
// accessToken, testplanId, ip, port, "0");
|
|
||||||
// NetworkInterfaceModel networkInterfaceModel = monitorNetworkReponseModel
|
|
||||||
// .getModels().get(0);
|
|
||||||
// List<String> networkList = new ArrayList<String>();
|
|
||||||
// for (NetworkInterfaceModelChild networkInterfaceModelChild :
|
|
||||||
// networkInterfaceModel
|
|
||||||
// .getNetworkList()) {
|
|
||||||
// networkList.add(networkInterfaceModelChild.getInstance());
|
|
||||||
// }
|
|
||||||
// return networkList;
|
|
||||||
// } catch (NullPointerException e) {
|
|
||||||
// logger.info(e.getStackTrace());
|
|
||||||
// throw new CustomGenericException("1", "error network list info"
|
|
||||||
// + e.getCause(), scource);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
public MonitorNetworkReponseModel getNetworks(String accessToken,
|
public MonitorNetworkReponseModel getNetworks(String accessToken,
|
||||||
String testplanId, String ip, String port, String startTime)
|
String testplanId, String ip, String port, String startTime)
|
||||||
|
@ -125,6 +104,7 @@ public class MonitorService extends BaseService {
|
||||||
|
|
||||||
private Map<String, String> makeParamsMap(String ip, String port,
|
private Map<String, String> makeParamsMap(String ip, String port,
|
||||||
String testPlanId, String startTime) {
|
String testPlanId, String startTime) {
|
||||||
|
logger.info(testPlanId);
|
||||||
Map<String, String> params = new HashMap<String, String>();
|
Map<String, String> params = new HashMap<String, String>();
|
||||||
params.put("hostName", ip);
|
params.put("hostName", ip);
|
||||||
params.put("port", port);
|
params.put("port", port);
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
masterAddress=127.0.0.1:7979/
|
masterAddress=133.133.12.1:7979/
|
|
@ -0,0 +1,112 @@
|
||||||
|
package org.bench4q.web.api.test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.xml.bind.JAXBException;
|
||||||
|
|
||||||
|
import junit.framework.Assert;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
import org.bench4q.share.enums.master.TestPlanStatus;
|
||||||
|
import org.bench4q.web.api.MonitorController;
|
||||||
|
import org.bench4q.web.exception.CustomGenericException;
|
||||||
|
import org.bench4q.web.model.BaseResponseModel;
|
||||||
|
import org.bench4q.web.model.ResultModel;
|
||||||
|
import org.bench4q.web.model.WebTestPlanResultModel;
|
||||||
|
import org.bench4q.web.tool.test.GsonHelper;
|
||||||
|
import org.bench4q.web.tool.test.LoginHelper;
|
||||||
|
import org.bench4q.web.tool.test.TestPlanHelper;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||||
|
|
||||||
|
@RunWith(SpringJUnit4ClassRunner.class)
|
||||||
|
@ContextConfiguration(locations = { "file:src/test/resources/bench4qweb-servlet.xml" })
|
||||||
|
public class TestMonitorResult extends LoginHelper {
|
||||||
|
private MonitorController monitorController;
|
||||||
|
private TestPlanHelper startTestPlan;
|
||||||
|
private String accessToken;
|
||||||
|
private String testPlanId;
|
||||||
|
private Logger logger = Logger.getLogger(TestMonitorResult.class);
|
||||||
|
|
||||||
|
public MonitorController getMonitorController() {
|
||||||
|
return monitorController;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public void setMonitorController(MonitorController monitorController) {
|
||||||
|
this.monitorController = monitorController;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestPlanHelper getStartTestPlan() {
|
||||||
|
return startTestPlan;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public void setStartTestPlan(TestPlanHelper startTestPlan) {
|
||||||
|
this.startTestPlan = startTestPlan;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
this.accessToken = login();
|
||||||
|
this.getStartTestPlan().startTest(accessToken);
|
||||||
|
this.testPlanId = this.getStartTestPlan().getTestPlanRunId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Test
|
||||||
|
public void test_getMemoryResult() throws InterruptedException,
|
||||||
|
CustomGenericException, JAXBException {
|
||||||
|
testTestPlanStatus();
|
||||||
|
BaseResponseModel baseResponseModel = this.getMonitorController()
|
||||||
|
.getMemoryStatus(accessToken, testPlanId,
|
||||||
|
TestPlanHelper.MONITOR_IP, "5556", "pagesPerSecond",
|
||||||
|
"0");
|
||||||
|
assertTrue(baseResponseModel.isSuccess());
|
||||||
|
List<ResultModel> resultModels = (List<ResultModel>) baseResponseModel
|
||||||
|
.getData();
|
||||||
|
logger.info(GsonHelper.getGson().toJson(resultModels));
|
||||||
|
assertTrue(resultModels.size() > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_getCpuResult() throws InterruptedException, CustomGenericException, JAXBException{
|
||||||
|
testTestPlanStatus();
|
||||||
|
BaseResponseModel baseResponseModel = this.getMonitorController()
|
||||||
|
.getCpuResult(accessToken, testPlanId, TestPlanHelper.MONITOR_IP, "5556", "cpu0", "processorTimePercent", "0");
|
||||||
|
assertTrue(baseResponseModel.isSuccess());
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
List<ResultModel> resultModels = (List<ResultModel>) baseResponseModel
|
||||||
|
.getData();
|
||||||
|
logger.info(GsonHelper.getGson().toJson(resultModels));
|
||||||
|
assertTrue(resultModels.size() > 0);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void test_getNetwork() throws InterruptedException, CustomGenericException, JAXBException{
|
||||||
|
testTestPlanStatus();
|
||||||
|
BaseResponseModel baseResponseModel = this.getMonitorController()
|
||||||
|
.getCpuResult(accessToken, testPlanId, TestPlanHelper.MONITOR_IP, "5556", "cpu0", "processorTimePercent", "0");
|
||||||
|
assertTrue(baseResponseModel.isSuccess());
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
List<ResultModel> resultModels = (List<ResultModel>) baseResponseModel
|
||||||
|
.getData();
|
||||||
|
logger.info(GsonHelper.getGson().toJson(resultModels));
|
||||||
|
assertTrue(resultModels.size() > 0);
|
||||||
|
}
|
||||||
|
private void testTestPlanStatus() throws InterruptedException,
|
||||||
|
CustomGenericException, JAXBException {
|
||||||
|
Assert.assertNotNull(this.getStartTestPlan().getTestPlanRunId());
|
||||||
|
assertNotNull(testPlanId);
|
||||||
|
Thread.sleep(6000);
|
||||||
|
WebTestPlanResultModel webTestPlanResultModel = this.getStartTestPlan()
|
||||||
|
.queryTestPlanResultModel(testPlanId, accessToken);
|
||||||
|
assertEquals(TestPlanStatus.InRunning,
|
||||||
|
webTestPlanResultModel.getCurrentStatus());
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,10 +1,14 @@
|
||||||
package org.bench4q.web.api.test;
|
package org.bench4q.web.api.test;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBException;
|
import javax.xml.bind.JAXBException;
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.bench4q.share.enums.master.TestPlanStatus;
|
import org.bench4q.share.enums.master.TestPlanStatus;
|
||||||
import org.bench4q.share.helper.ExceptionLog;
|
import org.bench4q.share.helper.ExceptionLog;
|
||||||
|
@ -19,7 +23,7 @@ import org.bench4q.web.model.WebTestPlanResultModel;
|
||||||
import org.bench4q.web.service.TestPlanService;
|
import org.bench4q.web.service.TestPlanService;
|
||||||
import org.bench4q.web.tool.test.GsonHelper;
|
import org.bench4q.web.tool.test.GsonHelper;
|
||||||
import org.bench4q.web.tool.test.LoginHelper;
|
import org.bench4q.web.tool.test.LoginHelper;
|
||||||
import org.bench4q.web.tool.test.StartTestPlan;
|
import org.bench4q.web.tool.test.TestPlanHelper;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -32,12 +36,12 @@ import com.google.gson.Gson;
|
||||||
|
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
@RunWith(SpringJUnit4ClassRunner.class)
|
||||||
@ContextConfiguration(locations = { "file:src/test/resources/bench4qweb-servlet.xml" })
|
@ContextConfiguration(locations = { "file:src/test/resources/bench4qweb-servlet.xml" })
|
||||||
public class TestResultTest extends LoginHelper {
|
public class TestScriptResultTest extends LoginHelper {
|
||||||
private TestPlanActionController testPlanActionController;
|
private TestPlanActionController testPlanActionController;
|
||||||
private StartTestPlan startTestPlan;
|
private TestPlanHelper testPlanHelper;
|
||||||
private String testPlanId;
|
private String testPlanId;
|
||||||
private String accessToken;
|
private String accessToken;
|
||||||
private Logger logger = Logger.getLogger(TestResultTest.class);
|
private Logger logger = Logger.getLogger(TestScriptResultTest.class);
|
||||||
private TestPlanService testPlanService;
|
private TestPlanService testPlanService;
|
||||||
private String scriptId;
|
private String scriptId;
|
||||||
|
|
||||||
|
@ -51,13 +55,13 @@ public class TestResultTest extends LoginHelper {
|
||||||
this.testPlanActionController = testPlanActionController;
|
this.testPlanActionController = testPlanActionController;
|
||||||
}
|
}
|
||||||
|
|
||||||
public StartTestPlan getStartTestPlan() {
|
public TestPlanHelper getStartTestPlan() {
|
||||||
return startTestPlan;
|
return testPlanHelper;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setStartTestPlan(StartTestPlan startTestPlan) {
|
public void setStartTestPlan(TestPlanHelper startTestPlan) {
|
||||||
this.startTestPlan = startTestPlan;
|
this.testPlanHelper = startTestPlan;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TestPlanService getTestPlanService() {
|
public TestPlanService getTestPlanService() {
|
||||||
|
@ -72,9 +76,9 @@ public class TestResultTest extends LoginHelper {
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
this.accessToken = this.login();
|
this.accessToken = this.login();
|
||||||
this.startTestPlan.startTest(accessToken);
|
this.testPlanHelper.startTest(accessToken);
|
||||||
this.testPlanId = this.startTestPlan.getTestPlanRunId();
|
this.testPlanId = this.testPlanHelper.getTestPlanRunId();
|
||||||
this.scriptId = this.getOneScriptId(testPlanId);
|
this.scriptId = this.getOneScriptId(testPlanId, accessToken);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,37 +93,21 @@ public class TestResultTest extends LoginHelper {
|
||||||
Assert.assertNotNull(this.getStartTestPlan().getTestPlanRunId());
|
Assert.assertNotNull(this.getStartTestPlan().getTestPlanRunId());
|
||||||
BaseResponseModel baseResponseModel = this
|
BaseResponseModel baseResponseModel = this
|
||||||
.getTestPlanActionController().getReplaceList(this.accessToken,
|
.getTestPlanActionController().getReplaceList(this.accessToken,
|
||||||
this.startTestPlan.getTestPlanRunId());
|
this.testPlanHelper.getTestPlanRunId());
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
Map<String, Integer> scriptIdMap = (Map<String, Integer>) baseResponseModel
|
Map<String, Integer> scriptIdMap = (Map<String, Integer>) baseResponseModel
|
||||||
.getData();
|
.getData();
|
||||||
Assert.assertTrue(scriptIdMap.size() > 0);
|
Assert.assertTrue(scriptIdMap.size() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_getSutInfo() throws CustomGenericException, JAXBException {
|
|
||||||
Assert.assertNotNull(this.getStartTestPlan().getTestPlanRunId());
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
List<SutInfo> sutInfos = (List<SutInfo>) this
|
|
||||||
.getTestPlanActionController()
|
|
||||||
.getSutInfo(accessToken,
|
|
||||||
this.getStartTestPlan().getTestPlanRunId()).getData();
|
|
||||||
for (SutInfo sutInfo : sutInfos) {
|
|
||||||
assertEquals("5556", sutInfo.getPort());
|
|
||||||
assertEquals("133.133.12.3", sutInfo.getIp());
|
|
||||||
Gson gson = new Gson();
|
|
||||||
logger.info(gson.toJson(sutInfo));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_getTestPageBriefModel() throws InterruptedException,
|
public void test_getTestPageBriefModel() throws InterruptedException,
|
||||||
CustomGenericException, JAXBException {
|
CustomGenericException, JAXBException {
|
||||||
assertNotNull(this.testPlanId);
|
assertNotNull(this.testPlanId);
|
||||||
assertNotNull(this.scriptId);
|
assertNotNull(this.scriptId);
|
||||||
Thread.sleep(3000);
|
Thread.sleep(3000);
|
||||||
WebTestPlanResultModel webTestPlanResultModel = this
|
WebTestPlanResultModel webTestPlanResultModel = this.getStartTestPlan()
|
||||||
.queryTestPlanResultModel(testPlanId);
|
.queryTestPlanResultModel(testPlanId, accessToken);
|
||||||
assertEquals(TestPlanStatus.InRunning,
|
assertEquals(TestPlanStatus.InRunning,
|
||||||
webTestPlanResultModel.getCurrentStatus());
|
webTestPlanResultModel.getCurrentStatus());
|
||||||
BaseResponseModel baseResponseModel = this
|
BaseResponseModel baseResponseModel = this
|
||||||
|
@ -138,7 +126,7 @@ public class TestResultTest extends LoginHelper {
|
||||||
CustomGenericException, JAXBException, InterruptedException {
|
CustomGenericException, JAXBException, InterruptedException {
|
||||||
Assert.assertNotNull(testPlanId);
|
Assert.assertNotNull(testPlanId);
|
||||||
String scriptId = getOneScriptId(this.getStartTestPlan()
|
String scriptId = getOneScriptId(this.getStartTestPlan()
|
||||||
.getTestPlanRunId());
|
.getTestPlanRunId(), accessToken);
|
||||||
Assert.assertNotNull(scriptId);
|
Assert.assertNotNull(scriptId);
|
||||||
Thread.sleep(3000);
|
Thread.sleep(3000);
|
||||||
BaseResponseModel baseResponseModelForTestPlan = this
|
BaseResponseModel baseResponseModelForTestPlan = this
|
||||||
|
@ -152,13 +140,13 @@ public class TestResultTest extends LoginHelper {
|
||||||
BaseResponseModel baseResponseModel = this
|
BaseResponseModel baseResponseModel = this
|
||||||
.getTestPlanActionController().getScriptBriefStatus(
|
.getTestPlanActionController().getScriptBriefStatus(
|
||||||
accessToken, this.testPlanId,
|
accessToken, this.testPlanId,
|
||||||
this.getOneScriptId(this.testPlanId),
|
this.getOneScriptId(this.testPlanId, accessToken),
|
||||||
"averageResponseTime", "0");
|
"averageResponseTime", "0");
|
||||||
assertTrue(baseResponseModel.isSuccess());
|
assertTrue(baseResponseModel.isSuccess());
|
||||||
List<ResultModel> resultModels = (List<ResultModel>) baseResponseModel
|
List<ResultModel> resultModels = (List<ResultModel>) baseResponseModel
|
||||||
.getData();
|
.getData();
|
||||||
Logger.getLogger("get result model");
|
Logger.getLogger("get result model");
|
||||||
Logger.getLogger(TestResultTest.class).info(
|
Logger.getLogger(TestScriptResultTest.class).info(
|
||||||
"resultModel:" + GsonHelper.getGson().toJson(resultModels));
|
"resultModel:" + GsonHelper.getGson().toJson(resultModels));
|
||||||
assertTrue(resultModels.size() > 0);
|
assertTrue(resultModels.size() > 0);
|
||||||
}
|
}
|
||||||
|
@ -168,7 +156,7 @@ public class TestResultTest extends LoginHelper {
|
||||||
throws CustomGenericException, JAXBException, InterruptedException {
|
throws CustomGenericException, JAXBException, InterruptedException {
|
||||||
assertNotNull(this.testPlanId);
|
assertNotNull(this.testPlanId);
|
||||||
String scriptId = getOneScriptId(this.getStartTestPlan()
|
String scriptId = getOneScriptId(this.getStartTestPlan()
|
||||||
.getTestPlanRunId());
|
.getTestPlanRunId(), accessToken);
|
||||||
Thread.sleep(3000);
|
Thread.sleep(3000);
|
||||||
BaseResponseModel baseResponseModel = this
|
BaseResponseModel baseResponseModel = this
|
||||||
.getTestPlanActionController().getScriptBehaviorBriefModel(
|
.getTestPlanActionController().getScriptBehaviorBriefModel(
|
||||||
|
@ -183,11 +171,12 @@ public class TestResultTest extends LoginHelper {
|
||||||
.getTestBehaviorsBriefModel().getBehaviorBriefModels().size() > 0);
|
.getTestBehaviorsBriefModel().getBehaviorBriefModels().size() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getOneScriptId(String testPlanRunId) {
|
private String getOneScriptId(String testPlanRunId, String accessToken) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
return queryTestPlanResultModel(testPlanRunId).getScriptIds()
|
return this.getStartTestPlan()
|
||||||
.get(0).toString();
|
.queryTestPlanResultModel(testPlanRunId, accessToken)
|
||||||
|
.getScriptIds().get(0).toString();
|
||||||
} catch (CustomGenericException e) {
|
} catch (CustomGenericException e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
logger.info(ExceptionLog.getStackTrace(e));
|
logger.info(ExceptionLog.getStackTrace(e));
|
||||||
|
@ -200,12 +189,31 @@ public class TestResultTest extends LoginHelper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private WebTestPlanResultModel queryTestPlanResultModel(String testPlanRunId)
|
@SuppressWarnings("unchecked")
|
||||||
throws CustomGenericException, JAXBException {
|
@Test
|
||||||
WebTestPlanResultModel webTestPlanResultModel = (WebTestPlanResultModel) this
|
public void test_getSutInfo() throws CustomGenericException, JAXBException,
|
||||||
|
InterruptedException {
|
||||||
|
testTestPlanStatus();
|
||||||
|
List<SutInfo> sutInfos = (List<SutInfo>) this
|
||||||
.getTestPlanActionController()
|
.getTestPlanActionController()
|
||||||
.queryTestPlan(accessToken,
|
.getSutInfo(accessToken, testPlanId).getData();
|
||||||
this.getStartTestPlan().getTestPlanRunId()).getData();
|
for (SutInfo sutInfo : sutInfos) {
|
||||||
return webTestPlanResultModel;
|
assertEquals("5556", sutInfo.getPort());
|
||||||
|
assertEquals(TestPlanHelper.MONITOR_IP, sutInfo.getIp());
|
||||||
|
Gson gson = new Gson();
|
||||||
|
logger.info(gson.toJson(sutInfo));
|
||||||
|
}
|
||||||
|
assertEquals(1, sutInfos.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void testTestPlanStatus() throws InterruptedException,
|
||||||
|
CustomGenericException, JAXBException {
|
||||||
|
Assert.assertNotNull(this.getStartTestPlan().getTestPlanRunId());
|
||||||
|
assertNotNull(testPlanId);
|
||||||
|
Thread.sleep(6000);
|
||||||
|
WebTestPlanResultModel webTestPlanResultModel = this.getStartTestPlan()
|
||||||
|
.queryTestPlanResultModel(testPlanId, accessToken);
|
||||||
|
assertEquals(TestPlanStatus.InRunning,
|
||||||
|
webTestPlanResultModel.getCurrentStatus());
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -9,7 +9,7 @@ import org.bench4q.web.api.ScriptActionController;
|
||||||
import org.bench4q.web.exception.CustomGenericException;
|
import org.bench4q.web.exception.CustomGenericException;
|
||||||
import org.bench4q.web.model.BaseResponseModel;
|
import org.bench4q.web.model.BaseResponseModel;
|
||||||
import org.bench4q.web.tool.test.LoginHelper;
|
import org.bench4q.web.tool.test.LoginHelper;
|
||||||
import org.bench4q.web.tool.test.StartTestPlan;
|
import org.bench4q.web.tool.test.TestPlanHelper;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
@ -23,7 +23,7 @@ public class TestLoginHelper {
|
||||||
private LoginHelper loginHelper;
|
private LoginHelper loginHelper;
|
||||||
|
|
||||||
private ScriptActionController scriptActionController;
|
private ScriptActionController scriptActionController;
|
||||||
private StartTestPlan startTestPlan;
|
private TestPlanHelper startTestPlan;
|
||||||
|
|
||||||
public LoginHelper getLoginHelper() {
|
public LoginHelper getLoginHelper() {
|
||||||
return loginHelper;
|
return loginHelper;
|
||||||
|
@ -34,12 +34,12 @@ public class TestLoginHelper {
|
||||||
this.loginHelper = loginHelper;
|
this.loginHelper = loginHelper;
|
||||||
}
|
}
|
||||||
|
|
||||||
public StartTestPlan getStartTestPlan() {
|
public TestPlanHelper getStartTestPlan() {
|
||||||
return startTestPlan;
|
return startTestPlan;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setStartTestPlan(StartTestPlan startTestPlan) {
|
public void setStartTestPlan(TestPlanHelper startTestPlan) {
|
||||||
this.startTestPlan = startTestPlan;
|
this.startTestPlan = startTestPlan;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,22 +13,23 @@ import org.bench4q.web.api.TestPlanActionController;
|
||||||
import org.bench4q.web.exception.CustomGenericException;
|
import org.bench4q.web.exception.CustomGenericException;
|
||||||
import org.bench4q.web.model.TestPlanRequestModel;
|
import org.bench4q.web.model.TestPlanRequestModel;
|
||||||
import org.bench4q.web.model.WebScriptModel;
|
import org.bench4q.web.model.WebScriptModel;
|
||||||
|
import org.bench4q.web.model.WebTestPlanResultModel;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class StartTestPlan {
|
public class TestPlanHelper {
|
||||||
private final String MONITOR_IP = "133.133.12.3";
|
public static final String MONITOR_IP = "133.133.12.3";
|
||||||
private ScriptHelper scriptHelper;
|
private ScriptHelper scriptHelper;
|
||||||
private TestPlanActionController testPlanActionController;
|
private TestPlanActionController testPlanActionController;
|
||||||
private String testPlanRunId;
|
private String testPlanRunId;
|
||||||
|
|
||||||
|
|
||||||
public TestPlanActionController getTestPlanActionController() {
|
public TestPlanActionController getTestPlanActionController() {
|
||||||
return testPlanActionController;
|
return testPlanActionController;
|
||||||
}
|
}
|
||||||
@Autowired
|
|
||||||
|
@Autowired
|
||||||
public void setTestPlanActionController(
|
public void setTestPlanActionController(
|
||||||
TestPlanActionController testPlanActionController) {
|
TestPlanActionController testPlanActionController) {
|
||||||
this.testPlanActionController = testPlanActionController;
|
this.testPlanActionController = testPlanActionController;
|
||||||
|
@ -57,11 +58,11 @@ public class StartTestPlan {
|
||||||
.getTestPlanActionController()
|
.getTestPlanActionController()
|
||||||
.runTestPlan(accessToken, new ModelMap(),
|
.runTestPlan(accessToken, new ModelMap(),
|
||||||
createTestPlanWithMonitor(accessToken)).getData();
|
createTestPlanWithMonitor(accessToken)).getData();
|
||||||
|
|
||||||
this.setTestPlanRunId(testPlanResultModel.getTestPlanId()
|
this.setTestPlanRunId(testPlanResultModel.getTestPlanId()
|
||||||
.toString());
|
.toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Logger.getLogger(StartTestPlan.class).info(
|
Logger.getLogger(TestPlanHelper.class).info(
|
||||||
ExceptionLog.getStackTrace(e));
|
ExceptionLog.getStackTrace(e));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,9 +78,6 @@ public class StartTestPlan {
|
||||||
.setScriptList(generateWebScriptModels(accessToken));
|
.setScriptList(generateWebScriptModels(accessToken));
|
||||||
return testPlanRequestModel;
|
return testPlanRequestModel;
|
||||||
}
|
}
|
||||||
// private void deleteTestPlan(String accessToken){
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
|
|
||||||
private List<WebScriptModel> generateWebScriptModels(String accessToken)
|
private List<WebScriptModel> generateWebScriptModels(String accessToken)
|
||||||
throws JAXBException, IOException, CustomGenericException {
|
throws JAXBException, IOException, CustomGenericException {
|
||||||
|
@ -87,15 +85,25 @@ public class StartTestPlan {
|
||||||
WebScriptModel webScriptModel = new WebScriptModel();
|
WebScriptModel webScriptModel = new WebScriptModel();
|
||||||
webScriptModel.setCooldown(1);
|
webScriptModel.setCooldown(1);
|
||||||
webScriptModel.setExecuteRange(50);
|
webScriptModel.setExecuteRange(50);
|
||||||
webScriptModel.setId(this.getScriptHelper().upLoadScriptAndGetId(
|
webScriptModel.setId(this.getScriptHelper()
|
||||||
accessToken).getId());
|
.upLoadScriptAndGetId(accessToken).getId());
|
||||||
webScriptModel.setLoad(30);
|
webScriptModel.setLoad(30);
|
||||||
webScriptModel.setWarmup(1);
|
webScriptModel.setWarmup(1);
|
||||||
scriptList.add(webScriptModel);
|
scriptList.add(webScriptModel);
|
||||||
return scriptList;
|
return scriptList;
|
||||||
|
|
||||||
}
|
}
|
||||||
public void cleanUpTest(String accessToken) throws CustomGenericException{
|
|
||||||
|
public void cleanUpTest(String accessToken) throws CustomGenericException {
|
||||||
this.getScriptHelper().deleteScript(accessToken);
|
this.getScriptHelper().deleteScript(accessToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public WebTestPlanResultModel queryTestPlanResultModel(
|
||||||
|
String testPlanRunId, String accessToken)
|
||||||
|
throws CustomGenericException, JAXBException {
|
||||||
|
WebTestPlanResultModel webTestPlanResultModel = (WebTestPlanResultModel) this
|
||||||
|
.getTestPlanActionController()
|
||||||
|
.queryTestPlan(accessToken, testPlanRunId).getData();
|
||||||
|
return webTestPlanResultModel;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue