51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1121|回复: 0
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    擦汗
    14 小时前
  • 签到天数: 1042 天

    连续签到: 4 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-2-21 09:37:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
     接口自动化的代码是比较简单的,单接口用例5行代码,多接口场景用例10行、30行、60行不等,都是那种只要认真看都能看懂的,所以在编写用例代码的时候注释都很简洁。但当很用心去完成一个接口用例时,会发现能做的还可以更多,比如命名和注释,看起来更加赏心悦目。

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

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

    2. import com.alibaba.fastjson.JSON;
    3. import com.alibaba.fastjson.JSONObject;
    4. import com.XXXXXXX.common.ApiKhdResponse;
    5. import com.XXXXXXX.common.HttpKhdRequest;
    6. import org.springframework.http.HttpMethod;
    7. import org.testng.annotations.Test;
    8. import ru.yandex.qatools.allure.annotations.Title;
    9. import static org.testng.AssertJUnit.assertEquals;

    10. /**
    11. * create by lxl01 on 2021/11/3
    12. */
    13. @Title("实名-获取二维码+二维码扫码结果 场景用例")
    14. public class EwmAndEwmjgsqTest extends HttpKhdRequest {
    15.     @Test(dataProvider = "excel", groups = {"kjkhd_http"})
    16.     public void testEwmAndEwmjgsq(String run, String testName, String djxh, String data,String expectData) throws Exception {
    17.         //定义 二维码获取 接口
    18.         String EwmApi = "/dkdj/service/api/naturalperson/login/ewm";
    19.         //执行 二维码获取 接口
    20.         ApiKhdResponse EwmApiResponse = requestKjkhd(EwmApi, djxh, HttpMethod.POST, JSON.parseObject(data), false);
    21.         //获取 二维码扫码结果 需要的参数wybs
    22.         String wybsxx = (String)((JSONObject) EwmApiResponse.getData()).get("wybs");
    23.         //定义 二维码扫码结果 接口
    24.         String EwmjgsqApi = "/dkdj/service/api/naturalperson/login/ewmjgsq";
    25.         //重写 二维码扫码结果获取 入参代码
    26.         String ewmjgsqdata = "{" + " \"wybs\": \"" + wybsxx + "\"}";
    27.         //执行 二维码扫码结果 接口
    28.         ApiKhdResponse EwmjgsqApiResponse = requestKjkhd(EwmjgsqApi, djxh, HttpMethod.POST, ewmjgsqdata, false);
    29.         //进行 二维码扫码结果status字段的校验
    30.         String statusxx = (String)((JSONObject) EwmjgsqApiResponse.getData()).get("status");
    31.         assertEquals(expectData,statusxx);
    32.     }
    33. }
    复制代码
    这次的写法为什么说优雅了呢?因为提取第一个接口的出参给第二个接口当入参的地方我这次只用了一行代码,虽然跟我本次第二个接口的入参只有一个参数且还是String类型有关系,但是还是想提一下这种简洁的思维。

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



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-7 23:42 , Processed in 0.059495 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表