企業微信介面測試實戰、Swagger簡介
#!/user/bin/env python
# -*- coding: utf-8 -*-
import json
import requests
corpid = "" # 企業 id
corpsecret = ""
class Tag:
def __init__(self):
self.token = ""
def get_token(self):
""" 獲取 token"""
r = requests.get(
"https://qyapi.weixin.qq.com/cgi-bin/gettoken",
params={"corpid": corpid, "corpsecret": corpsecret}
)
self.token = r.json()["access_token"]
def list(self):
""" 獲取 tag 列表 """
r = requests.get(
"https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_corp_tag_list",
params={"access_token=": self.token},
json={
"tag_id":[]
}
)
print(json.dumps(r.json(), intent=2)) # intent=2 會讓結果間隔兩個空格
return r
def add(self, group_name, tags):
url = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/add_corp_tag"
r = requests.post(
url,
params={"access_token": self.token},
json={
"group_id": "GROUP_ID",
"group_name": group_name,
"order": 1,
"tag": tags,
"agentid": 1000014
}
)
# print(r.json())
print(json.dumps(r.json(), intent=2)) # intent=2 會讓結果間隔兩個空格
return r
test_tag.py
#!/user/bin/env python
# -*- coding: utf-8 -*-
import pytest
from Exercises.service.tag import Tag
# todo: 程式碼冗餘
# todo: 與底層架構耦合太多
# todo: 封裝層次不足,不利於管理
class TestTag:
def setup_class(self):
# todo: 外匯跟單gendan5.com 資料清理過程,把測試資料清空或還原
self.tag = Tag()
self.tag.get_token()
def test_tag_list(self):
""" 獲取標籤列表 """
r = self.tag.list()
assert r.status_code == 200
assert r.json()["errcode"] == 0
@pytest.mark.parametrize("group_name, tag_names", [
["group1", [{"name": "tag1"}]],
["group2", [{"name": "tag2"}, {"name": "tag3"}]]
])
def test_tag_get(self, group_name, tag_names):
# todo: 完善功能測試
""" 建立標籤 """
r = self.tag.add(group_name=group_name, tags=tag_names)
assert r.status_code == 200
assert r.json()['errcode'] == 0
""" 校驗列表 """
r = self.tag.list()
assert r.status_code == 200
assert r.json()["errcode"] == 0
group = [group for group in r.json()["tag_group"] if group["group_name"] == group_name][0]
tags = [{"name": tag['name']} for tag in r.json()["tag"]]
print(group)
print(tags)
assert group['group_name'] == group_name
assert tags == tag_names
def test_tag_fail(self):
pass
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2789920/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 介面測試、管理神器-SwaggerSwagger
- pc企業微信hook介面,企業微信行銷軟體Hook
- 企業級微信小程式實戰詳解微信小程式
- 介面文件下的滲透測試(Swagger)Swagger
- swagger簡介Swagger
- SpringCloud微服務實戰——搭建企業級開發框架(六):使用knife4j整合Swagger2介面文件SpringGCCloud微服務框架Swagger
- 《HiWind企業快速開發框架實戰》(0)目錄及框架簡介框架
- 如何選擇測試微信域名檢測介面-域名檢測api介面測試標準API
- 實戰篇:如何做好SOAP介面效能測試?
- 測試管理流程簡介
- Oracle Stream實戰(1)—測試環境介紹Oracle
- (一)Jmeter簡單介面測試JMeter
- Django+Vue+Docker搭建介面測試平臺實戰DjangoVueDocker
- FastAPI專案實戰:"非同步"介面測試"平臺"ASTAPI非同步
- JMeter 測試元件介紹 - 物聯網大併發測試實戰 02JMeter元件
- 實戰模擬│企業微信機器人實時報錯預警機器人
- Springboot系列(七) 整合介面文件swagger,使用,測試Spring BootSwagger
- 合同測試簡介 - Elizabeth Fiennes
- 企業微信PC版hook原始碼api介面Hook原始碼API
- 介面測試之DDT,純程式碼實戰,學起來
- 介面和微信有互動,各位都是如何介面測試的?
- RocketMQ 實戰(一) - 簡介MQ
- [雪峰磁針石部落格]滲透測試簡介1滲透測試簡介
- 資料介面測試工具 Postman 介紹Postman
- 介面測試工具 tep 介紹 (開源)
- 微信域名檢測官方介面 微信域名實時檢測系統
- 開源測試工具 JMeter 介紹 - 物聯網大併發測試實戰 01JMeter
- 企業級負載平衡簡介負載
- 介面自動化測試實戰之智慧場景如何攻破
- app 裡的 A/B 測試簡介APP
- 精準化測試原理簡介
- Jmeter效能測試實戰JMeter
- WEB安全測試實戰Web
- 介面測試作業才能進去
- 《Qt 5.12實戰》簡介QT
- HTTP介面測試實踐(一)HTTP
- Jmeter實現 Dubbo介面測試JMeter
- 軟體測試專案實戰之功能測試 千鋒實戰教程