Snake's Home

调用微信接口实现测试监控

本文发布在 调用微信接口实现测试监控

最近写了些东东,来监控各种异常。传统的发邮件时效性不太好,更何况每天那么多邮件。
想到用微信的企业号来发消息。最重要一点,它是免费的。

首先要注册一个账号:
here

选择企业号

要填手机号,(微信需要绑定银行卡),扫描一下。

填写完公众号信息,就差不多看到曙光了。

创建一个应用,本人选择的是消息型

设置管理员:
指定应用的管理员。点击设置-> 权限管理 -> 管理 -> 新建管理组 –> 添加管理员和权限。然后就会获得corpid 和 sceret。记录下来,这个很重要。后面代码中用得到。

然后就是敲代码了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/python
# coding=utf-8
import sys
import urllib2
import time
import json
import requests

__author__ = 'anderson'

reload(sys)
sys.setdefaultencoding('utf-8')

CORPID = "wx1817a90bedc96275"
CORPSECRET = "cL30j1u2kuPvDo3QJuZCV6IOrBNKsUKRkI5Wo_3Aru_mkOIePs2Jso83BWzz93o-"
BASEURL = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}'.format(CORPID, CORPSECRET)
URL = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s"


class Token(object):
# get token
def __init__(self):

self.expire_time = sys.maxint

def get_token(self):
if self.expire_time > time.time():
request = urllib2.Request(BASEURL)
response = urllib2.urlopen(request)
result_string = response.read().strip()
result_json = json.loads(result_string)
if 'errcode' in result_json.keys():
print >> result_json['errmsg'], sys.stderr
sys.exit(1)
self.expire_time = time.time() + result_json['expires_in']
self.access_token = result_json['access_token']
return self.access_token


def send_message(title, content):
team_token = Token().get_token()
print team_token
url = URL % (team_token)
wechat_json = {
"toparty": "1",
"msgtype": "text",
"agentid": "1",
"text": {
"content": "title:{0}\n content:{1}".format(title, content)
},
"safe": "0"
}
response = requests.post(url, data=json.dumps(wechat_json, ensure_ascii=False, encoding='utf8'))
print response.json()


if __name__ == '__main__':
send_message("test", "just test")

运行一下,就可以收到消息了:

可以设置各种群组,接收消息的人。
结合Jenkins, 灵活运用到测试中来