20230305 接口自动化测试实战

PPT

地址: https://pdf.ceshiren.com/ck25/接口测试框架实战

代码地址

课后调查表

https://jinshuju.net/f/wfpRP7

接口自动化框架知识点梳理

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

测试用例文档

部门管理接口测试用例.xlsx (14.0 KB)

获取 secret 方式

import requests


def token(ID,SECRET):
    result = requests.get("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+ID+"&corpsecret="+SECRET+"")
    return result.json()



result = token("wwc078cc3f95bfcebd","mWoPtXZeceQHD0_sTJ7nZ2x-CAqGwf-G4xNPkLW4Fx4")
print(result["access_token"])
import requests

class TestDemo:
    def test_weixin(self):
        url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
        corpid = "ww13e78346e63df8b5"
        corpsecret = "DZUstDSSpohAlcwc5G0hQMTxBsihmbprxLGIX1sJcSs"
        params = {f'corpid':{corpid},'corpsecret':{corpsecret}}
        result = requests.get(url,params = params)
        print(result.json()['access_token'])
import requests

class TestDemo:
    def setup(self):
        self.base_url = "https://qyapi.weixin.qq.com/cgi-bin"
        url = self.base_url + "/gettoken"
        corpid = "ww12e78c86e63df6b5"
        corpsecret = "DZUstCSSpohAlcwc7G0hQNVxBsihmbprxLGIX5sJcSs"
        params = {f'corpid': {corpid}, 'corpsecret': {corpsecret}}
        result = requests.get(url, params=params)
        self.token = result.json().get('access_token')

    def test_add_dept_name_ok(self):
        url = self.base_url + "/department/create"
        params = {f'access_token':{self.token}}
        dept_id = 17
        data = {
                "name": "技术部",
                "name_en": "JISHUBU",
                "parentid": 1,
                "order": 1,
                "id": dept_id
        }
        result = requests.post(url, params=params,json=data)
        assert result.json().get('errcode') == 0
        assert result.json().get('id') == dept_id

    def test_add_dept_name_0(self):
        url = self.base_url + "/department/create"
        params = {f'access_token':{self.token}}
        dept_id = 18
        data = {
                "name": "",
                "name_en": "JISHUBU",
                "parentid": 1,
                "order": 1,
                "id": dept_id
        }
        result = requests.post(url, params=params,json=data)
        assert result.json().get('errcode') == 40058

    def test_add_dept_name_1(self):
        url = self.base_url + "/department/create"
        params = {f'access_token':{self.token}}
        dept_id = 19
        data = {
                "name": "j",
                "name_en": "JISHUBU",
                "parentid": 1,
                "order": 1,
                "id": dept_id
        }
        result = requests.post(url, params=params,json=data)
        assert result.json().get('errcode') == 0
        assert result.json().get('id') == str(dept_id)

    def test_add_dept_name_32(self):
        url = self.base_url + "/department/create"
        params = {f'access_token':{self.token}}
        dept_id = 20
        data = {
                "name": "jikijiumiuyhbiumiuygnhuythuyijn",
                "name_en": "JISHUBU",
                "parentid": 1,
                "order": 1,
                "id": dept_id
        }
        result = requests.post(url, params=params,json=data)
        assert result.json().get('errcode') == 0
        assert result.json().get('id') == dept_id
import requests
class TestGetAcctoken:
    def test_get_token(self):
        url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ww95914a026b49e1df&corpsecret=VtW4-ZcyA55Ui-4KGQmD1k4bktbKxsayPDAl3TyKXUk'
        r=requests.get(url=url)
        print(r.status_code)
        print(r.text)
        print(r.json())


###结果
PASSED [100%]200
{“errcode”:0,“errmsg”:“ok”,“access_token”:“Yx5hYlDtBlKPXGf5eS8XNmuND44kazs0k0cQMyRoaln6S4hqBaI5h22TRifwMPyf_t5JftCiDv4FA77-Bezz7PYz26gJ7yCc-5Dxvl3GcPiP46T8BJVgz3m9jUPiJJpMTyy_YhD3coJ60vBs-1nQ0wrkR4PyDD80n5sV7P0sqrLcLvVaT2tyR3ZHZrzB3QPb4G4tmG8Rk9I1KhSyUsT8WA”,“expires_in”:7200}
{‘errcode’: 0, ‘errmsg’: ‘ok’, ‘access_token’: ‘Yx5hYlDtBlKPXGf5eS8XNmuND44kazs0k0cQMyRoaln6S4hqBaI5h22TRifwMPyf_t5JftCiDv4FA77-Bezz7PYz26gJ7yCc-5Dxvl3GcPiP46T8BJVgz3m9jUPiJJpMTyy_YhD3coJ60vBs-1nQ0wrkR4PyDD80n5sV7P0sqrLcLvVaT2tyR3ZHZrzB3QPb4G4tmG8Rk9I1KhSyUsT8WA’, ‘expires_in’: 7200}