企业微信接口测试实战一

知识点

测试的流程

  • 接口规范: 前端开发、后端开发、产品、测试
  • 前端开发:使用generate server生成一个stub
  • 后端开发:使用generate client生成一个调用的client sdk
  • 测试:使用swagger ui浏览、了解api,自动生成基础测试用例并完善丰富更多用例

企业微信基本参数

服务端api

import json

import requests

corpid='wwd6da61649bd66fea'
corpsecret='heLiPlmyblHRiKAgGWZky7MMvyld3d3QMUl5ra7NBZU'

def test_tag_get():
    r=requests.get(
        ' https://qyapi.weixin.qq.com/cgi-bin/gettoken',
        params={'corpid': corpid, 'corpsecret': corpsecret }
    )
    print(json.dumps(r.json(), indent=2))
    token=r.json()['access_token']

    r = requests.post(
        'https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_corp_tag_list',
        params={'access_token': token},
        json={
            'tag_id': []
        }
    )
    print(json.dumps(r.json(), indent=2))
    assert r.status_code == 200
    assert r.json()['errcode'] == 0

标签管理

api object

  • po层:业务管理、业务功能的封装
  • testcase层:与底层无关,只是业务功能的调用与断言

课后作业

丰富标签管理的测试用例,主要是list add delete接口,拔高点完善下数据清理的过程。
把测试用例的文件地址,贴到回复里

相关链接

https://requests.readthedocs.io/en/master/

https://swagger.io/

https://editor.swagger.io/

https://github.com/LQZuan/wework_api.git

1 个赞

https://github.com/InsaneLoafer/HogwartsAPI/tree/master/assignment/wx_work1

https://github.com/cuiqingliang/cql_horg.git

https://github.com/chadleRui/test_pytest/blob/master/test_services/test_tag.py

1 个赞

https://github.com/dmingzhu/hogwarts_demo.git

在setup_class中遍历group_id调用delete接口实现数据清理

https://github.com/zhuozx/pywork/blob/main/test_requests/test_tag.py

https://github.com/dubiao0310/lg_study/tree/master/repuests_study

1 个赞

https://github.com/zy-87/hogwarts_lg4/tree/master/service

在setup中定义变量收集测试中添加的标签或标签组id, 在测试结束通过teardown调用del方法删除测试数据.
未实现用例容错, 如名字超长等.

https://github.com/zhousk/hogwarts/tree/master/interface/service

https://github.com/tangjy155/tangjyPro/tree/main/practice/service

https://github.com/zsjlu/hogwarts_robot/tree/master/homework/api/one

企业微信接口测试实战(一)作业:
https://github.com/chwgcc/hogwarts_chw/tree/master/service

add测试用例补充了以下情况:
1、要向指定的标签组下添加标签,需要填写group_id参数
2、如果填写了group_id参数,则group_name会被忽略
3、如果填写的groupname已经存在,则会在此标签组下新建标签
4、如果传入多个同名标签,则只会创建一个

get_list新增了一条:
1、指定tag_id,目前没有生效,仍然返回全部list,后续会继续解决

delete会继续完善

https://github.com/ljr287404428/wxwork_API.git

作业地址:

https://github.com/Bright1116/AllenLG4_Python/tree/main/HomeWork/p_20201201/enterprise_wechat_practice

https://github.com/oooleemandy/hogwarts_pro/tree/master/wexintag

https://github.com/ziloukd/hogwarts_lwy/tree/master/framwork_api1