首页 / PYTHON / python微信接口测试代码
python微信接口测试代码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python微信接口测试代码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含9019字,纯文字阅读大概需要13分钟。
内容图文
![python微信接口测试代码](/upload/InfoBanner/zyjiaocheng/776/e5e4ba144e364cd69a9b5f6f84862820.jpg)
-- coding:utf-8 --
import sqlite3
import sys
reload (sys)
sys.setdefaultencoding(‘utf8’)
import itchat
from itchat.content import *
import random
import time
############################################################################################
DB APIs
############################################################################################
def GetMaxID(tableName):
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘SELECT MAX(ID) AS MAXID FROM ‘’’ + tableName
cursor = c.execute(strSql)
retData = c.fetchall()
print (len(retData))
print (retData[0][0])
conn.commit()
conn.close()
if retData[0][0] is None:
return 0
return retData[0][0]
def AddMenu(menuName, wFactor):
print (‘enter AddMenu…’)
maxId = GetMaxID(‘ALL_MENU’)
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘INSERT INTO ALL_MENU(ID, NAME, WFACTOR) VALUES(?, ?, ?)’’’
v = (maxId + 1, menuName, wFactor)
c.execute(strSql, v)
conn.commit()
conn.close()
def DelMenu(id):
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
if id > 0:
strSql = ‘’‘DELETE FROM ALL_MENU WHERE ID = ‘’’ + str(id)
else:
strSql = ‘’‘DELETE FROM ALL_MENU’’’
c.execute(strSql)
conn.commit()
conn.close()
def ModifyMenu(id, menuName, wFactor):
print (‘enter AddMenu…’)
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘UPDATE ALL_MENU SET NAME = ?, WFACTOR = ? WHERE ID = ?’’’
v = (menuName, wFactor, id)
c.execute(strSql, v)
conn.commit()
conn.close()
def GetAllMenu():
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘SELECT * FROM ALL_MENU’’’
c.execute(strSql)
retData = c.fetchall()
print (len(retData))
print (retData)
conn.commit()
conn.close()
return retData
def GetLunchResult(num):
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘SELECT * FROM LUNCH_RESULT ORDER BY ID DESC LIMIT ‘’’ + str(num)
c.execute(strSql)
retData = c.fetchall()
print (len(retData))
print (retData)
conn.commit()
conn.close()
if len(retData) == 0:
return None
return retData
def AddLunchResult(menuName, aaMode, Date):
maxId = GetMaxID(‘LUNCH_RESULT’)
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘INSERT INTO LUNCH_RESULT(ID, MENU, AAMODE, DATE) VALUES(?, ?, ?, ?)’’’
v = (maxId + 1, menuName, aaMode, Date)
c.execute(strSql, v)
conn.commit()
conn.close()
def DelAllLunchResult():
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘DELETE FROM LUNCH_RESULT’’’
c.execute(strSql)
conn.commit()
conn.close()
def GetAllUser():
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘SELECT * FROM USER’’’
c.execute(strSql)
retData = c.fetchall()
print (len(retData))
print (retData)
conn.commit()
conn.close()
return retData
def AddUser(name, wFactor):
maxId = GetMaxID(‘USER’)
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘INSERT INTO USER(ID, NAME, WFACTOR) VALUES(?, ?, ?)’’’
v = (maxId + 1, name, wFactor)
c.execute(strSql, v)
conn.commit()
conn.close()
def DelAllUsers():
conn = sqlite3.connect(‘antony.db’)
c = conn.cursor()
strSql = ‘’‘DELETE FROM USER’’’
c.execute(strSql)
conn.commit()
conn.close()
############################################################################################
############################################################################################
############################################################################################
APP apis
############################################################################################
def IsMenuGenerated():
todayDate = time.strftime(’%Y-%m-%d’,time.localtime(time.time()))
menuResult = GetLunchResult(1)
if menuResult is None:
return False
if menuResult[0][3] is None:
return False
if cmp(menuResult[0][3], todayDate):
return False
return True
def GenerateLunchMsg():
curMenu = GetLunchResult(1)
AAMode = curMenu[0][2]
if cmp(AAMode, ‘AA’):
AAMode += ‘请客’
msg1 = ‘大哥,我们今天中午去’ + curMenu[0][1] + ', ’ + AAMode + ‘, 你觉得可以?’
msg2 = ‘大哥说,今天中午去’ + curMenu[0][1] + ', ’ + AAMode + ‘!!’
return msg1, msg2
def DisplayLunchResult(num):
allResult = GetLunchResult(num)
retData = ‘’
for item in allResult:
retData += ‘[’ + item[1] + ', ’ + item[2] + ', ’ + item[3] + ‘]\n’
return retData
def DisplayAllMenus():
retData = ‘’
menuList = GetAllMenu()
for item in menuList:
retData += ‘[’ + str(item[0]) + ', ’ + item[1] + ', ’ + str(item[2]) + ']\n ’
return retData
def DisplayAllUsers():
retData = ‘’
userList = GetAllUser()
for item in userList:
retData += ‘[’ + str(item[0]) + ', ’ + item[1] + ', ’ + str(item[2]) + ']\n ’
return retData
def DynamicMenuFactors(chooseName):
print ‘enter ActiveMenuFactors…’
menuList = GetAllMenu()
print len(menuList)
totalFactor = 0
for item in menuList:
wFactor = item[2] + 1
if item[1] == chooseName:
wFactor -= len(menuList)
if wFactor < 1:
wFactor = 1
totalFactor += wFactor
ModifyMenu(item[0], item[1], wFactor)
if 10 * len(memuList) - totalFactor >= 5:
for item in menuList:
ModifyMenu(item[0], item[1], wFactor+1)
############################################################################################
############################################################################################
############################################################################################
process actions
############################################################################################
def ProcShowHistory(msg):
param = msg.split(’#’, 1)
if len(param) == 2:
try:
menuNum = int(param[1])
except IOError:
return ‘’
else:
menuNum = 1
if menuNum > 5:
return DisplayLunchResult(5)
else:
return DisplayLunchResult(menuNum)
def ProcShowAllMenus():
return DisplayAllMenus()
def ProcShowAllUsers():
return DisplayAllUsers()
############################################################################################
############################################################################################
def GetAllGroupMembers():
GroupMembers = []
loginUser = itchat.search_friends()
if not len(loginUser):
print ‘ERROR: cannot get login user!!’
return ‘’
GroupMembers.append(loginUser[‘UserName’])
#add all user to admin list
userList = GetAllUser()
for item in userList:
userItem = itchat.search_friends(name = item[1])
#print userItem
if len(userItem):
GroupMembers.append(userItem[0]['UserName'])
#end of add lucas to admin list
return GroupMembers
@itchat.msg_register(TEXT)
def simple_reply(msg):
adminUsers = GetAllGroupMembers()
print '\n*************************************************************'
print 'received from : [%s] [%s]' % (msg['FromUserName'], msg["Text"])
if not msg['FromUserName'] in adminUsers :
print 'not admin user, ignore...'
return ''
if msg["Text"].upper().find('LUNCH') >= 0 or msg["Text"].upper().find('饭') >= 0:
GenerateMenuAndNotify()
elif msg["Text"].upper().find('SHOW HIST') >= 0:
return ProcShowHistory(msg["Text"].upper())
elif msg["Text"].upper().find('SHOW MENUS') >= 0:
return ProcShowAllMenus()
elif msg["Text"].upper().find('SHOW USERS') >= 0:
return ProcShowAllUsers()
else:
print 'not support...'
return '哦,然后呢?'
return ''
def send_move(recverName, msg):
users = itchat.search_friends(name=recverName) # 使用备注名来查找实际用户名
#获取好友全部信息,返回一个列表,列表内是一个字典
#print users
#获取UserName
,用于发送消息
userName = users[0][‘UserName’]
itchat.send(msg,toUserName = userName)
print ‘send to [’ + userName + ‘] succeed!’
def sendByUsername(sendTo, msg):
itchat.send(msg,toUserName = sendTo)
print ‘send to [’ + sendTo + ‘] succeed!’
def GetTodaysMenu():
allDBMenus = GetAllMenu()
allMenuList = []
for item in allDBMenus :
for i in range(item[2]) :
allMenuList.append(item[1])
#print allMenuList
random.shuffle(allMenuList)
#print allMenuList
return random.choice(allMenuList)
def WhosGoingToPay():
userList = GetAllUser()
allPayModeList = []
for item in userList:
for i in range(item[2]) :
allPayModeList.append(item[1])
#print allPayModeList
random.shuffle(allPayModeList)
#print allPayModeList
return random.choice(allPayModeList)
def GenerateMenuAndNotify():
msgToBigBrother = ‘’
lunchNotifyMsg = ‘’
todayDate = time.strftime(’%Y-%m-%d’,time.localtime(time.time()))
if IsMenuGenerated() == False:
print ‘have not generated lunch menu…’
chooseItem = GetTodaysMenu()
payMode = WhosGoingToPay()
print ‘menu for today:’
print chooseItem
print payMode
print todayDate
AddLunchResult(chooseItem, payMode, todayDate)
DynamicMenuFactors(chooseItem)
msgToBigBrother, lunchNotifyMsg = GenerateLunchMsg()
#send_move('刘大', msgToBigBrother)
#send_move('张大', lunchNotifyMsg)
#send_move('刘鹏飞', lunchNotifyMsg)
#send_move('郭三', lunchNotifyMsg)
#send_move('姜四', lunchNotifyMsg)
adminUsers = GetAllGroupMembers()
for item in adminUsers:
sendByUsername(item, lunchNotifyMsg)
if name==‘main’:
#ms1,ms2 = GenerateLunchMsg()
#print ms1
#print ms2
itchat.auto_login(hotReload=True) # 首次扫描登录后后续自动登录
itchat.run()
print 'start running...'
内容总结
以上是互联网集市为您收集整理的python微信接口测试代码全部内容,希望文章能够帮你解决python微信接口测试代码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。