1、ider创建项目
问题1、 导入HttpClientRequest方法,导入相关相关方法遇到查询不到结果
在prom.xml文件中添加如下内容解决:
org.apache.httpcomponents
httpcore
4.4.10
org.apache.httpcomponents
httpclient
4.5.6
com.alibaba
dubbo
2.5.3
test
com.alibaba
dubbo
2.5.3
compile
com.alibaba
fastjson
1.2.58
test
com.alibaba
fastjson
1.2.58
compile
com.google.code.gson
gson
2.8.1
org.codehaus.jettison
jettison
1.4.0
test
org.codehaus.jettison
jettison
1.3.4
org.codehaus.jettison
jettison
1.3.4
test
org.codehaus.jettison
jettison
1.3.4
compile
前期准备工作到此完成
创建脚本TestYjzf 调试
import com.Test.HttpClientRequest;
import com.Test.MD5;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
public class TestYjzf {
public static void main(String[] args) throws JSONException {
// 定义登录URL地址
String login_url = "http://192.168.86.129:8080/mobile/api/user/login";
// 定义请求的参数
String login_data = "{\"mobile\":\"158\",\"password\":\"123456\"}";
// 调用HttpClientRequest类里面的sendpost方法
String PostResult = HttpClientRequest.sendPost(login_url, login_data);
System.out.println("登录返回:"+ PostResult);
JSONObject jsonobj = new JSONObject(PostResult);
int status = (int) jsonobj.getInt("code");
System.out.println("code:" +status);
// 获取token值
String token = (String) jsonobj.getJSONObject("data").get("token");
System.out.println("token:" +token);
String modifypaypwd_url = "http://192.168.86.129:8080/mobile/api/user/resetpaypwd";
// 调用md5类里面的getmd5code这个方法
String newPasswod = MD5.GetMD5Code("123456");
System.out.println("newPasswod:" +newPasswod);
String modifypaypwd_data = "{\"token\":\""+token+"\",\"password\":\""+newPasswod+"\"}";
String PostMd5Result = HttpClientRequest.sendPost(modifypaypwd_url, modifypaypwd_data);
System.out.println("PostMd5Result:" + PostMd5Result);
}
}
打jar包
file -- Project Structure -- Artifacts -- 添加JAR--选择From moudules with....--弹窗Module是工程名称,Main Class选择要打包的包名点击OK
jar包位置C:\Users\duwk\IdeaProjects\TestMd5\out\artifacts\TestMd5_jar
然后点击Build --- Build Artifacts... ---
到此jar包就打好了,下一步创建LR javavuser协议脚本。
创建LR脚本后,在runtime setting java class导入jar包
copy部分代码:
import lrapi.lr;
public class Actions
{
public int init() throws Throwable {
return 0;
}//end of init
public int action() throws Throwable {
String login_url = "http://192.168.86.129:8080/mobile/api/user/login";
// 定义请求的参数
String login_data = "{\"mobile\":\"158\",\"password\":\"123456\"}";
// 调用HttpClientRequest类里面的sendpost方法
String result = HttpClientRequest.sendPost(login_url, login_data);
System.out.println("登录返回:"+ result);
return 0;
}//end of action
public int end() throws Throwable {
return 0;
}//end of end
}
调试报错:
原因是没有导入相应方法,导入方法解决:
import com.Test.HttpClientRequest;
import com.Test.MD5;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
GET请求获取订单列表:
报错404,原因是没有在url后面拼“?”
加上“?”后报错:参数错误,原因是参数类型书写方式错误,改为:String order_list_data = "token="+token;后访问成功
订单列表:
// 订单列表
String order_list_url = "http://192.168.86.129:8080/mobile/api/order/getorders?";
String order_list_data = "token="+token_UTF8;
lr.start_transaction("ORDER");
String order_list_result = HttpClientRequest.sendGet(order_list_url,order_list_data);
// System.out.println(order_list_result);
JSONObject order = new JSONObject(order_list_result);
int order_status = (int) order.getInt("code");
if(order_status == 0){
lr.output_message("**** succes ****");
lr.end_transaction("ORDER", lr.PASS);
}
else{
lr.output_message("**** failed ****");
lr.end_transaction("ORDER", lr.FAIL);
}