讲完 json 对象的操作,今天开始正式进入正题——接口测试。这里的接口指的是 HTTP 接口测试,主要的请求方法是GETPOST,下面开始讲GET请求的测试实践。

视频专题:

内容概述

以腾讯天气中一个获取某地天气信息详情的接口为案例,演示如何构造 HTTP 请求对象,如何把参数组装到请求对象中,如何解析响应结果,获取信息,进行校验等等。由于第三方接口,这里没有问题,代码比较简单,相当于文档了。

中间本来想讲讲断言的,发现很久不写,有点翻车,索性放弃了,各位见谅。

GET 请求测试实践

gitee 地址:https://gitee.com/fanapi/tester

测试代码

package com.fun;

import com.alibaba.fastjson.JSONObject;
import com.fun.frame.httpclient.FanLibrary;
import org.apache.http.client.methods.HttpGet;

public class WeacherTest extends FanLibrary {

    public static void main(String[] args) {
        String url = "https://wis.qq.com/weather/common";
        JSONObject params = new JSONObject();
        params.put("source", "pc");
        params.put("province", "北京市");
        params.put("city", "北京市");
        params.put("county", "西城区");
        params.put("weather_type", "observe|forecast_1h|forecast_24h|index|alarm|limit|tips|rise");
        HttpGet httpGet = getHttpGet(url, params);
        JSONObject response = getHttpResponse(httpGet);
        output(response);
        output("响应状态码:" + response.getInteger("status"));
//        output("响应信息:" + response.getString("message"));
//        JSONObject info = response.getJSONObject("data").getJSONObject("forecast_24h");
//        Set<String> keySet = info.keySet();
//        for (String key : keySet) {
//            int max_degree = info.getJSONObject(key).getIntValue("max_degree");
//            String time = info.getJSONObject(key).getString("time");
//            output(time + "最高气温:" + max_degree + "摄氏度");
//        }


        testOver();
    }


}

技术类文章精选

无代码文章精选


↙↙↙阅读原文可查看相关链接,并与作者交流