用python+appium写一个在安卓模拟器上的操作

462 阅读2分钟

本文已参与[新人创作礼]活动,一起开启掘金创作之路

学了这么久,我感觉这个最有意思了,简单来说就是完成自动化操控设备的功能,我特意去搜了下这玩意儿能不能写脚本,虽然没有准确结论,但是感觉模拟操作脚本和这个好像,不过内存挂就不用想了,这个还没强大到可以截取通信。 首先是准备工作,需要安装JDK、Pycharm(python要到3.8)、Android Studio、以及Appium桌面版当然还需要安装安卓模拟器,不过在安装好Android Studio后可以从里面下载,这个之后会提到。 这里重点讲一下后俩的安装后的配置。

Android Studio

www.android-studio.org/ 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 这个是打包成apk的操作,就是那个‘hello world’那个,但是咱们用不上。

在这里插入图片描述 从这里开始一直往下下载个模拟器 下载完毕以后运行这个模拟器也是在这里 在这里插入图片描述 iphone默认是英语,想改上拉找settings里面能改语言 在这里插入图片描述 安装的时候下载sdk时没记住文件路径就在这儿找 然后配置环境变量 变量名:ANDROID_HOME 变量值:sdk的绝对路径 变量名:path 变量值:%ANDROID_HOME%\platform-tools

Appium桌面版

github.com/appium/appi… windows要下.exe的那个 下载安装好后 在这里插入图片描述 这俩默认就行,打开下面的编辑配置配置好这俩然后重新启动 在这里插入图片描述 启动服务器 在这里插入图片描述 到这里准备工作基本就完成了(jdk安装配置和pycharm比较常见就略过了) 然后编码client吧

from appium import webdriver
import time

desired_capabilities = {
    "platformName": "Android", # 操作系统
    "deviceName": "sdk_gphone_x86", #设备 ID
    "platformVersion": "11", # 设备版本号
    "noReset": True # 是否保留 session 信息 可以避免重新登录
}

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_capabilities)
print('连接到安卓模拟器')

driver.find_element_by_accessibility_id('Chrome').click()
print('打开Chrome浏览器')
time.sleep(3)

driver.find_element_by_id('com.android.chrome:id/url_bar').click()
print('查找搜索按钮')
time.sleep(3)

driver.find_element_by_id('com.android.chrome:id/url_bar').send_keys('古诗词')
print('在搜索框中输入古诗词')
time.sleep(3)

driver.keyevent(66)
print('查找古诗词')
time.sleep(3)

值得提一句的是下载appium库的库名是 Appium-Python-Client 这段代码运行会在我的安卓模拟器上打开Chrome浏览器,然后在输入框输入“古诗词”,最后搜索 得到某个元素ID的方法是打开Appium桌面版,启动检查器会话,输入模拟器信息 在这里插入图片描述 然后启动会话 在这里插入图片描述