最近开始做app的自动化,网上找了很多教程都是java的,刚刚开始我也是用java写的,但是java不是很熟悉,导致每次报错都要搞很久才能解决。人生苦短,于是换回了python。
appium的环境搭建真是麻烦。搞了一晚上终于解决了,第一个demo也能跑成功了。
我是用模拟器去跑的,不推荐安卓远程的模拟器。太吃我电脑内存了,而且创建一个模拟器需要时间太久了。推荐使用genymotion模拟器的。
首先连接设备需要的一些字段内容
1.设备名deviceName
模拟器打开后 在cmd窗口中执行
adb devices
可以获取到当前的设备名称。一般模拟器的话就是一个内网IP+端口的形式,,真机的话是设备的uid吧
2.安装包的名字appPackage
可以用aapt获取包名 命令如下:aapt dump badging apk包名
一些元素的查找可以用SDK tools目录下的工具uiautomatorviewer.bat 去查找,相当于平时浏览器用的firebug
最新版本的appium的api通过name的方式已经废弃了,所以我用id的方式简单的实现了计算器点击的操作
#coding=utf-8
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0'
desired_caps['deviceName'] = '192.168.174.101:5555'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.find_element_by_id("digit_1").click()
driver.find_element_by_id("op_add").click()
driver.find_element_by_id("digit_2").click()
driver.find_element_by_id("eq").click()
driver.quit()