*
* @param testCase
* @return ResponseInfo
*/
public ResponseInfo execResquest(IftTestCase testCase) {
ResponseInfo resInfo=new ResponseInfo();
// 设置发起请求时使用的编码
log.info("发起请求使用的编码为:"+testCase.getEnCoding());
this.httpUtil.setCharset(testCase.getEnCoding());
// 获取发起请求的http地址
if (!updateHttpUrl(testCase)) {
log.error("发起http请求时,获取http地址失败");
resInfo.setErrMsgInfo("发起http请求时,获取http地址失败");
return resInfo;
}
// 获取发起请求的url参数信息
if (!updateUrlPara(testCase)) {
log.error("发起http请求时,获取url参数信息失败");
resInfo.setErrMsgInfo("发起http请求时,获取url参数信息失败");
return resInfo;
}
// 获取发起请求的post参数信息
if (!updateFormParaMap(testCase)) {
log.error("发起http请求时,获取post参数信息失败");
resInfo.setErrMsgInfo("发起http请求时,获取post参数信息失败");
return resInfo;
}
// 获取发起请求的headers信息
if (!updateHeadersMap(testCase)) {
log.error("发起http请求时,获取headers信息失败");
resInfo.setErrMsgInfo("发起http请求时,获取headers信息失败");
return resInfo;
}
try {
// 发起请求
if (testCase.getHttpMethod().equalsIgnoreCase("get")) {
resInfo= httpUtil.get(headersMap, httpUrl + getUrl);
resInfo.setHttpUrl(httpUrl + getUrl);
} else if (testCase.getHttpMethod().equalsIgnoreCase("post")) {
resInfo= httpUtil.post(headersMap, httpUrl+getUrl, postUrl);
resInfo.setHttpUrl("post请求的url信息:" + httpUrl + postUrl);
} else {// 待扩展
}
} catch (Exception e) {
log.error("发送http请求异常");
log.error("httpurl:" + httpUrl);
log.error("getUrl:" + getUrl);
log.error("postUrl:" + postUrl);
log.error(e.getMessage());
resInfo.setErrMsgInfo("发送http请求异常,请查看执行日志记录");
return resInfo;
}
// 存储执行结果和拼接的url
return resInfo;