Itchat是一个开源的微信我的接口。使用python调用itchat的API,能够完成一个可以处理全部信息的微信机器人。好比说你能够写python,利用itchat,去搜索特定的人,而后向这我的发送消息、图片、视频、附件等等。html
在作自动化测试框架时,每每若是有case没有经过时,通常都会发邮件,或者发送短信进行通知相关人员。由于微信毕竟是如今很是主流的社交工具。若是在case有失败的状况下,若是能经过微信发送信息到相关人,岂不是更好。若是能把自动化运行的报告,最为附件发送给相应人员,那就更加perfect了。python
冲着这2点(1是发微信文本消息,2是发微信附件),就是我想了解itchat的缘由。api
这是网上找的资料。(我只是看了第1个,第2个,第3个)微信
1. https://www.cnblogs.com/chenbei-blog/p/7799352.html框架
这个比较适合入门看,基本上看这里,就够用了。ide
2. http://itchat.readthedocs.io/zh/latest工具
这里面讲的更全面一点,固然也稍微难一点。测试
3. http://itchat.readthedocs.io/zh/latest/api/网站
这里面列举了itchat的全部API。有需求,就能够在这里直接找你须要的API。spa
4. http://python.jobbole.com/86532/
这篇文章,我只是瞄了一眼,没有细看。貌似有写很意思的功能,如群发助手、好友删除检测。哈哈哈,之后有时间、有需求,再看。
5. https://www.cnblogs.com/Chenjiabing/p/6907397.html
这个文章的笔记,整理的比较细和全面。
若是须要发送附件的话,就是这么简单,几行代码就搞定了。
到这里,利用itchat,在python中发送文本消息、以及附件那时至关简单,只有几行代码。
可是这里有个比较悲催的问题:登陆。
Itchat提供了2个登陆的方法,login()和auto_login()。
这2个方法都会经过微信扫描二维码登陆,可是这种登陆的方式确实短期的登陆,并不会保留登陆的状态,也就是下次登陆时仍是须要扫描二维码。
用auto_login()方法,若是加上hotReload==True
。下面是官网的截图说明。
因此它这么说,若是程序关闭,那么在短期内从新启动程序能够不用从新扫码(可是有可能在手机上会弹出提示,让你确认登陆。就像在PC上登陆网页版,会在手机上弹出确认登陆的提示同样)。那么若是程序不关闭一直运行着,就不用从新扫码。
可是考虑到自动化测试的可持续集成,我可能定时每隔30分钟运行一次。可是30分钟之后,又要进行扫码,这个很显然是不现实的。上面官方说,必定时间内开启,不须要从新扫码,可是没有说清楚,这个必定时间究竟是多久。
我尝试去找用户名、密码的登陆方式,可是没有找到。我只找到了login()和auto_login()两个方法。但愿itchat之后,能够有密码的登陆方式。或者因为个人缘由没找到这个方式,欢迎告诉我。
下面是这2个API的官方说明:
这里都是我从资料中找的代码,简单练了练手。这边把他截图出来。
这里就不截图了,上面《itchat-发送微信消息提醒【偏基础】.py》中已经包括了。
这里就不截图了,上面已有。
这里就不截图了,上面已有。
在官方网站上,还有一个图灵机器人的交互的例子,好像蛮有意思的。之后空了,能够看看。
http://itchat.readthedocs.io/zh/latest/tutorial/tutorial0/