zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    leetcode--Populating Next Right Pointers in Each Node II
    leetcode—Populating Next Right Pointers in Each Node
    Pascal's Triangle II
    leetcode—pascal triangle
    leetcode—triangle
    October 23rd, 2017 Week 43rd Monday
    October 22nd, 2017 Week 43rd Sunday
    October 21st 2017 Week 42nd Saturday
    October 20th 2017 Week 42nd Friday
    October 19th 2017 Week 42nd Thursday
  • 原文地址:https://www.cnblogs.com/ouyang99-/p/11958420.html
Copyright © 2011-2022 走看看