PPT
地址: https://pdf.ceshiren.com/ck26/接口自动化测试
源码地址
知识点梳理
接口测试内容梳理.xmind (234.1 KB)
内容
课件练习
- 把实现到一半的源码clone 下来。然后实现 删除tag 和 更新tag
删除tag 步骤
- 创建tag
- 删除tag
- 查询tag是否删除成功
更新tag 步骤
- 查询要被更新的tag
- 更新操作
- 查询是否更新成功
过程代码
- 改造前的业务代码
"""
__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. 添加标签成员失败
...