(五)Java版接口自动化-用json文件的方式做数据驱动


一、新增一个读取json格式文件的工具类,代码如下:

package com.automation.interfacetest.util;

import java.io.*;

/**
 * @title:
 * @author: 2021/11/1116:17
 * @date: 2021/11/1116:17
 */
public class JsonUtils {


    /**
     * 读取json文件,返回json串
     * @param fileName
     * @return
     */
    public static String readJsonFile(String fileName) {
        String jsonStr = "";
        try {
            File jsonFile = new File(fileName);
            FileReader fileReader = new FileReader(jsonFile);

            Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");
            int ch = 0;
            StringBuffer sb = new StringBuffer();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            fileReader.close();
            reader.close();
            jsonStr = sb.toString();
            return jsonStr;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

}

二、在用例中调用JsonUtils工具类,获取到一个string的参数,再将string转换为jsonobject

    @Test(groups = "测试组", description = "读取json文件做请求参数")
    public void test001() throws Exception{
        String str = JsonUtils.readJsonFile("src/test/resources/testdata/testParams.json");
        JSONObject object = JSONObject.parseObject(str);
        String result = TestService.imageCloudPage(object, token);
        System.out.println("打印返回结果:" + result);
    }

这里用到了JSONObject,所以需要在pom.xml里引入json的包

        
            com.alibaba
            fastjson
            1.2.32
        

相关