一、搭建环境

  准备:win7、JDK、androidSDK(adt-bundle-windows-x86_64-20140702\sdk)、Appium、安卓模拟器(真机也可以),可以到这个地址下载https://pan.baidu.com/s/1NV5ncqRel4bkGoVzLyXuIg      提取码:6bst

  1.安装Android模拟器: TianTian模拟器

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  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   连接天天模拟器

    如下表是连接成功

     python +uiautomator 安卓UI控件操作 Python

  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"))

 

  

  

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄