zoukankan      html  css  js  c++  java
  • Appium学习之驱动真机运行

    一、Appium工具的简单原理

      Appium工具可以分为:客户端(appium-client)、服务端(appium-server)和移动设备端(模拟器或者真机)。客户端支持多语言,如:python-client、java-client、ruby-client等。服务端支持多平台,如:Windows、Mac。最后Appium支持Android和iOS系统。原理图放一下虫师的:

      

    二、Appium工具的安装

      想要将Appium跑起来,那么需要安装客户端、服务端的相关软件。客户端的根据自己需要安装不同的语言,如:Python、Java、Ruby等。服务端可以安装:appium或者appium-desktop。这里我使用:Python-client +  appium-desktop的方式进行安装。

      我的运行环境:【操作系统:win10;移动设备:真机红米note2;已安装JDK;已安装python3.7】

      2.1 安装客户端,appium-python(使用pip的方式安装)

        使用win+r 打开运行,输入cmd回车打开命令提示符页面。输入下面的命令自行安装:

    pip install appium-python-client
    

      2.2 安装服务端,appium-desktop

        下载链接:https://github.com/appium/appium-desktop/releases  我下载了exe版直接下一步进行安装。

        如果想要安装appium的,可以参考此链接进行安装:

        http://www.testclass.net/appium_base/appium-base-server

    三、服务端连接移动设备

      准备真机一台:Redmi Note 2,可传输数据线一条(如果打开了USB调试连接电脑没有反应只是显示充电,那这条数据线极可能是不能传输数据的)

      3.1 打开USB调试

        设置——我的设备——全部参数——对着“MIUI版本”那一项点7次,会提示开发者选项打开。然后回到 设置——更多设置——开发者选项,将“开启开发者选项”、“USB调试”的开关设置为开启状态。

       

      3.2 安装安卓SDK(可以对手机进行连接操作,包括获取id,设备名,包名等)

        参考教程:

        http://www.testclass.net/appium_base/appium-base-sdk

        https://www.cnblogs.com/sheseido/p/9368761.html

        1、下载安卓SDK安装包,地址:http://tools.android-studio.org/index.php/sdk

        2、安装完成或者解压完成后,进入目录中打开:SDK Manager.exe

        3、我们使用真机测试,不需要安装模拟器镜像,暂时只需要安装Tools和Platform-tools,以后有需要可以继续安装

        

      3.3 获取手机的设备信息

        1、打开命令提示符,定位到platform-tools的目录下,输入:adb devices 命令查看连接的手机。

        

        2、在设置——我的设备——全部参数中,记下“Android版本”的版本号。

        3、清空后台的所有程序,打开计算器,然后打开命令提示符,定位到adb所在的目录路径,输入命令:adb shell  回车,再输入:dumpsys window | grep "mCurrentFocus"。记下com.miui.calculator和com.miui.calculator.cal.CalculatorActivity

        

        4、启动appium-desktop,点击右上角的放大镜,在弹出的页面中输入前面3步所获取到的值,然后点击Start Session即可连接,如图:

        

        

             

        PS:如果出现如下:An unknown server-side error occurred while processing the command. Original error: pkg: /data/local/tmp/appium_cache/728413456b8xxxxxxxxxxxxd6bd577ca6418.apk Failure [INSTALL_FAILED_USER_RESTRICTED]的报错请在开发者选项中打开USB安装、USB调试(安全设置)的开关。开关打开后,会安装一个appium setting的APP,安装完即可进行连接。

        

    四、使用客户端发送指令驱动真机运行

      1、编写客户端代码(python),点击运行即可驱动真机进行计算

    from appium import webdriver # 导入appium包
    import time
    
    # 连接手机app初始化的一些信息
    desc = {}
    desc['deviceName']='PNMxxxxxxxxxUQK'# 手机设备名称,adb devices
    desc['platformVersion']='5.0.2'# 手机版本,在手机中:设置--关于手机
    desc['platformName']='Android' # 手机类型,ios或android
    desc['appPackage']='com.miui.calculator'#包名
    desc['appActivity']='com.miui.calculator.cal.CalculatorActivity'#启动入口
    
    driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desc)#访问服务接口,并启动手机app
    
    time.sleep(20)
    driver.find_element_by_id('com.miui.calculator:id/btn_6_s').click()
    time.sleep(2)
    driver.find_element_by_id('com.miui.calculator:id/btn_plus_s').click()
    driver.find_element_by_id('com.miui.calculator:id/btn_2_s').click()
    driver.find_element_by_id('com.miui.calculator:id/btn_equal_s').click()
    
    driver.quit()

      PS:如果发现appium-desktop连接正常,且运行代码没有错误,但是真机却没有进行模拟运行,请检查开发者选项中的“USB调试(安全设置)”和“允许模拟位置” 是否处于开启状态,关闭状态将不能驱动真机运行。

  • 相关阅读:
    合并报表优化记录
    如何在后台代码中执行原生sql?
    eclipse从数据库逆向生成Hibernate实体类
    用Eclipse进行远程Debug代码
    hibernate自动生成数据库表
    hibernate自动生成数据库表
    php通过UNIX源码编译安装
    php设置方法
    php其他配制选项
    终于做出了目录认证!
  • 原文地址:https://www.cnblogs.com/bcaixl/p/11389286.html
Copyright © 2011-2022 走看看