chang the the test of upload file
This commit is contained in:
parent
a0b8002d55
commit
4dbbcd2f55
|
@ -7,9 +7,9 @@ import java.io.FileReader;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.file.Files;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -48,7 +48,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.SessionAttributes;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
|
@ -296,7 +295,7 @@ public class ScriptActionController {
|
|||
public BaseResponseModel uploadScript(
|
||||
@ModelAttribute("accessToken") String accessToken,
|
||||
@RequestParam("script") CommonsMultipartFile script,
|
||||
@RequestParam String scriptName, List<File> paramFiles)
|
||||
@RequestParam String scriptName)
|
||||
throws CustomGenericException {
|
||||
if (script.isEmpty()) {
|
||||
return new BaseResponseModel(false, "empty file");
|
||||
|
@ -308,12 +307,10 @@ public class ScriptActionController {
|
|||
RunScenarioModel runScenarioModel = (RunScenarioModel) MarshalHelper
|
||||
.unmarshal(RunScenarioModel.class, scenarioModel);
|
||||
|
||||
HttpResponse httpResponse = this.getCommunicateWithMaster()
|
||||
.uploadScriptWithParamFiles(accessToken, scriptName,
|
||||
runScenarioModel, paramFiles);
|
||||
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) MarshalHelper
|
||||
.tryUnmarshal(OperateScriptServerResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
"");
|
||||
|
||||
if (operateScriptServerResponseModel.isSuccess())
|
||||
return new BaseResponseModel(true, (Object) new String(
|
||||
|
@ -394,24 +391,20 @@ public class ScriptActionController {
|
|||
return str;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "uploadEditScript", method = RequestMethod.POST)
|
||||
@RequestMapping(value = "uploadEditedScipt", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public BaseResponseModel uploadEditScript(
|
||||
@ModelAttribute("accessToken") String accessToken,
|
||||
@RequestParam String content, @RequestParam File file)
|
||||
@RequestParam String content, @RequestParam CommonsMultipartFile[] paramFiles )
|
||||
throws CustomGenericException {
|
||||
System.out.println("uploadEditScript");
|
||||
ScenarioModel scenarioModel = null;
|
||||
Gson gson = new Gson();
|
||||
List<File> paramFiles=new LinkedList<File>();
|
||||
paramFiles.add(file);
|
||||
try {
|
||||
scenarioModel = gson.fromJson(content, ScenarioModel.class);
|
||||
} catch (Exception e) {
|
||||
Logger.getLogger(ScriptActionController.class).info(
|
||||
ExceptionLog.getStackTrace(e));
|
||||
}
|
||||
|
||||
RunScenarioModel runScenarioModel = scenarioModel.getRunScenarioModel();
|
||||
List<PageModel> pageModels = runScenarioModel.getPages();
|
||||
List<UsePluginModel> usePluginModels = runScenarioModel.getUsePlugins();
|
||||
|
@ -419,12 +412,11 @@ public class ScriptActionController {
|
|||
if (!validateScenarioModel(pageModels, usePluginModels))
|
||||
return new BaseResponseModel(false, "invalidate script");
|
||||
try {
|
||||
ObjectXmlExchange.toXml(RunScenarioModel.class,
|
||||
runScenarioModel);
|
||||
|
||||
HttpResponse httpResponse = this.getCommunicateWithMaster()
|
||||
ObjectXmlExchange.toXml(RunScenarioModel.class, runScenarioModel);
|
||||
|
||||
HttpResponse httpResponse = this.getCommunicateWithMaster()
|
||||
.uploadScriptWithParamFiles(accessToken, scriptName,
|
||||
runScenarioModel, paramFiles);
|
||||
runScenarioModel, paramFiles);
|
||||
OperateScriptServerResponseModel operateScriptServerResponseModel = (OperateScriptServerResponseModel) MarshalHelper
|
||||
.tryUnmarshal(OperateScriptServerResponseModel.class,
|
||||
httpResponse.getContent());
|
||||
|
|
|
@ -24,7 +24,7 @@ import org.bench4q.web.extractObjectFromXml.ObjectXmlExchange;
|
|||
import org.eclipse.jetty.http.HttpStatus;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
||||
|
||||
@Component
|
||||
public class CommunicateWithMaster {
|
||||
|
@ -77,11 +77,11 @@ public class CommunicateWithMaster {
|
|||
|
||||
public HttpResponse uploadScriptWithParamFiles(String accessToken,
|
||||
String scriptName, RunScenarioModel runScenarioModel,
|
||||
List<File> paramFiles) {
|
||||
CommonsMultipartFile[] paramFiles) {
|
||||
String url = masterAddress + "RecordScript/uploadScript/" + scriptName;
|
||||
List<String> stringPart = new LinkedList<String>();
|
||||
stringPart.add(MarshalHelper.tryMarshal(runScenarioModel));
|
||||
return this.getHttpRequester().postFiles(
|
||||
return this.getHttpRequester().postFilesMulti(
|
||||
makeAccessTockenMap(accessToken), url, "paramFiles[]",
|
||||
paramFiles, "scenarioModel", stringPart);
|
||||
}
|
||||
|
|
|
@ -1,104 +1,105 @@
|
|||
|
||||
|
||||
function checkName(name) {
|
||||
if (name == '') {
|
||||
|
||||
document.getElementById('alertUserName').style.display = 'block';
|
||||
|
||||
} else {
|
||||
document.getElementById('alertUserName').style.display = 'none';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function checkPass(password) {
|
||||
|
||||
if (password == "") {
|
||||
|
||||
document.getElementById('alertPassWord').style.display = 'block';
|
||||
|
||||
} else {
|
||||
document.getElementById('alertPassWord').style.display = 'none';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$("body").keydown(function(e) {
|
||||
var ee = e || window.event;
|
||||
if(ee.keyCode == 13){
|
||||
login();
|
||||
}
|
||||
});
|
||||
|
||||
function login() {
|
||||
|
||||
var userName = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
$.post('login', {
|
||||
userName : userName,
|
||||
password : password
|
||||
}, function(data) {
|
||||
|
||||
if (data.success) {
|
||||
$('#loginMsg').hide();
|
||||
window.location.replace("homepage.jsp");
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
alert(data.failedMessage);
|
||||
}
|
||||
},"json");
|
||||
}
|
||||
function adminLogin() {
|
||||
|
||||
var userName = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
$.post('adminLogin', {
|
||||
userName : userName,
|
||||
password : password
|
||||
}, function(data) {
|
||||
if (data.success) {
|
||||
$('#loginMsg').hide();
|
||||
window.location.replace("agentManage.jsp");
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
alert(data.failedMessage);
|
||||
}
|
||||
});
|
||||
}
|
||||
function register() {
|
||||
var userName = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
var rePassword = $("#re_password").val();
|
||||
if (rePassword != password) {
|
||||
$('#username').val("");
|
||||
$('#password').val("");
|
||||
alert("password is wrong! retype again");
|
||||
}
|
||||
|
||||
$.post('register', {
|
||||
userName : userName,
|
||||
password : password,
|
||||
rePassword:rePassword
|
||||
}, function(data) {
|
||||
if (data.success) {
|
||||
$('#registerMsg').hide();
|
||||
window.location.replace("registerSuccess.jsp");
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
alert(data.failedMessage);
|
||||
// $('#registerMsg').html($.i18n.prop('msgRegister'));
|
||||
$('#registerMsg').show();
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
|
||||
$("#img").mouseover(function(){document.getElementById("img").setAttribute("src", "img/githubsignon1.jpg");});
|
||||
|
||||
$("#img").mouseout(function(){document.getElementById("img").setAttribute("src", "img/githubsignon.jpg");});
|
||||
|
||||
|
||||
function checkName(name) {
|
||||
if (name == '') {
|
||||
|
||||
document.getElementById('alertUserName').style.display = 'block';
|
||||
|
||||
} else {
|
||||
document.getElementById('alertUserName').style.display = 'none';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function checkPass(password) {
|
||||
|
||||
if (password == "") {
|
||||
|
||||
document.getElementById('alertPassWord').style.display = 'block';
|
||||
|
||||
} else {
|
||||
document.getElementById('alertPassWord').style.display = 'none';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$("body").keydown(function(e) {
|
||||
var ee = e || window.event;
|
||||
if(ee.keyCode == 13){
|
||||
login();
|
||||
}
|
||||
});
|
||||
|
||||
function login() {
|
||||
|
||||
var userName = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
$.post('login', {
|
||||
userName : userName,
|
||||
password : password
|
||||
}, function(data) {
|
||||
|
||||
if (data.success) {
|
||||
$('#loginMsg').hide();
|
||||
window.location.replace("homepage.jsp");
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
alert(data.failedMessage);
|
||||
}
|
||||
},"json");
|
||||
}
|
||||
function adminLogin() {
|
||||
|
||||
var userName = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
$.post('adminLogin', {
|
||||
userName : userName,
|
||||
password : password
|
||||
}, function(data) {
|
||||
if (data.success) {
|
||||
$('#loginMsg').hide();
|
||||
window.location.replace("agentManage.jsp");
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
alert(data.failedMessage);
|
||||
}
|
||||
});
|
||||
}
|
||||
function register() {
|
||||
var userName = $('#username').val();
|
||||
var password = $('#password').val();
|
||||
var rePassword = $("#re_password").val();
|
||||
if (rePassword != password) {
|
||||
$('#username').val("");
|
||||
$('#password').val("");
|
||||
alert("password is wrong! retype again");
|
||||
}
|
||||
|
||||
$.post('register', {
|
||||
userName : userName,
|
||||
password : password,
|
||||
rePassword:rePassword
|
||||
}, function(data) {
|
||||
if (data.success) {
|
||||
$('#registerMsg').hide();
|
||||
window.location.replace("registerSuccess.jsp");
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
alert(data.failedMessage);
|
||||
// $('#registerMsg').html($.i18n.prop('msgRegister'));
|
||||
$('#registerMsg').show();
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
|
||||
$("#img").mouseover(function(){document.getElementById("img").setAttribute("src", "img/githubsignon1.jpg");});
|
||||
|
||||
$("#img").mouseout(function(){document.getElementById("img").setAttribute("src", "img/githubsignon.jpg");});
|
||||
|
|
|
@ -1,482 +1,482 @@
|
|||
var script = new Array();
|
||||
|
||||
$(document).ready(function() {
|
||||
$.post("loadScript", {}, function(data) {
|
||||
if (!data.success) {
|
||||
alert(data.failedMessage);
|
||||
return;
|
||||
}
|
||||
data = data.data;
|
||||
for ( var i = 0; i < data.length; i++)
|
||||
script.push(data[i].name);
|
||||
for ( var j = 0; j < script.length; j++) {
|
||||
var textNode = document.createTextNode(script[j]);
|
||||
var optionNode = document.createElement("option");
|
||||
optionNode.setAttribute("value", script[j]);
|
||||
optionNode.appendChild(textNode);
|
||||
var selectNode = document.getElementsByName("select")[0];
|
||||
selectNode.appendChild(optionNode);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
loadSchedulePlot();
|
||||
});
|
||||
function toggleTestExecutionPlan() {
|
||||
$("#loadTestExecutionPlan").slideToggle();
|
||||
$('#loadConfigMessage').attr("class", "hide");
|
||||
if ($("#icon-load").attr("class") == "icon-plus")
|
||||
$("#icon-load").attr("class", "icon-minus");
|
||||
else
|
||||
$("#icon-load").attr("class", "icon-plus");
|
||||
}
|
||||
function toggleUserScenarios() {
|
||||
$("#userScenarios").slideToggle();
|
||||
$('#alertMessage').attr("class", "hide");
|
||||
$('#userConfigMessage').attr("class", "hide");
|
||||
if ($("#icon-user").attr("class") == "icon-plus")
|
||||
$("#icon-user").attr("class", "icon-minus");
|
||||
else
|
||||
$("#icon-user").attr("class", "icon-plus");
|
||||
}
|
||||
function toggleIpConfig() {
|
||||
$("#ipConfig").slideToggle();
|
||||
$('#ipConfigMessage').attr("class", "hide");
|
||||
if ($("#icon-ip").attr("class").indexOf("icon-plus") >= 0)
|
||||
$("#icon-ip").attr("class", "icon-minus");
|
||||
else
|
||||
$("#icon-ip").attr("class", "icon-plus");
|
||||
}
|
||||
|
||||
var scenarioConfigContent;
|
||||
function addScenario() {
|
||||
|
||||
var newTdNode = document.createElement("td");
|
||||
var newINode = document.createElement("i");
|
||||
newINode.setAttribute("class", "icon-trash");
|
||||
|
||||
newINode.setAttribute("style", "cursor:pointer");
|
||||
|
||||
newINode.setAttribute("onClick", "deleteScenarios(this)");
|
||||
newTdNode.appendChild(newINode);
|
||||
var lastInputNodeValue;
|
||||
var lengthBeforAddAction = $("#userConfig").find("input").length;
|
||||
lastInputNodeValue = document.getElementById("userConfig").getElementsByTagName("input")[lengthBeforAddAction - 1].value;
|
||||
if (document.getElementById("userConfig").childNodes.length == 2) {
|
||||
scenarioConfigContent = $("#userConfig").html();
|
||||
document.getElementById("userConfig").innerHTML = $("#userConfig").html()+ scenarioConfigContent;
|
||||
var length = $("#userConfig").find("tr").length;
|
||||
document.getElementById("userConfig").getElementsByTagName("tr")[length - 1].appendChild(newTdNode);
|
||||
} else {
|
||||
document.getElementById("userConfig").innerHTML =$("#userConfig").html()+ scenarioConfigContent;
|
||||
var length = $("#userConfig").find("tr").length;
|
||||
document.getElementById("userConfig").getElementsByTagName("tr")[length - 1].appendChild(newTdNode);
|
||||
}
|
||||
if (lengthBeforAddAction <= 2) {
|
||||
var allocationLess = parseInt(100 / (lengthBeforAddAction + 1));
|
||||
var allocationMore = 100 - parseInt(100 / (lengthBeforAddAction + 1))
|
||||
* lengthBeforAddAction;
|
||||
for ( var i = 0; i < lengthBeforAddAction; i++) {
|
||||
document.getElementById("userConfig").getElementsByTagName("input")[i]
|
||||
.setAttribute("value", allocationLess);
|
||||
}
|
||||
document.getElementById("userConfig").getElementsByTagName("input")[lengthBeforAddAction]
|
||||
.setAttribute("value", allocationMore);
|
||||
} else {
|
||||
var allocationLess = parseInt(lastInputNodeValue / 2);
|
||||
var allocationMore = lastInputNodeValue - allocationLess;
|
||||
document.getElementById("userConfig").getElementsByTagName("input")[lengthBeforAddAction - 1]
|
||||
.setAttribute("value", allocationLess);
|
||||
document.getElementById("userConfig").getElementsByTagName("input")[lengthBeforAddAction]
|
||||
.setAttribute("value", allocationMore);
|
||||
}
|
||||
if ($("#userConfig").find("input").length == 10) {
|
||||
$("#userScenariosButton").attr("class",
|
||||
"btn disabled");
|
||||
$("#userScenariosButton").attr("onClick",
|
||||
"");
|
||||
}
|
||||
changeTotal();
|
||||
checkUserScenarios();
|
||||
}
|
||||
|
||||
function deleteScenarios(selectedNode) {
|
||||
var deleteNode = selectedNode.parentNode.parentNode.parentNode;
|
||||
var Node = deleteNode.parentNode;
|
||||
var previousSiblingNode = deleteNode.previousSibling;
|
||||
Node.removeChild(deleteNode);
|
||||
Node.removeChild(previousSiblingNode);
|
||||
if ($("#userConfig").find("input").length < 10) {
|
||||
$("#userScenariosButton").attr("class",
|
||||
"btn btn-primary");
|
||||
$("#userScenariosButton").attr("onClick",
|
||||
"addScenario()");
|
||||
}
|
||||
changeTotal();
|
||||
checkUserScenarios();
|
||||
}
|
||||
|
||||
function addIP() {
|
||||
var th1 = document.createElement("th");
|
||||
var th2 = document.createElement("th");
|
||||
var th3 = document.createElement("th");
|
||||
var textNode = document.createTextNode("IP:");
|
||||
var inputNode = document.createElement("input");
|
||||
var tr = document.createElement("tr");
|
||||
|
||||
//inputNode.attr({type:"text",class:"ip-input",onblur:"checkIP()"});
|
||||
|
||||
inputNode.setAttribute("type", "text");
|
||||
inputNode.setAttribute("class", "ip-input");
|
||||
inputNode.setAttribute("onblur", "checkIP()");
|
||||
var i = document.createElement("i");
|
||||
i.setAttribute("class", "icon-trash");
|
||||
i.setAttribute("style", "cursor:pointer");
|
||||
i.setAttribute("onClick", "deleteIP(this)");
|
||||
th1.appendChild(textNode);
|
||||
th2.appendChild(inputNode);
|
||||
th3.appendChild(i);
|
||||
tr.appendChild(th1);
|
||||
tr.appendChild(th2);
|
||||
tr.appendChild(th3);
|
||||
document.getElementById("ipConfigTable").appendChild(tr);
|
||||
checkIP();
|
||||
}
|
||||
|
||||
function deleteIP(selectedNode) {
|
||||
var deletedNode = selectedNode.parentNode.parentNode;
|
||||
var parentNode = deletedNode.parentNode;
|
||||
parentNode.removeChild(deletedNode);
|
||||
checkIP();
|
||||
}
|
||||
|
||||
function changeTotal() {
|
||||
var inputNode = document.getElementById("userConfig").getElementsByTagName("input");
|
||||
var total = 0;
|
||||
var length = inputNode.length;
|
||||
for ( var i = 0; i < length; i++) {
|
||||
total = parseInt(total) + parseInt(inputNode[i].value);
|
||||
}
|
||||
document.getElementById("totalNumber").innerHTML = total + "%";
|
||||
checkTotalAllocation();
|
||||
}
|
||||
|
||||
function getScriptId(scriptName) {
|
||||
var scriptId;
|
||||
$.ajaxSetup({
|
||||
async : false
|
||||
});
|
||||
$.post("loadScript", {}, function(data) {
|
||||
if (data.success) {
|
||||
data = data.data;
|
||||
for ( var i = 0; i < data.length; i++) {
|
||||
if (data[i].name == scriptName) {
|
||||
scriptId = data[i].id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else alert(data.failedMessage);
|
||||
});
|
||||
return scriptId;
|
||||
|
||||
}
|
||||
|
||||
function viewScript(node) {
|
||||
var scriptId;
|
||||
var scriptName;
|
||||
var selectNodes = document.getElementsByName("select");
|
||||
var index = node.parentNode.parentNode.rowIndex - 1;
|
||||
scriptName = selectNodes[index].options[selectNodes[index].selectedIndex].value;
|
||||
scriptId = getScriptId(scriptName);
|
||||
window.open("script-edit.jsp?name=" + scriptName + "&scriptId=" + scriptId);
|
||||
}
|
||||
|
||||
function checkTotalAllocation() {
|
||||
if (document.getElementById("totalNumber").childNodes[0].nodeValue == "100%") {
|
||||
$("#totalNumber").attr("class","total-right");
|
||||
$("#alertMessage").attr("class", "hide");
|
||||
} else {
|
||||
$("#totalNumber").attr("class","total-false");
|
||||
$("#alertMessage").attr("class", "show");
|
||||
}
|
||||
}
|
||||
|
||||
function checkRequireLoad() {
|
||||
if (parseInt($("#RequireLoad").val()) <= 0
|
||||
|| $("#RequireLoad").val() == "")
|
||||
$("#RequireLoad").attr("class",
|
||||
"load-config-input-alert");
|
||||
else
|
||||
$("#RequireLoad").attr("class",
|
||||
"load-config-input");
|
||||
}
|
||||
|
||||
function checkWarmUp() {
|
||||
if (parseInt($("#WarmUp").val()) <= 0
|
||||
|| $("#WarmUp").val() == "")
|
||||
$("#WarmUp").attr("class",
|
||||
"load-config-input-alert");
|
||||
else
|
||||
$("#WarmUp").attr("class",
|
||||
"load-config-input");
|
||||
}
|
||||
|
||||
function checkCoolDown() {
|
||||
if (parseInt($("#CoolDown").val()) <= 0
|
||||
|| $("#CoolDown").val() == "")
|
||||
$("#CoolDown").attr("class",
|
||||
"load-config-input-alert");
|
||||
else
|
||||
$("#CoolDown").attr("class",
|
||||
"load-config-input");
|
||||
}
|
||||
|
||||
function checkExecuteRange() {
|
||||
if (parseInt($("#ExecuteRange").val()) <= 0
|
||||
|| $("#ExecuteRange").val() == "")
|
||||
$("#ExecuteRange").attr("class",
|
||||
"load-config-input-alert");
|
||||
else
|
||||
$("#ExecuteRange").attr("class",
|
||||
"load-config-input");
|
||||
}
|
||||
|
||||
function checkLoadConfig() {
|
||||
checkExecuteRange();
|
||||
checkCoolDown();
|
||||
checkRequireLoad();
|
||||
checkWarmUp();
|
||||
if ($("#ExecuteRange").attr("class") == "load-config-input"
|
||||
&& $("#CoolDown").attr("class") == "load-config-input"
|
||||
&& $("#WarmUp").attr("class") == "load-config-input"
|
||||
&& $("#RequireLoad").attr("class") == "load-config-input")
|
||||
$("#loadConfigMessage").attr("class",
|
||||
"hide");
|
||||
else
|
||||
$("#loadConfigMessage").attr("class",
|
||||
"show");
|
||||
}
|
||||
|
||||
function checkUserScenarios() {
|
||||
var input = $("#userScenarios").find("input");
|
||||
var boolean = 0;
|
||||
var number = 0;
|
||||
for ( var i = 0; i < input.length; i++) {
|
||||
if (input[i].value == "" || parseInt(input[i].value) <= 0) {
|
||||
input[i].setAttribute("class", "allocation-input-alert");
|
||||
boolean = 1;
|
||||
} else
|
||||
input[i].setAttribute("class", "allocation-input");
|
||||
}
|
||||
for ( var k = 0; k < input.length; k++) {
|
||||
if ($(input[k]).attr("class") == "allocation-input")
|
||||
number++;
|
||||
}
|
||||
if (number == input.length)
|
||||
boolean = 0;
|
||||
if (boolean == 1)
|
||||
$("#userConfigMessage").attr("class",
|
||||
"show");
|
||||
else
|
||||
$("#userConfigMessage").attr("class",
|
||||
"hide");
|
||||
|
||||
}
|
||||
|
||||
function checkIP() {
|
||||
|
||||
var input = $("#ipConfig").find("input");
|
||||
var patrn = /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
|
||||
var boolean = 0;
|
||||
var number = 0;
|
||||
for ( var i = 0; i < input.length; i++) {
|
||||
if (input[i].value == "" || patrn.exec(input[i].value) == null) {
|
||||
input[i].setAttribute("class", "ip-input-alert");
|
||||
boolean = 1;
|
||||
} else
|
||||
input[i].setAttribute("class", "ip-input");
|
||||
}
|
||||
for ( var k = 0; k < input.length; k++) {
|
||||
if (input[k].getAttribute("class") == "ip-input")
|
||||
number++;
|
||||
}
|
||||
if (number == input.length)
|
||||
boolean = 0;
|
||||
if (boolean == 1)
|
||||
$("#ipConfigMessage")
|
||||
.attr("class", "show");
|
||||
else
|
||||
$("#ipConfigMessage")
|
||||
.attr("class", "hide");
|
||||
}
|
||||
|
||||
function checkName() {
|
||||
if ($("#testConfigurationName").val() == "") {
|
||||
$("#testConfigurationName").attr("class",
|
||||
"name-input-alert");
|
||||
$("#nameMessage").attr("class", "show");
|
||||
} else {
|
||||
$("#testConfigurationName").attr("class",
|
||||
"name-input");
|
||||
$("#nameMessage").attr("class", "hide");
|
||||
}
|
||||
}
|
||||
|
||||
function checkAllInpute() {
|
||||
checkLoadConfig();
|
||||
checkUserScenarios();
|
||||
checkIP();
|
||||
checkName();
|
||||
}
|
||||
|
||||
function loadSchedulePlot() {
|
||||
var options = {
|
||||
chart : {
|
||||
renderTo : 'highchartsPlot',
|
||||
defaultSeriesType : 'line',
|
||||
type : 'area',
|
||||
height : 300,
|
||||
|
||||
},
|
||||
plotOptions : {
|
||||
series : {
|
||||
fillOpacity : 0.5,
|
||||
}
|
||||
},
|
||||
credits : {
|
||||
enabled : false
|
||||
},
|
||||
legend : {
|
||||
enabled : false
|
||||
},
|
||||
title : {
|
||||
text : 'Load Schedule',
|
||||
x : -50
|
||||
},
|
||||
xAxis : {
|
||||
categories : [ 0 ],
|
||||
min : 0,
|
||||
},
|
||||
yAxis : {
|
||||
plotLines : [ {
|
||||
value : 0,
|
||||
width : 1,
|
||||
color : '#808080'
|
||||
} ],
|
||||
min : 0
|
||||
},
|
||||
tooltip : {
|
||||
formatter : function() {
|
||||
return '<b>' + 'Load Schedule' + '</b><br/>' + this.y
|
||||
+ 'users after' + this.x + 'seconds';
|
||||
}
|
||||
},
|
||||
series : [ {
|
||||
data : [ 0 ]
|
||||
} ]
|
||||
};
|
||||
var RequireLoad = parseInt($("#RequireLoad").val());
|
||||
var WarmUp = parseInt($("#WarmUp").val());
|
||||
var CoolDown = parseInt($("#CoolDown").val());
|
||||
var ExecuteRange = parseInt($("#ExecuteRange").val());
|
||||
options.xAxis.categories.push(WarmUp);
|
||||
options.xAxis.categories.push(WarmUp + ExecuteRange);
|
||||
options.xAxis.categories.push(WarmUp + ExecuteRange + CoolDown);
|
||||
options.series[0].data.push(RequireLoad);
|
||||
options.series[0].data.push(RequireLoad);
|
||||
options.series[0].data.push(0);
|
||||
var chart = new Highcharts.Chart(options);
|
||||
}
|
||||
|
||||
function ScriptModel(ID, load, warmup, cooldown, executeRange) {
|
||||
this.id = ID;
|
||||
this.load = load;
|
||||
this.warmup = warmup;
|
||||
this.executeRange = executeRange;
|
||||
this.cooldown = cooldown;
|
||||
}
|
||||
|
||||
TestPlanRequestModel = function(scriptList, ipList, testPlanName) {
|
||||
this.scriptList = scriptList;
|
||||
this.ipList = ipList;
|
||||
this.testPlanName = testPlanName;
|
||||
};
|
||||
|
||||
function getIpList() {
|
||||
var inputNode = $("#ipConfig").find("input");
|
||||
var length = inputNode.length;
|
||||
var ipList = new Array();
|
||||
for ( var i = 0; i < length; i++)
|
||||
ipList.push(inputNode[i].value);
|
||||
return ipList;
|
||||
}
|
||||
|
||||
function getScriptIdList() {
|
||||
var select =$("#userScenarios").find("select");
|
||||
var scriptNameList = new Array();
|
||||
var scriptIdList = new Array();
|
||||
for ( var i = 0; i < select.length; i++)
|
||||
scriptNameList.push(select[i].options[select[i].selectedIndex].value);
|
||||
for ( var j = 0; j < select.length; j++)
|
||||
scriptIdList.push(getScriptId(scriptNameList[j]));
|
||||
return scriptIdList;
|
||||
|
||||
}
|
||||
|
||||
function start() {
|
||||
var scriptList = new Array();
|
||||
var ipList = new Array();
|
||||
ipList = getIpList();
|
||||
var input = $("#userScenarios").find("input");
|
||||
var allocationList = new Array();
|
||||
var loadList = new Array();
|
||||
var requireLoad = parseInt($("#RequireLoad").val());
|
||||
var scriptList = new Array();
|
||||
var scriptIdList = new Array();
|
||||
var warmUp = parseInt($("#WarmUp").val());
|
||||
var coolDown = parseInt($("#CoolDown").val());
|
||||
var executeRange = parseInt($("#ExecuteRange").val());
|
||||
for ( var i = 0; i < input.length; i++)
|
||||
allocationList.push(parseInt(input[i].value));
|
||||
for ( var j = 0; j < input.length; j++)
|
||||
loadList.push(parseInt(requireLoad * allocationList[j] / 100));
|
||||
scriptIdList = getScriptIdList();
|
||||
for ( var k = 0; k < input.length; k++)
|
||||
scriptList.push(new ScriptModel(scriptIdList[k], loadList[k], warmUp,
|
||||
coolDown, executeRange));
|
||||
var name = $("#testConfigurationName").val();
|
||||
var testPlan = new TestPlanRequestModel(scriptList, ipList, name);
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : "runTestPlan",
|
||||
contentType : "application/json",
|
||||
data : JSON.stringify(testPlan),
|
||||
success : function(data) {
|
||||
if (data.success)
|
||||
window.location.replace("testPlanTask.jsp");
|
||||
else
|
||||
alert(data.failedMessage);
|
||||
},
|
||||
error : function(request, status, error) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function startTest() {
|
||||
checkAllInpute();
|
||||
if ($("#nameMessage").attr("class") == "hide"
|
||||
&& $("#loadConfigMessage").attr(
|
||||
"class") == "hide"
|
||||
&& $("#alertMessage").attr("class") == "hide"
|
||||
&& $("#userConfigMessage").attr(
|
||||
"class") == "hide"
|
||||
&& $("#ipConfigMessage").attr("class") == "hide")
|
||||
start();
|
||||
}
|
||||
|
||||
function createNewScript(){
|
||||
window.open("script.jsp");
|
||||
}
|
||||
|
||||
var script = new Array();
|
||||
|
||||
$(document).ready(function() {
|
||||
$.post("loadScript", {}, function(data) {
|
||||
if (!data.success) {
|
||||
alert(data.failedMessage);
|
||||
return;
|
||||
}
|
||||
data = data.data;
|
||||
for ( var i = 0; i < data.length; i++)
|
||||
script.push(data[i].name);
|
||||
for ( var j = 0; j < script.length; j++) {
|
||||
var textNode = document.createTextNode(script[j]);
|
||||
var optionNode = document.createElement("option");
|
||||
optionNode.setAttribute("value", script[j]);
|
||||
optionNode.appendChild(textNode);
|
||||
var selectNode = document.getElementsByName("select")[0];
|
||||
selectNode.appendChild(optionNode);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
loadSchedulePlot();
|
||||
});
|
||||
function toggleTestExecutionPlan() {
|
||||
$("#loadTestExecutionPlan").slideToggle();
|
||||
$('#loadConfigMessage').attr("class", "hide");
|
||||
if ($("#icon-load").attr("class") == "icon-plus")
|
||||
$("#icon-load").attr("class", "icon-minus");
|
||||
else
|
||||
$("#icon-load").attr("class", "icon-plus");
|
||||
}
|
||||
function toggleUserScenarios() {
|
||||
$("#userScenarios").slideToggle();
|
||||
$('#alertMessage').attr("class", "hide");
|
||||
$('#userConfigMessage').attr("class", "hide");
|
||||
if ($("#icon-user").attr("class") == "icon-plus")
|
||||
$("#icon-user").attr("class", "icon-minus");
|
||||
else
|
||||
$("#icon-user").attr("class", "icon-plus");
|
||||
}
|
||||
function toggleIpConfig() {
|
||||
$("#ipConfig").slideToggle();
|
||||
$('#ipConfigMessage').attr("class", "hide");
|
||||
if ($("#icon-ip").attr("class").indexOf("icon-plus") >= 0)
|
||||
$("#icon-ip").attr("class", "icon-minus");
|
||||
else
|
||||
$("#icon-ip").attr("class", "icon-plus");
|
||||
}
|
||||
|
||||
var scenarioConfigContent;
|
||||
function addScenario() {
|
||||
|
||||
var newTdNode = document.createElement("td");
|
||||
var newINode = document.createElement("i");
|
||||
newINode.setAttribute("class", "icon-trash");
|
||||
|
||||
newINode.setAttribute("style", "cursor:pointer");
|
||||
|
||||
newINode.setAttribute("onClick", "deleteScenarios(this)");
|
||||
newTdNode.appendChild(newINode);
|
||||
var lastInputNodeValue;
|
||||
var lengthBeforAddAction = $("#userConfig").find("input").length;
|
||||
lastInputNodeValue = document.getElementById("userConfig").getElementsByTagName("input")[lengthBeforAddAction - 1].value;
|
||||
if (document.getElementById("userConfig").childNodes.length == 2) {
|
||||
scenarioConfigContent = $("#userConfig").html();
|
||||
document.getElementById("userConfig").innerHTML = $("#userConfig").html()+ scenarioConfigContent;
|
||||
var length = $("#userConfig").find("tr").length;
|
||||
document.getElementById("userConfig").getElementsByTagName("tr")[length - 1].appendChild(newTdNode);
|
||||
} else {
|
||||
document.getElementById("userConfig").innerHTML =$("#userConfig").html()+ scenarioConfigContent;
|
||||
var length = $("#userConfig").find("tr").length;
|
||||
document.getElementById("userConfig").getElementsByTagName("tr")[length - 1].appendChild(newTdNode);
|
||||
}
|
||||
if (lengthBeforAddAction <= 2) {
|
||||
var allocationLess = parseInt(100 / (lengthBeforAddAction + 1));
|
||||
var allocationMore = 100 - parseInt(100 / (lengthBeforAddAction + 1))
|
||||
* lengthBeforAddAction;
|
||||
for ( var i = 0; i < lengthBeforAddAction; i++) {
|
||||
document.getElementById("userConfig").getElementsByTagName("input")[i]
|
||||
.setAttribute("value", allocationLess);
|
||||
}
|
||||
document.getElementById("userConfig").getElementsByTagName("input")[lengthBeforAddAction]
|
||||
.setAttribute("value", allocationMore);
|
||||
} else {
|
||||
var allocationLess = parseInt(lastInputNodeValue / 2);
|
||||
var allocationMore = lastInputNodeValue - allocationLess;
|
||||
document.getElementById("userConfig").getElementsByTagName("input")[lengthBeforAddAction - 1]
|
||||
.setAttribute("value", allocationLess);
|
||||
document.getElementById("userConfig").getElementsByTagName("input")[lengthBeforAddAction]
|
||||
.setAttribute("value", allocationMore);
|
||||
}
|
||||
if ($("#userConfig").find("input").length == 10) {
|
||||
$("#userScenariosButton").attr("class",
|
||||
"btn disabled");
|
||||
$("#userScenariosButton").attr("onClick",
|
||||
"");
|
||||
}
|
||||
changeTotal();
|
||||
checkUserScenarios();
|
||||
}
|
||||
|
||||
function deleteScenarios(selectedNode) {
|
||||
var deleteNode = selectedNode.parentNode.parentNode.parentNode;
|
||||
var Node = deleteNode.parentNode;
|
||||
var previousSiblingNode = deleteNode.previousSibling;
|
||||
Node.removeChild(deleteNode);
|
||||
Node.removeChild(previousSiblingNode);
|
||||
if ($("#userConfig").find("input").length < 10) {
|
||||
$("#userScenariosButton").attr("class",
|
||||
"btn btn-primary");
|
||||
$("#userScenariosButton").attr("onClick",
|
||||
"addScenario()");
|
||||
}
|
||||
changeTotal();
|
||||
checkUserScenarios();
|
||||
}
|
||||
|
||||
function addIP() {
|
||||
var th1 = document.createElement("th");
|
||||
var th2 = document.createElement("th");
|
||||
var th3 = document.createElement("th");
|
||||
var textNode = document.createTextNode("IP:");
|
||||
var inputNode = document.createElement("input");
|
||||
var tr = document.createElement("tr");
|
||||
|
||||
//inputNode.attr({type:"text",class:"ip-input",onblur:"checkIP()"});
|
||||
|
||||
inputNode.setAttribute("type", "text");
|
||||
inputNode.setAttribute("class", "ip-input");
|
||||
inputNode.setAttribute("onblur", "checkIP()");
|
||||
var i = document.createElement("i");
|
||||
i.setAttribute("class", "icon-trash");
|
||||
i.setAttribute("style", "cursor:pointer");
|
||||
i.setAttribute("onClick", "deleteIP(this)");
|
||||
th1.appendChild(textNode);
|
||||
th2.appendChild(inputNode);
|
||||
th3.appendChild(i);
|
||||
tr.appendChild(th1);
|
||||
tr.appendChild(th2);
|
||||
tr.appendChild(th3);
|
||||
document.getElementById("ipConfigTable").appendChild(tr);
|
||||
checkIP();
|
||||
}
|
||||
|
||||
function deleteIP(selectedNode) {
|
||||
var deletedNode = selectedNode.parentNode.parentNode;
|
||||
var parentNode = deletedNode.parentNode;
|
||||
parentNode.removeChild(deletedNode);
|
||||
checkIP();
|
||||
}
|
||||
|
||||
function changeTotal() {
|
||||
var inputNode = document.getElementById("userConfig").getElementsByTagName("input");
|
||||
var total = 0;
|
||||
var length = inputNode.length;
|
||||
for ( var i = 0; i < length; i++) {
|
||||
total = parseInt(total) + parseInt(inputNode[i].value);
|
||||
}
|
||||
document.getElementById("totalNumber").innerHTML = total + "%";
|
||||
checkTotalAllocation();
|
||||
}
|
||||
|
||||
function getScriptId(scriptName) {
|
||||
var scriptId;
|
||||
$.ajaxSetup({
|
||||
async : false
|
||||
});
|
||||
$.post("loadScript", {}, function(data) {
|
||||
if (data.success) {
|
||||
data = data.data;
|
||||
for ( var i = 0; i < data.length; i++) {
|
||||
if (data[i].name == scriptName) {
|
||||
scriptId = data[i].id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else alert(data.failedMessage);
|
||||
});
|
||||
return scriptId;
|
||||
|
||||
}
|
||||
|
||||
function viewScript(node) {
|
||||
var scriptId;
|
||||
var scriptName;
|
||||
var selectNodes = document.getElementsByName("select");
|
||||
var index = node.parentNode.parentNode.rowIndex - 1;
|
||||
scriptName = selectNodes[index].options[selectNodes[index].selectedIndex].value;
|
||||
scriptId = getScriptId(scriptName);
|
||||
window.open("script-edit.jsp?name=" + scriptName + "&scriptId=" + scriptId);
|
||||
}
|
||||
|
||||
function checkTotalAllocation() {
|
||||
if (document.getElementById("totalNumber").childNodes[0].nodeValue == "100%") {
|
||||
$("#totalNumber").attr("class","total-right");
|
||||
$("#alertMessage").attr("class", "hide");
|
||||
} else {
|
||||
$("#totalNumber").attr("class","total-false");
|
||||
$("#alertMessage").attr("class", "show");
|
||||
}
|
||||
}
|
||||
|
||||
function checkRequireLoad() {
|
||||
if (parseInt($("#RequireLoad").val()) <= 0
|
||||
|| $("#RequireLoad").val() == "")
|
||||
$("#RequireLoad").attr("class",
|
||||
"load-config-input-alert");
|
||||
else
|
||||
$("#RequireLoad").attr("class",
|
||||
"load-config-input");
|
||||
}
|
||||
|
||||
function checkWarmUp() {
|
||||
if (parseInt($("#WarmUp").val()) <= 0
|
||||
|| $("#WarmUp").val() == "")
|
||||
$("#WarmUp").attr("class",
|
||||
"load-config-input-alert");
|
||||
else
|
||||
$("#WarmUp").attr("class",
|
||||
"load-config-input");
|
||||
}
|
||||
|
||||
function checkCoolDown() {
|
||||
if (parseInt($("#CoolDown").val()) <= 0
|
||||
|| $("#CoolDown").val() == "")
|
||||
$("#CoolDown").attr("class",
|
||||
"load-config-input-alert");
|
||||
else
|
||||
$("#CoolDown").attr("class",
|
||||
"load-config-input");
|
||||
}
|
||||
|
||||
function checkExecuteRange() {
|
||||
if (parseInt($("#ExecuteRange").val()) <= 0
|
||||
|| $("#ExecuteRange").val() == "")
|
||||
$("#ExecuteRange").attr("class",
|
||||
"load-config-input-alert");
|
||||
else
|
||||
$("#ExecuteRange").attr("class",
|
||||
"load-config-input");
|
||||
}
|
||||
|
||||
function checkLoadConfig() {
|
||||
checkExecuteRange();
|
||||
checkCoolDown();
|
||||
checkRequireLoad();
|
||||
checkWarmUp();
|
||||
if ($("#ExecuteRange").attr("class") == "load-config-input"
|
||||
&& $("#CoolDown").attr("class") == "load-config-input"
|
||||
&& $("#WarmUp").attr("class") == "load-config-input"
|
||||
&& $("#RequireLoad").attr("class") == "load-config-input")
|
||||
$("#loadConfigMessage").attr("class",
|
||||
"hide");
|
||||
else
|
||||
$("#loadConfigMessage").attr("class",
|
||||
"show");
|
||||
}
|
||||
|
||||
function checkUserScenarios() {
|
||||
var input= $("#userScenarios").find("input");
|
||||
var boolean = 0;
|
||||
var number = 0;
|
||||
for ( var i = 0; i < input.length; i++) {
|
||||
if (input[i].value == "" || parseInt(input[i].value) <= 0) {
|
||||
input[i].setAttribute("class", "allocation-input-alert");
|
||||
boolean = 1;
|
||||
} else
|
||||
input[i].setAttribute("class", "allocation-input");
|
||||
}
|
||||
for ( var k = 0; k < input.length; k++) {
|
||||
if ($(input[k]).attr("class") == "allocation-input")
|
||||
number++;
|
||||
}
|
||||
if (number == input.length)
|
||||
boolean = 0;
|
||||
if (boolean == 1)
|
||||
$("#userConfigMessage").attr("class",
|
||||
"show");
|
||||
else
|
||||
$("#userConfigMessage").attr("class",
|
||||
"hide");
|
||||
|
||||
}
|
||||
|
||||
function checkIP() {
|
||||
|
||||
var input = $("#ipConfig").find("input");
|
||||
var patrn = /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
|
||||
var boolean = 0;
|
||||
var number = 0;
|
||||
for ( var i = 0; i < input.length; i++) {
|
||||
if (input[i].value == "" || patrn.exec(input[i].value) == null) {
|
||||
input[i].setAttribute("class", "ip-input-alert");
|
||||
boolean = 1;
|
||||
} else
|
||||
input[i].setAttribute("class", "ip-input");
|
||||
}
|
||||
for ( var k = 0; k < input.length; k++) {
|
||||
if (input[k].getAttribute("class") == "ip-input")
|
||||
number++;
|
||||
}
|
||||
if (number == input.length)
|
||||
boolean = 0;
|
||||
if (boolean == 1)
|
||||
$("#ipConfigMessage")
|
||||
.attr("class", "show");
|
||||
else
|
||||
$("#ipConfigMessage")
|
||||
.attr("class", "hide");
|
||||
}
|
||||
|
||||
function checkName() {
|
||||
if ($("#testConfigurationName").val() == "") {
|
||||
$("#testConfigurationName").attr("class",
|
||||
"name-input-alert");
|
||||
$("#nameMessage").attr("class", "show");
|
||||
} else {
|
||||
$("#testConfigurationName").attr("class",
|
||||
"name-input");
|
||||
$("#nameMessage").attr("class", "hide");
|
||||
}
|
||||
}
|
||||
|
||||
function checkAllInpute() {
|
||||
checkLoadConfig();
|
||||
checkUserScenarios();
|
||||
checkIP();
|
||||
checkName();
|
||||
}
|
||||
|
||||
function loadSchedulePlot() {
|
||||
var options = {
|
||||
chart : {
|
||||
renderTo : 'highchartsPlot',
|
||||
defaultSeriesType : 'line',
|
||||
type : 'area',
|
||||
height : 300,
|
||||
|
||||
},
|
||||
plotOptions : {
|
||||
series : {
|
||||
fillOpacity : 0.5,
|
||||
}
|
||||
},
|
||||
credits : {
|
||||
enabled : false
|
||||
},
|
||||
legend : {
|
||||
enabled : false
|
||||
},
|
||||
title : {
|
||||
text : 'Load Schedule',
|
||||
x : -50
|
||||
},
|
||||
xAxis : {
|
||||
categories : [ 0 ],
|
||||
min : 0,
|
||||
},
|
||||
yAxis : {
|
||||
plotLines : [ {
|
||||
value : 0,
|
||||
width : 1,
|
||||
color : '#808080'
|
||||
} ],
|
||||
min : 0
|
||||
},
|
||||
tooltip : {
|
||||
formatter : function() {
|
||||
return '<b>' + 'Load Schedule' + '</b><br/>' + this.y
|
||||
+ 'users after' + this.x + 'seconds';
|
||||
}
|
||||
},
|
||||
series : [ {
|
||||
data : [ 0 ]
|
||||
} ]
|
||||
};
|
||||
var RequireLoad = parseInt($("#RequireLoad").val());
|
||||
var WarmUp = parseInt($("#WarmUp").val());
|
||||
var CoolDown = parseInt($("#CoolDown").val());
|
||||
var ExecuteRange = parseInt($("#ExecuteRange").val());
|
||||
options.xAxis.categories.push(WarmUp);
|
||||
options.xAxis.categories.push(WarmUp + ExecuteRange);
|
||||
options.xAxis.categories.push(WarmUp + ExecuteRange + CoolDown);
|
||||
options.series[0].data.push(RequireLoad);
|
||||
options.series[0].data.push(RequireLoad);
|
||||
options.series[0].data.push(0);
|
||||
var chart = new Highcharts.Chart(options);
|
||||
}
|
||||
|
||||
function ScriptModel(ID, load, warmup, cooldown, executeRange) {
|
||||
this.id = ID;
|
||||
this.load = load;
|
||||
this.warmup = warmup;
|
||||
this.executeRange = executeRange;
|
||||
this.cooldown = cooldown;
|
||||
}
|
||||
|
||||
TestPlanRequestModel = function(scriptList, ipList, testPlanName) {
|
||||
this.scriptList = scriptList;
|
||||
this.ipList = ipList;
|
||||
this.testPlanName = testPlanName;
|
||||
};
|
||||
|
||||
function getIpList() {
|
||||
var inputNode = $("#ipConfig").find("input");
|
||||
var length = inputNode.length;
|
||||
var ipList = new Array();
|
||||
for ( var i = 0; i < length; i++)
|
||||
ipList.push(inputNode[i].value);
|
||||
return ipList;
|
||||
}
|
||||
|
||||
function getScriptIdList() {
|
||||
var select =$("#userScenarios").find("select");
|
||||
var scriptNameList = new Array();
|
||||
var scriptIdList = new Array();
|
||||
for ( var i = 0; i < select.length; i++)
|
||||
scriptNameList.push(select[i].options[select[i].selectedIndex].value);
|
||||
for ( var j = 0; j < select.length; j++)
|
||||
scriptIdList.push(getScriptId(scriptNameList[j]));
|
||||
return scriptIdList;
|
||||
|
||||
}
|
||||
|
||||
function start() {
|
||||
var scriptList = new Array();
|
||||
var ipList = new Array();
|
||||
ipList = getIpList();
|
||||
var input = $("#userScenarios").find("input");
|
||||
var allocationList = new Array();
|
||||
var loadList = new Array();
|
||||
var requireLoad = parseInt($("#RequireLoad").val());
|
||||
var scriptList = new Array();
|
||||
var scriptIdList = new Array();
|
||||
var warmUp = parseInt($("#WarmUp").val());
|
||||
var coolDown = parseInt($("#CoolDown").val());
|
||||
var executeRange = parseInt($("#ExecuteRange").val());
|
||||
for ( var i = 0; i < input.length; i++)
|
||||
allocationList.push(parseInt(input[i].value));
|
||||
for ( var j = 0; j < input.length; j++)
|
||||
loadList.push(parseInt(requireLoad * allocationList[j] / 100));
|
||||
scriptIdList = getScriptIdList();
|
||||
for ( var k = 0; k < input.length; k++)
|
||||
scriptList.push(new ScriptModel(scriptIdList[k], loadList[k], warmUp,
|
||||
coolDown, executeRange));
|
||||
var name = $("#testConfigurationName").val();
|
||||
var testPlan = new TestPlanRequestModel(scriptList, ipList, name);
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : "runTestPlan",
|
||||
contentType : "application/json",
|
||||
data : JSON.stringify(testPlan),
|
||||
success : function(data) {
|
||||
if (data.success)
|
||||
window.location.replace("testPlanTask.jsp");
|
||||
else
|
||||
alert(data.failedMessage);
|
||||
},
|
||||
error : function(request, status, error) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function startTest() {
|
||||
checkAllInpute();
|
||||
if ($("#nameMessage").attr("class") == "hide"
|
||||
&& $("#loadConfigMessage").attr(
|
||||
"class") == "hide"
|
||||
&& $("#alertMessage").attr("class") == "hide"
|
||||
&& $("#userConfigMessage").attr(
|
||||
"class") == "hide"
|
||||
&& $("#ipConfigMessage").attr("class") == "hide")
|
||||
start();
|
||||
}
|
||||
|
||||
function createNewScript(){
|
||||
window.open("script.jsp");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,32 +1,8 @@
|
|||
var files;
|
||||
var file1;
|
||||
var fileList = new Array();
|
||||
var fileList = [];
|
||||
var fileNames = [];
|
||||
|
||||
test("upload files and other data", function() {
|
||||
uploadFilesAndScript();
|
||||
});
|
||||
|
||||
// function submitFiles() {
|
||||
// var formData = new FormData();
|
||||
// var file1 = $('#id1').files[0];
|
||||
// var file2 = $('#id2').files[0];
|
||||
// var fileList = new Array();
|
||||
// fileList.push(file1);
|
||||
// fileList.push(file2);
|
||||
// formData.append("script", file1.files[0]);
|
||||
// formData.append("scriptName", "testUploadFiles");
|
||||
// formData.append("paramFiles", fileList);
|
||||
// $.ajax({
|
||||
// url : "uploadScript",
|
||||
// type : "POST",
|
||||
// data : formData,
|
||||
// processData : false, // tell jQuery not to process the data
|
||||
// contentType : false, // tell jQuery not to set contentType
|
||||
// success : function(data) {
|
||||
// alert(data);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
$(function() {
|
||||
$("input[type=submit]").click(function() {
|
||||
submit();
|
||||
|
@ -37,16 +13,25 @@ function submit() {
|
|||
uploadFilesAndScript();
|
||||
}
|
||||
function uploadFilesAndScript() {
|
||||
var form = document.createElement("form");
|
||||
$(form).attr("name", "fileUpload");
|
||||
$("body").append($(form));
|
||||
$(form).append($("#param"));
|
||||
var formData = new FormData(form);
|
||||
formData.append("content", "");
|
||||
var oReq = new XMLHttpRequest();
|
||||
oReq.open("POST", "../uploadEditScript");
|
||||
oReq.send(formData);
|
||||
alert(oReq.responseText);
|
||||
var formData=new FormData();
|
||||
var filesDiv=$("input[type=file]");
|
||||
for(var i=0;i<filesDiv.length;i++){
|
||||
|
||||
formData.append("paramFiles",filesDiv[i].files[0],filesDiv[i].files[0].name);
|
||||
}
|
||||
|
||||
formData.append("content","");
|
||||
|
||||
$.ajax({
|
||||
url : "/uploadEditedScipt",
|
||||
type : "POST",
|
||||
contentType:false,
|
||||
processData:false,
|
||||
data : formData,
|
||||
success : function(data) {
|
||||
alert(data);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
function createFileInput(fileList) {
|
||||
|
@ -56,20 +41,7 @@ function createFileInput(fileList) {
|
|||
lable.text("test");
|
||||
input.attr("type", "file");
|
||||
input.attr("name", "file");
|
||||
input.attr("id","param");
|
||||
input.attr("id", "param");
|
||||
fileContainer.append(lable);
|
||||
fileContainer.append(input);
|
||||
input.change(function(event) {
|
||||
$.each(event.target.files, function(index, file) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function(event) {
|
||||
object = new Object();
|
||||
object.filename = file.name;
|
||||
object.data = event.target.result;
|
||||
fileList.push(object);
|
||||
};
|
||||
reader.readAsText(file);
|
||||
console.log(file.name);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
function upload(){
|
||||
var files= document.getElementById("file");
|
||||
var file=files.files[0];
|
||||
// var file=$("#file").files[0];
|
||||
|
||||
console.log("fileName: " + file.name);
|
||||
var url="/upload";
|
||||
$.post(url,{script:file},function(data){
|
||||
alert(data);
|
||||
}," multipart/form-data")
|
||||
};
|
||||
$(function(){
|
||||
$("#upload").click(function(e){
|
||||
upload();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>upload file</title>
|
||||
<link rel="stylesheet"
|
||||
href="http://code.jquery.com/qunit/qunit-1.14.0.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="qunit"></div>
|
||||
<div id="qunit-fixture"></div>
|
||||
<div>
|
||||
<input type="file" id="file"> <input type="submit"
|
||||
value="Upload" id="upload">
|
||||
</div>
|
||||
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.0.min.js"></script>
|
||||
<script src="http://code.jquery.com/qunit/qunit-1.14.0.js"></script>
|
||||
<script src="js/uploadFile.js"></script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue