最近再做接口自动化测试,其中有几个方法比较重要

1.获取http状态码

        /*
* 返回接口状态码
* */
public static String getHttpCode(String url) {
String code = null;
try {
URL u = new URL(url);
URLConnection uc = u.openConnection();
HttpURLConnection huc = (HttpURLConnection)uc;
code = new Integer(huc.getResponseCode()).toString();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return code;
}

2.获取json

        /*
* 3个参数
* */
public static String getJson(String base_url, String para1, String value1, String para2, String value2, String para3, String value3) {
String url = base_url + para1 + "=" + value1 + "&"
+ para2 + "=" + value2 + "&"
+ para3 + "=" + value3; String result = ""; String code = getHttpCode(url);
if(!code.startsWith("2")) {
result = "*******接口的状态码为:"+code+"*******"+url;
}else {
StringBuilder json = new StringBuilder();
try {
URL u = new URL(url);
URLConnection uc = u.openConnection();
BufferedReader bd = new BufferedReader(new InputStreamReader(uc.getInputStream(),"UTF-8"));
String s = null;
while((s=bd.readLine())!=null) {
json.append(s);
}
bd.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
result = json.toString();
}
return result;
}

3.获取json中的某个值,如{"a":"1"}

        public static String getJsonValue(String json, String name){

            String s = null;
JSONObject jobj = JSONObject.fromObject(json);
//JSONObject jobj = JSONObject.fromObject("{'total':'0','message':'用户编号不能为空','data':'','code':'2','rows':''}");
Iterator it = jobj.keys();
while(it.hasNext()){
String key = it.next().toString();
String value = jobj.getString(key);
if(key.equals(name)) {
s = value.trim();
}
}
return s; }

4.获取双重json中第二维json的某个值,如{"a":"1",{"b":"1"}}

        public static String getJsonValue(String json,String jdate, String name){

            JSONObject jobj = JSONObject.fromObject(json);
JSONObject dataList=jobj.getJSONObject(jdate);
String balance =dataList.getString(name);
return balance;
}

5.获取json中包含数组中的第N个json,如{"a":"1","b":"[{"a2":"1"},{"b2":"1"}]"}

    /*获取jsonArray*/
public static String getJsonArray(String json, String arr_name, int index) { JSONObject jobj = JSONObject.fromObject(json);
JSONArray childs= jobj.getJSONArray(arr_name);
JSONObject job = childs.getJSONObject(index); return job.toString();
}

XIAOBAI

static void getVo(){
String result = HttpClientUtil.httpGet("http://127.0.0.1:8080/test/vo?id=100");
JSONObject jsonObject = JSONObject.parseObject(result);
JSONObject userObject = jsonObject.getJSONObject("user");
Object object = userObject.get("mobile");
System.out.println("mobile="+object);
//获取json中message的string值
String message = jsonObject.getString("message");
System.out.println(message);
//获取json中code的int值
int code = jsonObject.getIntValue("code");
System.out.println(code); //获取json数组
JSONArray jsonArray = jsonObject.getJSONArray("users");
JSONObject userJson = jsonArray.getJSONObject(1);
System.out.println(userJson.get("id")); }

6.连接数据库

        public static List<String> connectSqlList(String sql,String userNum, String col) {
String url = "jdbc:mysql://172.16.30.209:3306/a_test";
String name = "gmsd";
Connection con = null;
ResultSet rs = null;
String rssql = null; List<String> list = new ArrayList<String>(); try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(url,name,"dlnu1234");
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, userNum); rs = pst.executeQuery();
while(rs.next()) {
rssql = rs.getString(col);
list.add(rssql);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
rs.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return list; }

java获取Json和http状态码的更多相关文章

  1. 转载: java获取json数组格式中的值

    转自:https://www.cnblogs.com/kkxwze/p/11134846.html   第一种方法: String str = "{'array':[{'id':5,'nam ...

  2. java获取json数组格式中的值

    第一种方法: String str = "{'array':[{'id':5,'name':'张三'},{'id':6,'name':'李四'}]}"; JSONArray jso ...

  3. python(30) 获取网页返回的状态码,状态码对应问题查询

    获取访问网页返回的状态码 html = requests.get(Url) respon = html.status_code 以下内容来自于维基百科:点击查看网页 1xx消息 这一类型的状态码,代表 ...

  4. curl获取http请求的状态码

    $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); //设置头文件的信息作为数据流输出 curl_setopt($curl, CUR ...

  5. PHP获取访问页面HTTP状态码的实现代码

    方法一 $header_info=get_headers('//www.jb51.net/'); echo $header_info[0]; //耗时 0.67~0.78 方法二 $ch = curl ...

  6. Java获取汉字的大小写拼音码(汉字的拼音首字母)

    import java.io.UnsupportedEncodingException; /** * 获取拼音码 * * @author xmj * */ public class GetPinyin ...

  7. java 获取json字符串中key对应的值

    用到了Gson的JsonParser maven项目引入 <dependency> <groupId>com.google.code.gson</groupId> ...

  8. 【Java】java获取json中某个字段

    import com.alibaba.fastjson.JSONObject; public class JsonTest { public static void main(String[] arg ...

  9. java获取json格式中的值

    先右键项目,然后点击properties,然后选中java Builder Path,选择add external jars,引入需要引入json.jar package web; import or ...

随机推荐

  1. csharp:Chart

    http://www.dotnetperls.com/chart using System; using System.Windows.Forms; using System.Windows.Form ...

  2. ViewPager的使用

    在上培训课的时候,老师一直在将ViewPager是现在的主流,一直想去好好的了解一下,今天去网上学习了一下   ,做一个总结: ViewPager其实就是后来谷歌提供给我们的一个组件,就像TextVi ...

  3. 回文串---吉哥系列故事——完美队形II

    HDU  4513 Problem Description 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出 ...

  4. 【GOF23设计模式】模板方法模式

    来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_模板方法模式.钩子函数.方法回调.好莱坞原则 package com.test.templateMethod; publi ...

  5. Google Developers中国网站

    正于北京举办的谷歌开发者大会上,谷歌宣布,Google Developers中国网站 (developers.google.cn) 正式发布! 谷歌表示,Google Developers中国网站是特 ...

  6. 【使用 DOM】为DOM元素设置样式

    1. 使用样式表 可以通过document.styleSheets属性访问文档中可用的CSS样式表,它会返回一组对象集合,这些对象代表了与文档管理的各个样式表. 每个样式表 都由一个CSSStyleS ...

  7. 同源策略 JSONP(实践篇)

    JSONP详解 json相信大家都用的多,jsonp我就一直没有机会用到,但也经常看到,只知道是“用来跨域的”,一直不知道具体是个什么东西.今天总算搞明白了.下面一步步来搞清楚jsonp是个什么玩意. ...

  8. 详解Paint的setPathEffect(PathEffect effect)

    一.setPathEffect() 这个方法一看就和path有关,顾名思义,它就是给path设置样式(效果)的.PathEffect这个路径效果类没有具体的实现,效果是由它的六个子类实现的: 这六个子 ...

  9. Python基础(1)--Python编程习惯与特点

    1.代码风格 在Python中,每行程序以换行符代表结束,如果一行程序太长的话,可以用“\”符号扩展到下一行.在python中以三引号(""")括起来的字符串,列表,元组 ...

  10. Xcode找Library位置