Python代碼
釘釘羣機器人token獲取請參考:jenkins構建結果釘釘羣消息通知
#!\usr\bin\python3.6
# coding=utf-8
# Author: 文
from time import strftime
from requests import session
def nail_inform(statis):
"""
:param statis: 測試用例統計 字典 key-sum: 總用例數 key-fail: 失敗用例數 key-ratio: 測試通過率
"""
# 釘釘接口與機器人token
url = "https://oapi.dingtalk.com/robot/send?" \
"access_token=34569456787221097652032705f0a2155b0794d98jb878641cbe8f2e7245"
# 頭部信息(Content-Type必填)
header = {
"Content-Type": "application/json",
"Charset": "UTF-8"
}
now = strftime("%Y-%m-%d %H:%M:%S") # 獲取測試時間
msg = "#自動化測試報告 #: http://www.xxxx.com/job/{{jenkins中job名稱}}/HTML_20Report/\n" \
"時 間: %s\n" \
"總用例數: %s\n" \
"失敗用例數: %s\n" \
"測試通過率: %s\n\n" % (now, statis["sum"], statis["fail"], statis["ratio"])
payload = {
"msgtype": "text",
"text": {
"content": msg # 抓取數據發送的內容放到msg
},
"at": {
"isAtAll": True, # @全體成員(在此可設置@特定某人)
}
}
r = session().post(url=url, json=payload, headers=header)
print(r.json()) # 打印接口請求返回結果
if __name__ == "__main__":
statis = {"sum": 29,"fail": 2,"ratio": "93.10%"}
nail_inform(statis=statis)
注:源碼如上,具體測試參數請從測試結果獲取
自動化測試詳情通知
發送情況如下: