感觉Appium太垃圾了,于是顺手学了下Airtest
-
安装并解压
官网,有很显眼的下载按钮
下载完zip文件后进行解压 -
启动自带AirtestIDE.exe
不想登录的可以跳过
因为提前通过数据线连接了手机和电脑了,所以一进去就显示已经连接到手机设备了
当然启动完再用USB线连上也是没问题的
如果是之后插上手机的话,记得刷新
双击这个框,会开始连接,等待几秒出现手机界面,与真机是同步的
对于某些手机,例如小米,在第一次使用Airtest时,请注意手机上将会弹出提示,询问你是否允许安装App,此时需要点击允许按钮。 -
打开微信
# -*- encoding=utf8 -*- __author__ = "lyy" from airtest.core.api import * auto_setup(__file__) start_app("com.tencent.mm")
-
定位
选完android会弹出这玩意,点yes,手机上也同意安装该应用
点完上面那个小标志后,光标移到那个手机界面上,就有组件详情了
所以点击红点就写好了poco(name="com.tencent.mm:id/kmv").click()
-
在pycharm中运行这段代码
安装相关依赖,东西有点多,要等一会pip install pocoui -i https://pypi.tuna.tsinghua.edu.cn/simple
然后就可以直接把AirtestIDE里的代码直接粘贴过去了
但是代码运行起来又要下东西,能咋办,下呗。。。文章来源:https://www.toymoban.com/news/detail-494983.html -
成果文章来源地址https://www.toymoban.com/news/detail-494983.html
# -*- encoding=utf8 -*- __author__ = "lyy" from airtest.core.api import * from poco.drivers.android.uiautomation import AndroidUiautomationPoco import datetime poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False) def response(text): if text == "现在什么时候了": return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") elif text == "感觉Airtest怎么样": return "只要安装exe就可以使用,很舒适,迁移到python上也只要pip装对应的包。速度也较快,但是IDE和接口的bug挺多,输入文本的API做的不太好,而且网上相关博客很少,社区不活跃" elif text == "你这个脚本的效果是什么": return "检测微信主页的可视范围内(不下滑时)的所有有未读信息的好友,判断他们的文本并进行回复" elif text == "你是谁": return "刘宇阳" elif text == "为什么能回复自己发的消息": return "因为左右两边的聊天框是同一类组件,区分起来有点麻烦;不区分也方便自己测试" else: return None if __name__ == '__main__': auto_setup(__file__) # 启动微信 start_app("com.tencent.mm") print("开始监听") while True: # 有带红点的未读新消息 if poco(name="com.tencent.mm:id/kmv").exists(): # 点击第一个红点 poco(name="com.tencent.mm:id/kmv").click() # 查看聊天界面是否有消息 if poco(name="com.tencent.mm:id/b4b").exists(): # 获得最新消息 target_msg = poco(name="com.tencent.mm:id/b4b")[-1].get_text() resp = response(target_msg) if resp != None: # 输入内容 poco(resourceId="com.tencent.mm:id/kii").click() # 使用Airtest的专用输入法Yosemite # 异常捕获解决第一次打开Yosemite输入法报错 try: text(resp, enter=False) except: text(resp, enter=False) # 点击发送 poco(resourceId="com.tencent.mm:id/b8k").click() # 点击返回到主页 poco(resourceId="com.tencent.mm:id/yn").click()
到了这里,关于Airtest手机APP自动化--操作微信(小米11)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!