当前位置: 移动技术网 > IT编程>脚本编程>Python > python +uiautomator 安卓UI控件操作

python +uiautomator 安卓UI控件操作

2019年03月30日  | 移动技术网IT编程  | 我要评论

高清电影下载网站推荐,普宁寺导游词,人与动物快播

一、搭建环境

  准备: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"))

 

  

  

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网