前言

Itchat是一个开源的微信个人接口。使用python调用itchatAPI,可以完成一个能够处理所有信息的微信机器人。比如说你可以写python,利用itchat,去搜索特定的人,然后向这个人发送消息、图片、视频、附件等等。

应用场景

在做自动化测试框架时,往往如果有case没有通过时,一般都会发邮件,或者发送短信进行通知相关人员。因为微信毕竟是现在非常主流的社交工具。如果在case有失败的情况下,如果能通过微信发送信息到相关人,岂不是更好。如果能把自动化运行的报告,最为附件发送给相应人员,那就更加perfect了。

 

冲着这2点(1是发微信文本消息,2是发微信附件),就是我想了解itchat的原因。

参考

这是网上找的资料。(我只是看了第1个,第2个,第3个)

1.       https://www.cnblogs.com/chenbei-blog/p/7799352.html

这个比较适合入门看,基本上看这里,就够用了。

2.       http://itchat.readthedocs.io/zh/latest

这里面讲的更全面一点,当然也稍微难一点。

3.       http://itchat.readthedocs.io/zh/latest/api/

这里面列举了itchat的所有API。有需求,就可以在这里直接找你需要的API

4.       http://python.jobbole.com/86532/

这篇文章,我只是瞄了一眼,没有细看。貌似有写很意思的功能,如群发助手、好友删除检测。哈哈哈,以后有时间、有需求,再看。

5.       https://www.cnblogs.com/Chenjiabing/p/6907397.html

这个文章的笔记,整理的比较细和全面。

发送文本消息《itchat-发送消息.py

如何发送文本附件《itchat-发送附件.py

如果需要发送附件的话,就是这么简单,几行代码就搞定了。

遗留问题:登录需要扫二维码

遗留问题:登录需要扫二维码

到这里,利用itchat,在python中发送文本消息、以及附件那时相当简单,只有几行代码。

但是这里有个比较悲催的问题:登录。

 

Itchat提供了2个登录的方法,login()auto_login()

2个方法都会通过微信扫描二维码登录,但是这种登录的方式确实短时间的登录,并不会保留登录的状态,也就是下次登录时还是需要扫描二维码。

 

auto_login()方法,如果加上hotReload==True。下面是官网的截图说明。

所以它这么说,如果程序关闭,那么在短时间内重新启动程序可以不用重新扫码(但是有可能在手机上会弹出提示,让你确认登录。就像在PC上登录网页版,会在手机上弹出确认登录的提示一样)。那么如果程序不关闭一直运行着,就不用重新扫码。

 

但是考虑到自动化测试的可持续集成,我可能定时每隔30分钟运行一次。但是30分钟以后,又要进行扫码,这个很显然是不现实的。上面官方说,一定时间内开启,不需要重新扫码,但是没有说清楚,这个一定时间到底是多久。

 

 

我尝试去找用户名、密码的登录方式,但是没有找到。我只找到了login()auto_login()两个方法。希望itchat以后,可以有密码的登录方式。或者由于我的原因没找到这个方式,欢迎告诉我。

登录的API官方说明

下面是这2API的官方说明:


代码

这里都是我从资料中找的代码,简单练了练手。这边把他截图出来。

itchat-发送微信消息提醒【偏基础】.py

itchat-用户搜索.py

这里就不截图了,上面《itchat-发送微信消息提醒【偏基础】.py》中已经包括了。

itchat-发送消息.py

这里就不截图了,上面已有。

itchat-发送附件.py

这里就不截图了,上面已有。

itchat-各类型消息的注册.py

itchat-获取别人发给我的信息,并自动回复.py

itchat-退出及登陆完成后调用特定方法.py

扩展

在官方网站上,还有一个图灵机器人的交互的例子,好像蛮有意思的。以后空了,可以看看。

http://itchat.readthedocs.io/zh/latest/tutorial/tutorial0/