• appium+android测试环境安装


    1. jdk配置

    一、背景

    • JDK已经更新到12了,但是由于很多工具仍然未及时更新,故推荐最稳定的JDK版本1.8.x;
    • JDK需要配置通常情况下,JDK配置分为三项:
      • JAVA_HOME:某些软件仍然需要
      • CLASSPATH:某些Java WEB项目部署需要
      • PATH:都需要(O(∩_∩)O哈哈~)

    二、安装

     
    要注册oracle账户才能下载
    • 这里选择自己操作系统对应的版本,如果是32位的操作系统,就选择32位的;如果是64位的就选择64位
    • 点我查看系统版本

    三、配置

    1. 解压

    解压到 C:Program Files (x86)Java

    2. 配置

    右键计算机 > 属性 > 高级系统设置 > 环境变量 > 系统变量 进行设置


     
    右键计算机选择属性
     
    在系统变量里面进行设置

    3. 环境变量设置

    • 新建JAVA_HOME: C:Program Files (x86)Javajdk1.8.0_171


       
      image.png
    • 新建CLASSPATH:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;
     
    image.png
    • PATH环境添加:;%JAVA_HOME%BIN;%JAVA_HOME%JREBIN;


       
      image.png

    CLASSPATH如果存在,就直接添加

    4. 验证

    • 输入:java -version
    • 输入:javac -version
    • 如图显示后,即可正常
     
     


    2. 安卓sdk配置

    一、 简介

    Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件夹中,它是一个非常强大的命令行工具,通过这个工具用来连接电脑和Android设备(手机、电脑、电视、平板、电视盒子等)。

    二、安装

        1. 下载安装包:

        链接: https://pan.baidu.com/s/1ar6OPXCRohYXFAa83wmoxQ 

        提取码: 54zh 

        2. 解压文件包到固定位置:D:android-sdk-windows

     
     

          3. 新建a环境变量;将b c环境变量添加到path环境下

                    * a. 添加环境变量:

                                变量名:ANDROID_HOME

                                变量值:D:android-sdk-windows

                    * b.  在path目录最后面添加:%ANDROID_HOME% ools;%ANDROID_HOME%platform-tools;

     
     

                4. 打开命令提示符:win键+R,并输入“cmd”

                5. 在cmd输入命令验证添加环境变量是否成功:adb version

     
    查看adb环境是否配置成功

    三、准备模拟器

        1. 下载并安装雷电模拟器:http://www.ldmnq.com/

        2. 安装完成后,我们需要查看雷电模拟器是否连接adb,在cmd中输入命令:adb devices

     
    查看模拟器是否安装成功

    四、常用命令

        4.1 adb kill-server和adb start-server

            关闭adb server和开启adb server。

            有时候ADB Server会出现异常故障,我们组需要使用上述命令重启ADB Server。

     
     

        4.2 adb devices

                查看当前PC端连接有多少设备,通常使用此命令判断设备是否连接上电脑。

     
     

        4.3 adb logcat

                获取设备运行日志。通过该命令捕获安卓APP崩溃时的异常信息,帮助问题定位。

     
     

                然后找到并打开日志,分析其中异常信息。

     
     

        4.4 adb install

                栗子:adb install xxx.apk

                作用:给安卓设备安装xxx软件。运行命令后,有些手机手动确认允许电脑安装软件。

     
     

        4.5 adb pull

            栗子:adb pull /sdcard/123.txt C://abc

            作用:将设备文件/sdcard/文件夹下的123.txt文件复制到电脑的C盘adb文件夹下。

        4.6 adb push

            栗子:adb push C://123.txt /sdcard/

            作用:将电脑C盘目录下的123.txt文件复制到设备/sdcard/下。

        4.7 adb shell

            进入安卓设备的shell终端。安卓是给予Linux开发的,每一个安卓设备都自带shell终端。

     
     

            我们可以使用shell终端来进行各项操作,比如查看文件目录:ls

     
     

            或者可以查看安卓手机运行状态:top

     
     

             还可以查看手机剩余运行内容:free -m

     
     

              还可以查看手机剩余存储空间:df

     
     

    3. appium-desktop安装


    4. 安装appium的安卓客户端


    - pip3 install Appium-Python-Client -i https://pypi.tuna.tsinghua.edu.cn/simple


    5. 安装安卓模拟器


    - 下载并安装雷电模拟器:http://www.ldmnq.com/
    - 打开雷电模拟器


    6. 安装被测APP


    传送门:链接: https://pan.baidu.com/s/1Yexgofqhb7w3F1U9RTBW_w 提取码: fv7s


    7. 连接安卓设备

    1 打开appnium客户端,开启服务
    2 cmd-->adb devices 连接
    3 abd devices -l 查看手机的信息


    8. 编写appium的python代码

    # 1.导入appium的webdriver
    from appium import webdriver
    
    def get_driver():
        """
            获取设备driver
        """
        desired_caps = {}
        desired_caps['platformName'] = 'Android'                    # 打开什么平台的app,固定的 > 启动安卓平台
        desired_caps['platformVersion'] = '5.1.1'                   # 安卓系统的版本号:adb shell getprop ro.build.version.release
        desired_caps['deviceName'] = 'vivo x6plus d'                # 手机/模拟器的型号:adb shell getprop ro.product.model
        desired_caps['appPackage'] = 'io.appium.android.apis'       # app的名字:adb shell dumpsys activity | findstr "mFocusedActivity"
        desired_caps['appActivity'] = '.ApiDemos'                   # app的启动页名字:adb shell dumpsys activity | findstr "mFocusedActivity"
        desired_caps['unicodeKeyboard'] = True                      # 为了支持中文
        desired_caps['resetKeyboard'] = True                        # 设置成appium自带的键盘
    
        # 去打开app,并且返回当前app的操作对象
        driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    
        return driver
    
    def test():
        """
            查找单个元素
        """
        # 获取driver
        driver = get_driver()
    
        #  通过id获取元素:最准确
        app = driver.find_element_by_id("android:id/text1")
        app.click()
    
        # 返回键
        driver.back()
    
        # 通过text获取元素
        Animation = driver.find_element_by_android_uiautomator('new UiSelector().text("Animation")')
        Animation.click()
    
        # 返回键
        driver.back()
    
        # 通过content-desc来获取元素
        app = driver.find_element_by_accessibility_id("App")
        app.click()
    
        # 返回键
        driver.back()
    
        # 通过xpath获取:使用最多
        media = driver.find_element_by_xpath("//android.widget.TextView[@text='Media' and @content-desc='Media']")
        media.click()
    
    
    if __name__ == "__main__":
        test()

    10 adb部分命令

    Adb devices --查看已经连接的设备 
    adb version  --查看版本号
    adb shell pm list package  以列表的方式显示所有的包名
        -s 查看系统的应用
        -3 查看第三方的软件
        -f 显示所有软件的包的路径
    
    adb install 对测试机的操作
    adb install xxx.apk--给安卓设备安装xxx软件。运行命令后,有些手机手动确认允许电脑安装软件
    adb pull 
    adb pull /sdcard/123.txt C://abc
    
    adb push
    adb push C://123.txt /sdcard/--将电脑C盘目录下的123.txt文件复制到设备/sdcard/下。
    
    adb shell  进入安卓设备的shell终端。安卓是给予Linux开发的,每一个安卓设备都自带shell终端。
    我们可以使用shell终端来进行各项操作,比如查看文件目录:ls
    或者可以查看安卓手机运行状态:top
    还可以查看手机剩余运行内容:free -m
     还可以查看手机剩余存储空间:df
    
    
        desired_caps = {}
        desired_caps['platformName'] = 'Android'                    # 打开什么平台的app,固定的 > 启动安卓平台
        desired_caps['platformVersion'] = '5.1.1'                   # 安卓系统的版本号:adb shell getprop ro.build.version.release
        desired_caps['deviceName'] = 'vivo x6plus d'                # 手机/模拟器的型号:adb shell getprop ro.product.model
        desired_caps['appPackage'] = 'io.appium.android.apis'       # app的名字:adb shell dumpsys activity | findstr "mFocusedActivity"
        desired_caps['appActivity'] = '.ApiDemos'                   # app的启动页名字:adb shell dumpsys activity | findstr "mFocusedActivity"
        desired_caps['unicodeKeyboard'] = True                      # 为了支持中文
        desired_caps['resetKeyboard'] = True                        #

    参考:https://www.jianshu.com/p/a0992243172a

  • 相关阅读:
    依赖注入
    Java实现一个字符串的反转
    LRU缓存介绍与实现 (Java)
    Java中HashMap遍历的两种方法(转)
    java中判断字符串是否为只包含数字
    LeakCanary 的使用遇到的弯路
    转: BAT等研发团队的技术博客
    转: android 内存检测工具 LeakCanary 说明
    转:安桌开发开源库的推荐1
    转: 技术牛人博客
  • 原文地址:https://www.cnblogs.com/ouyang99-/p/11958420.html
Copyright © 2020-2023  润新知