自动化测试Java 杂谈自动化测试

自动化接口测试 - 极简方式使用(简单版)

2019-06-06  本文已影响51人  circlq

本人推荐使用idea编译器,不建议使用eclipse

以下2种依赖,自行选择一种
1、使用gradle添加依赖

【注:】需要在build.gradle添加jcenter()仓库

    compile 'com.circlq:http-api:1.1.5'
2、使用pom文件添加依赖
 <dependency>
    <groupId>com.circlq</groupId>
    <artifactId>http-api</artifactId>
    <version>1.1.5</version>
 </dependency>
使用pom依赖会有java版本问题,这边截图两张自己看下




下面开始如何实现

只需要简单的2步骤就能实现请求。

定义接口


@DealClass(HttpDealMethodImpl.class)
//@DealAll
@NetServiceClass("")
public interface NetService {
    /**
     * get的简单请求
     */
    @GET("https://qybeta.321go.com/api/v1/home/index")
    String get(@Query("cid") String cid, @Query("token") String token);

    /**
     * get请求(URL中带有参数)
     */
    @GET("https://qybeta.321go.com/api/{version}/home/index")
    String get(@Path("version") String version, @Query("cid") String cid, @Query("token") String token);

    /**
     * 表单提交
     */
    @POST("https://marathonbeta.321go.com/api/v5/assis/user")
    String postForm(@Field("token") String token, @Field("auid") String auid, @Field("step") String step, @Field("formId") String formId);

    /**
     * json提交
     */
    @POST("http://public.api.fashionworldcn.com/api/my/login")
    String postJson(@Param("mobile") String mobile, @Param("password") String password);

    /**
     * json 整串提交
     */
    @POST("http://public.api.fashionworldcn.com/api/my/login")
    String postJson(@Body String json);

    /**
     * json 实体类提交
     */
    @POST("http://public.api.fashionworldcn.com/api/my/login")
    String postJson(@Body LoginBuild json);

    /**
     * 请求跟返回经过统一特殊处理。
     */
    @POST("http://a.szy.com:4480/SignManageServer/sign/appHandle")
    @Deal
    String onDeal(@Field("reqcode") String reqcode, @Param("pageNo") String pageNo, @Param("pageSize") String pageSize, @Param("schoolId") String schoolId);

}

执行请求

    /**
     * 表单提交
     */
    public static void postForm() {
        String token = "QpglbXabpgvKa5d1cqjq5Qb6KKldbvz6dmr0AVjXUlljQsVC5gkKA8IkEChX1ssY";
        String auid = "2c93e148674de85b01674ebc7e760018";
        String step = "2";
        String formId = "4f0e43a7c6095adfc0e5b216d9914f9e";
        String result =  HttpRequest.getNetService().postForm(token, auid, step, formId);
        System.out.println("postForm : " + result);
      //返回类型支持java实体类,只需要在方法返回类型String换成java实体类,它会自动给你转化成实体类。
    }

强大的Json解析器

我们可以看到返回类型支持java实体类跟String类型,但是这边建议使用String类型
然后解析的时候使用JsonUtils类,这是一个强大解析器
直接
  int forum_id = JsonUtils.parse(json,Integer.class,"notice","forum_id");
我们可以看到直接解析出第二层forum_id里面的数据,直接转换成int类型,
如果需要转换实体类,直接在第二个参数改成   类名.class  ,然后指定那一层就解析那一层数据转化成实体类。
这样是不是很方便。

该例子是以同步请求为demo,如果需要异步请求则看下面的进行下载demo查看


demo里面含有gradle跟pom依赖两种 点击下载

提取码:drxd

完整版简书 点击跳转

上一篇 下一篇

猜你喜欢

热点阅读