python +uiautomator 安卓UI控件操作
一、搭建环境
准备:win7、jdk、androidsdk(adt-bundle-windows-x86_64-20140702\sdk)、appium、安卓模拟器(真机也可以),可以到这个地址下载https://pan.baidu.com/s/1nv5ncqrel4bkgovzlyxuig 提取码:6bst
1.安装android模拟器: tiantian模拟器
2.安装appium服务器
3.安装jdk
4.如jdk安装在c盘,androidsdk放在c盘则按下面进行配置环境:
增加变量(系统变量处新建):java_home 值为: c:\program files\java\jdk1.8.0_51
增加变量(系统变量处新建):jre_home 值为: c:\program files\java\jre1.8.0_51
增加变量(系统变量处新建):android_home 值为:c:\adt-bundle-windows-x86_64-20140702\sdk
添加path环境:c:\adt-bundle-windows-x86_64-20140702\sdk\platform-tools;
c:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4w;
5.开启安卓模拟器或者电脑连接手机(要保证已经安装了驱动,开启调试)
6.cmd命令行下查看
adb devices 查看连接的安卓设备
adb connect 127.0.0.1:6555 连接天天模拟器
如下表是连接成功
7.经过以上步骤说明已经成功和手机连接了(模拟器和真机都可以)
二、安装appium的python客户端库 cmd命令:pip install appium-python-client
三、写python代码
from appium import webdriver from time import sleep import unittest import warnings #用于屏蔽信息 class androidtest(unittest.testcase): """ android测试用例 """ def setup(self): warnings.simplefilter('ignore', resourcewarning)#屏蔽警告信息 desired_cap = {} desired_cap['platformname'] = 'android' #操作系统类型 desired_cap['devicename'] = 'android emulator'#设备名称,随意也可以 # 方法1:指定打开的app,针对没有安装被测app # desired_cap['app'] = r"e:\share\app\apks\apidemos-debug.apk" # 方法2:指定打开的app,针对已经安装了app desired_cap['apppackage'] = 'io.appium.android.apis'#app的包名 desired_cap['appactivity'] = "io.appium.android.apis.apidemos"#打开的ui界面 #4723为appium服务器的端口号,需要根据实际设定 self.driver = webdriver.remote('http://127.0.0.1:4723/wd/hub', desired_cap) self.driver.implicitly_wait(10) #定位元素超时时间 def teardown(self): sleep(2) #关闭app self.driver.quit() def test1(self): # 根据class和text属性 # el = self.driver.find_element_by_xpath("//android.widget.textview[@text='animation']") #定位控件 el = self.driver.find_element_by_xpath("//android.widget.textview[@text='animation' and @index='1']") # 获得控件的文本 print(el.text) print(el.get_attribute("text"))
下一篇: python实现图片批量剪切示例