企业微信-rest-assured接口测试项目实战(一)

技术准备:

  • java

  • rest-assured
    rest-assured接口测试学习(一)
    rest-assured接口测试学习(二)
    rest-assured接口测试学习(三)

  • 待测环境:企业微信

  • jenkins持续集成

项目准备:

  • 企业微信官网,用于注册自己的企业,无门槛
  • 企业微信api,请接入具体场景选择【企业内部开发】,阅读下【服务端api-开发指南】的文档,熟悉接口结构。
  • 企业微信接口调试工具
  • 需要使用的数据:【应用与小程序】-【自建】-【创建应用】,创建应用后有:
    企业ID corpid:wwad5387da586768d8
    应用AgentId:1000002
    应用Secret:MEsk6ytKetMfjkehk8T2GoCTh6Zbmq1KbIYxurO93lQ
    通讯录Secret:ALiaGD6WodorwCRqLITgAS4JwLo7cNNTeQ0zeeqxM98

熟悉接口:

使用企业微信提供的接口调试工具:

建立连接:获取AccessToken
请求地址: https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwad5387da586768d8&corpsecret=MEsk6ytKetMfjkehk8T2GoCTh6Zbmq1KbIYxurO93lQ
返回结果: HTTP/1.1 200 OK
Connection: keep-alive
Error-Code: 0
Error-Msg: ok
Content-Type: application/json; charset=UTF-8
Content-Length: 277

 {"errcode":0,"errmsg":"ok","access_token":"OaGWL0unV5KM2AecoGs-gs8rZaLM3GAp1O2jiAZJ_rd0FxBM_7hH0SEbX7dN9IyT1WNEe7lDRK9kufYR7atay2FML4mbn3CUUC7hZG2irpLvcJ-SGEfdbcc0VpdGQwAqso9yePnAUBkRAbmRaCI7A1dQ-UtutluJzbwMIJKdIysID2FJxYJYJilCUXGSR0axP8lw-6euCp1CjCekhuJiVg","expires_in":7200}

access_token就是我们需要的
"expires_in":7200表示access_token的失效时间,7200秒,2小时
发送消息接口示例


body填入的内容:

{
   "touser" : "@all",
   "toparty" : "",
   "totag" : "",
   "msgtype" : "text",
   "agentid" : 1000002,
   "text" : {
       "content" : "Daybreak提醒您,您的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看邮件中心视频实况,聪明避开排队。"
   },
   "safe":0
}

待测业务

  • 部门的增删改查
  • 成员的增删改查
  • 发送消息

注意事项

  • token的缓存


    image.png
  • 调试工具

  • 调用频率

接口测试用例实现

  • 打开IDEA,新建一个Maven工程,我命名为ApiDemo,添加junitrest-assured的依赖 。
  • new一个class,我命令为TestGetToken.java,代码如下:
import io.restassured.RestAssured;
import org.junit.jupiter.api.Test;
import static org.hamcrest.core.IsEqual.equalTo;

public class TestGetToken {
    @Test
    public void testToken(){
        RestAssured.given().log().all()
                //入参
                .queryParam("corpid","wwad5387da586768d8")
                .queryParam("corpSecret","MEsk6ytKetMfjkehk8T2GoCTh6Zbmq1KbIYxurO93lQ")
            //when表示触发条件
            .when().get("https://qyapi.weixin.qq.com/cgi-bin/gettoken")
            //then对结果断言
            .then().log().all().statusCode(200).body("errcode",equalTo(0));
    }
}

这是最基础的用例实现。但是每一条用例都这么写,会有大量重复的代码,所以要对代码进行封装,提高代码的复用性。

你可能感兴趣的:(企业微信-rest-assured接口测试项目实战(一))