接口自动化测试实战训练营_0305

PPT

地址: https://pdf.ceshiren.com/ck26/接口自动化测试

源码地址

HogwartsSDETck26: 霍格沃兹测试开发学社 / HogwartsSDETck26 - Gitee.com

知识点梳理

接口测试内容梳理.xmind (234.1 KB)

内容

课件练习

  1. 把实现到一半的源码clone 下来。然后实现 删除tag 和 更新tag

删除tag 步骤

  1. 创建tag
  2. 删除tag
  3. 查询tag是否删除成功

更新tag 步骤

  1. 查询要被更新的tag
  2. 更新操作
  3. 查询是否更新成功

过程代码

  • 改造前的业务代码
"""
__author__ = '霍格沃兹测试开发学社'
__desc__ = '更多测试开发技术探讨,请访问:https://ceshiren.com/t/topic/15860'
"""
import jsonpath
import requests

from wework_interface_test.utils.log_utils import log


class TestWework:

    def setup_class(self):
        app_id = "ww93348658d7c66ef4"
        secret = "T0TFrXmGYel167lnkzEydsjl6bcDDeXVmkUnEYugKIw"
        token_url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={app_id}&corpsecret={secret}"
        r = requests.get(token_url)
        self.token = r.json()["access_token"]

    def test_create_tag(self):
        """
        1. 创建
        2. 查询
        3. 删除(数据清理)
        :return:
        """
        tag_body = {"tagname": "AD测试2", }
        url = f"https://qyapi.weixin.qq.com/cgi-bin/tag/create?access_token={self.token}"
        r = requests.post(url, json=tag_body)
        tag_id = r.json().get("tagid")
        create_tag_result = r.json().get("errcode")
        log.info(f"创建标签的标签为{tag_id}")
        list_url = f"https://qyapi.weixin.qq.com/cgi-bin/tag/list?access_token={self.token}"
        r2 = requests.get(list_url)
        log.info("查询标签")
        list_resutl = jsonpath.jsonpath(r2.json(), f"$..taglist[?(@.tagid=={tag_id})]")
        delete_url = f"https://qyapi.weixin.qq.com/cgi-bin/tag/delete?access_token={self.token}"
        r3 = requests.get(delete_url, params={"tagid": tag_id})
        log.info(f"删除的标签为{r3.json()}")
        # 断言创建接口响应信息为正确
        assert create_tag_result == 0
        # 断言通过id获取的tag信息不为空
        assert list_resutl



    def test_update_tag(self):
        # 1. 查询tag
        # 2. 更新
        # 3. 查询
        log.info("查询标签")
        list_url = f"https://qyapi.weixin.qq.com/cgi-bin/tag/list?access_token={self.token}"
        r2 = requests.get(list_url)
        tag_id_list_resutl = jsonpath.jsonpath(r2.json(), f"$..tagid]")
        update_tag_id = tag_id_list_resutl[0]
        log.info(f"要更新的标签为{update_tag_id}")
        update_url = f"https://qyapi.weixin.qq.com/cgi-bin/tag/update?access_token={self.token}"
        update_data = {"tagid": update_tag_id, "tagname": "ADD2"}
        r3 = requests.post(update_url, json= update_data)
        update_tag_errcode = r3.json().get("errcode")
        log.info(f"查询id为{update_tag_id}的标签名称")
        list_url = f"https://qyapi.weixin.qq.com/cgi-bin/tag/list?access_token={self.token}"
        r4 = requests.get(list_url)
        list_result = jsonpath.jsonpath(r4.json(), f"$..taglist[?(@.tagid=={update_tag_id})].tagname")
        # 断言创建接口响应信息为正确
        assert update_tag_errcode == 0
        # 断言更新的tag名称为正确的
        assert list_result[0] == "ADD2"





    def test_list_tag(self):
        # 1. 展示tag
        # 2. 断言展示信息
        ...

    def test_delete_tag(self):
        # 1. 创建tag
        # 2. 删除tag
        # 3. 查询tag
        ...

    def test_addtagusers(self):
        # 1. 添加标签成员
        # 2. 获取标签成员
        # 3. 删除标签成员
        ...

    def test_tag_flow(self):
        # 1. 创建标签
        # 2. 更新标签
        # 3. 添加标签成员
        # 4. 获取标签成员
        # 5. 删除标签
        ...

    def test_tag_flow_fail(self):
        # 1. 创建标签
        # 2. 删除标签
        # 3. 添加标签成员失败
        ...
2 个赞