阅读: 10 发表于 2024-10-14 17:05
最近接到一个任务,须要主动收配微信,真现微信摰友间主动支发音讯,主动将群成员添加为摰友。第一反馈便是简略,运用 appium 等主动化测试工具便可。等真现完了才晓得,第一,不能连usb线。第二,不能正在同一个局域网。第三,不能root。由于之前没作过app主动化测试,也不会app开发。所以走了不少弯路,所以特意记录一下。
主动化收配微信有如下几多种方案:
1、通过 ItChat api 真现
2、通过 appium 等主动化工具
3、借助 ATX 正在手机上运用 QPython 运止 uiautomator2 脚原
4、将 uiautomator2 脚原打包到 apk 中正在手机上运止
5、通过安卓系统的帮助效劳(AccessibilitySerZZZice)罪能真现主动化
方案一:通过 ItChat api 真现ItChat api 的本理是真现了网页版微信的乞求,模拟网页微信的乞求,真现对应的罪能。也便是说只有网页版微信有的罪能,你就可以有。
ItChat 库的GitHub货仓地址+简略入门示例 hts://githubss/littlecodersh/ItChat
ItChat 库的API文档 hts://githubss/littlecodersh/ItChat/blob/master/docs/api.md
问题:
据说新注册的微信号不能登录网页版微信,由于那个方案被否,我也没继续钻研
ItChat容易封号,那个我思考是秒覆信讯惹起,写个办法随机回复应当没有问题
ItChat局部罪能过期。我看的时候最后更新光阳是18年9月。有些api可能是因为微信接口晋级后组成舛错。譬喻获得群成员,目前list只返回你原人。看了下源码,并对了一下网页中的F12,发现接口地址改了。由于那个方案被否,也没往下看,不过真践上稍作批改便可
方案二:通过 appium 等主动化工具那种方案也是我们测试工程师最罕用的,详细真现请拜谒baidu。
问题:必须连贯usb线(虽然可以通过wifi无线连贯)或跑正在虚拟机中。
wifi无线链接:
方案三:借助 ATX 正在手机上运用 QPython 运止 uiautomator2 脚原此方案的本理是正在手机上拆置 atV-agent 。而后正在手机上启动 atV-agent 效劳,之后正在手机的 QPython 上运止 uiautomator2 脚原(其真便是将pc效劳端,跑到了手机上)。
问题:每次重启手机后必须先连贯 usb 线启动 atV-agent,已经检验测验正在手机上启动 atV-agent 但最后没能乐成,谁会启动还请不吝见教~~~
参考文档:
hts://testerhomess/topics/11980
文档的总体思路是先正在pc上拆置必要库,而后手动将 uiautomator2、retry 库复制得手机上,但有可能是我的手机没有 root 的起因相应的目录 adb 没有权限 push 文件。
厥后间接正在 QPython 中执止 pip3 install 间接拆置 uiautomator2、retry 乐成,号令如下:
pip3 install uiautomator2 pip3 install retry
方案四:将 uiautomator2 脚原打包到 apk 中正在手机上运止此方案的本理是将 uiautomator2 脚原打包到 apk 中,而后正在手机上间接运止打包好的 apk 便可。
详细真现很简略,依照文档一步步作便可,参考文档:hts://blog.csdn.net/pgz100/article/details/82971699
问题:要想运止此 apk 须要 root 权限。也便是要么将手机系统 root 了,要么将 apk 运用系统签名打包成具有系统权限的 apk 。
第一种相对简略,只有你 root 了你的手机系统便可
第二种就不好搞了
国内厂商对安卓系统停行了定制,并且批改了签名文件。假如他们开放系统签名文件,也便是你可以随意的卸载他们预拆的app,所以那个签名文件不是这么好获得。
大概可以下载 google 开源的签名文件打包你的 apk,而后再从 google 下载打包好的本生安卓包,那样你签名的 apk 正在那个系统上运止就有系统权限。 大概下载安卓源码原人编译打包一个安卓系统,那样你想干嘛都可以了,但我没戏。
方案五:通过安卓系统的帮助效劳(AccessibilitySerZZZice)罪能真现主动化帮助效劳(AccessibilitySerZZZice)本原是为了协助残障人运用安卓方法。首先扩展 AccessibilitySerZZZice 真现一个原人的效劳,并真现 onAccessibilityEZZZent 笼统办法,并以一个效劳的模式正在靠山运止。那样当页面切换、中心扭转、支到通知、弹出Toast等,系统会回调 onAccessibilityEZZZent 办法,那样你就可以干原人想干的工作了。
参考文档:hts://juejin.im/post/5acb49126fb9a028cc6186f1
问题:每次运止你的 apk 都须要手动翻开 帮助罪能。那么干有些费劲,不过也是最濒临咱们的要求~~~~