接口自动化-用rest-assured如何测试上传文件接口(multipart/form-data类型)

在用rest-assured做上传文件接口的自动化时,要注意两个地方,

  • 一个是content-type要使用multipart/form-data类型
  • 一个是要使用multiPart的api

在rest-assured的官方GitHub上我们可以看到有关multiPart方法各种形式用法的介绍:
接口自动化-用rest-assured如何测试上传文件接口(multipart/form-data类型)_第1张图片

这里举例,贴出部分主要代码
if (restful.query.get("_multiPath") != null){//判断是否需要上传文件
    String multiPath = (String) restful.query.get("_multiPath");
    try {
        final byte[] bytes = IOUtils.toByteArray(getClass().getResourceAsStream(multiPath));
        restful.query.remove("_multiPath");
        restful.query.entrySet().forEach(entry->{
            requestSpecification.queryParam(entry.getKey(),entry.getValue());
        });
        requestSpecification.contentType("multipart/form-data").multiPart("file", "myFile", bytes);
    } catch (Exception e) {
        e.printStackTrace();
    }
}else {
    restful.query.entrySet().forEach(entry->{
        requestSpecification.queryParam(entry.getKey(),entry.getValue());
    });
}

运行结果

接口自动化-用rest-assured如何测试上传文件接口(multipart/form-data类型)_第2张图片

你可能感兴趣的:(自动化测试)