这里使用安卓模拟器自动实现qq登录,并且发一条说说,教程开始之前要安装好python开发环境:在win7和ubuntu系统安装Python开发环境,和安卓模拟器:使用夜神安卓模拟器创建安卓虚拟机
使用python实现对安卓模拟器的自动化操作安装完成,就首先打开Pycharm新建python项目,最好是在虚拟环境下面进行的,不影响系统的配置,hello.py就是写代码的,pwd是读取密码
使用python实现对安卓模拟器的自动化操作 使用python实现对安卓模拟器的自动化操作建好项目,在命令行安装需要用的环境,
uiautomator2,pillow 这两个模块,在Pycharm的Terminal命令窗口用pip安装,这个在安装python环境的时候默认安装了的,
使用python实现对安卓模拟器的自动化操作<pre style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">1#两条安装的命令,依次输入
2pip install --upgrade --pre uiautomator2
3
4pip install pillow
</pre>
安装好依赖模块,还要在本地模拟器的adb做关联文件的安装,用python -m uiautomator2 init 测试已连接的所有设备。
初始化这时候会自动安装这几个文件,因为有些文件是要连接github会出现不稳定的情况,多尝试几次就好,出现图片的界面,就说明初始化成功了。
uiautomator-server、
atx-agent、
openstf/minicap、
openstf/minitouch
使用python实现对安卓模拟器的自动化操作打开Pycharm这时候还要安装一个叫weditor
的模块,同样使用pip安装,
<pre style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">1pip install -U weditor
</pre>
命令行启动 python -m weditor 会自动打开浏览器,输入设备的ip或者序列号,点击Connect即可,在代码需要用到模拟器的属性。
使用python实现对安卓模拟器的自动化操作在hello.py需要写的逻辑代码:
<pre style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"> import uiautomator2 as u2
def funpwd():
这里是获取QQ的密码,在pwd.txt文件保存,下面的文件路径也要做对应的修改。
f = open(r"C:UsersAdministratorPycharmProjects estpwd.txt", "r")
txt = f.read()
f.close()
return txt
pwd = funpwd()
这里要根据具体情况修改IP地址
d = u2.connect('192.168.0.103')
d(text="QQ").click()
d(text="登 录").click()
d(text=u"QQ号/手机号/邮箱").set_text("1922820882")
d(resourceId="com.tencent.mobileqq:id/password").set_text(pwd)
d(resourceId="com.tencent.mobileqq:id/login").click()
d(text="动态").click()
d(text="好友动态").click()
d(description=u"说说,").click()
d(resourceId="com.tencent.mobileqq:id/name", text=u"分享新鲜事…").click()
d(resourceId="com.tencent.mobileqq:id/name", text=u"分享新鲜事...").set_text("Hello ")
d(resourceId="com.tencent.mobileqq:id/ivTitleBtnRightText").click()
d(resourceId="com.tencent.mobileqq:id/ivTitleBtnLeft").click()
d(resourceId="com.tencent.mobileqq:id/ivTitleBtnLeft").click()
</pre>
现在就是直接运行hello.py,再看模拟器就可以有效果。
使用python实现对安卓模拟器的自动化操作<pre class="ql-align-justify" style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">因为是模拟器的缘故,有些操作会跟真实机器有很大区别,这里是uiautomator2官方的gihub地址,有很多功能都可以尝试。https://github.com/openatx/uiautomator2</pre>
网友评论