分享一个看起来很优雅的优雅接口测试用例

发表于:2022-2-15 09:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:海盐甜甜    来源:公众号

  接口自动化的代码是比较简单的,单接口用例5行代码,多接口场景用例10行、30行、60行不等,都是那种只要认真看都能看懂的,所以在编写用例代码的时候注释都很简洁。但当很用心去完成一个接口用例时,会发现能做的还可以更多,比如命名和注释,看起来更加赏心悦目。

  场景用例
  获取二维码+二维码扫码结果:

  看起来是真的舒服呢!下面上代码。
package com.XXXXXXX.api.kjkhd.naturalperson.login;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.XXXXXXX.common.ApiKhdResponse;
import com.XXXXXXX.common.HttpKhdRequest;
import org.springframework.http.HttpMethod;
import org.testng.annotations.Test;
import ru.yandex.qatools.allure.annotations.Title;
import static org.testng.AssertJUnit.assertEquals;

/**
 * create by lxl01 on 2021/11/3
 */
@Title("实名-获取二维码+二维码扫码结果 场景用例")
public class EwmAndEwmjgsqTest extends HttpKhdRequest {
    @Test(dataProvider = "excel", groups = {"kjkhd_http"})
    public void testEwmAndEwmjgsq(String run, String testName, String djxh, String data,String expectData) throws Exception {
        //定义 二维码获取 接口
        String EwmApi = "/dkdj/service/api/naturalperson/login/ewm";
        //执行 二维码获取 接口
        ApiKhdResponse EwmApiResponse = requestKjkhd(EwmApi, djxh, HttpMethod.POST, JSON.parseObject(data), false);
        //获取 二维码扫码结果 需要的参数wybs
        String wybsxx = (String)((JSONObject) EwmApiResponse.getData()).get("wybs");
        //定义 二维码扫码结果 接口
        String EwmjgsqApi = "/dkdj/service/api/naturalperson/login/ewmjgsq";
        //重写 二维码扫码结果获取 入参代码
        String ewmjgsqdata = "{" + " \"wybs\": \"" + wybsxx + "\"}";
        //执行 二维码扫码结果 接口
        ApiKhdResponse EwmjgsqApiResponse = requestKjkhd(EwmjgsqApi, djxh, HttpMethod.POST, ewmjgsqdata, false);
        //进行 二维码扫码结果status字段的校验
        String statusxx = (String)((JSONObject) EwmjgsqApiResponse.getData()).get("status");
        assertEquals(expectData,statusxx);
    }
}

  这次的写法为什么说优雅了呢?因为提取第一个接口的出参给第二个接口当入参的地方我这次只用了一行代码,虽然跟我本次第二个接口的入参只有一个参数且还是String类型有关系,但是还是想提一下这种简洁的思维。

  待办
  APP的UI自动化,今天就水到这里,因为我是上班时间码的,下期更新最近在做的APP的UI自动化,想想还是挺激动的,毕竟是受众群体很广的个人所得税APP,哈哈哈。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号