接口自动化的代码是比较简单的,单接口用例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,哈哈哈。
作者:海盐甜甜