zoukankan      html  css  js  c++  java
  • Appium工作原理以及驱动参数讲解

    一、Appium的工作原理:

    (1) 客户端代码与appiummserver建立连接session,并传递caps配置信息

    (2)Appiumserver检查配置信息是否符合要求

    (3)利用adb工具检查当前连接的移动设备

    (4)安装appium-setting与uiautomator2到被测手机(首次运行脚本时会安装到对应手机上去)

    (5)手机启动appium-settings作为监听服务,用于appium-server进行通信

    (6)uiautomator2启动被测app(代码指定了底层驱动为UI2,也可手动修改为UI1)

    二、操作步骤:(安卓手机为例)

    (1)先在电脑安装appium

      (2)下载并配置好androidsdk环境 (下面说到的adb命令与此相关

            大致画了一张图:

            

    图片流程讲解:

       写好python脚本-->启动appium--->使用adb 命令连接上手机---->运行脚本--->第一次运行脚本的时候(针对手机来说)会在手机上安装两个app,就是上图的appium-setting(可在桌面上查看)、还有一个uiautomator(搜索的时候可查看)---->然后这两个app就会驱动对应的手机app执行脚本代码

     三、驱动配置参数讲解:

    from appium import webdriver
    #
    准备自动化配置信息 myCaps={ 'platformName': 'Android', #移动设备平台 Android/IOS 'plathformVersion': '9', #自己手机的版本号,写整数即可 'deviceName': 'demo', #设备名称,自己起 'appPackage': 'cn.xuexi.android', #要测试的app信息,如何知道值下面讲解 'appActivity': 'com.alibaba.android.rimet.biz.SplashActivity', 'noReset': True, #自动化后不重置app 'newCommandTimeout': 1000, #设置session的超时时间、单位为秒 'automationName': 'UiAutomator2', # 底层驱动 ,如果启动不成功可以改成UiAutomator1 'unicodeKeyboard':True, #修改手机的输入法 Ui2不需要设置 'resetKeyboard':True #自动化结束之后将输入法还原(有可能会还原失败) }

    #启动
    driver= webdriver.Remote('http://127.0.0.1:4723/wd/hub',myCaps)
     

    以上参数appPackage以及appActivity键对应的值获取方式:先在手机上代开待测试的app---->打开电脑cmd终端--->输入命令:adb shell dumpsys activity recents | findstr intent={

    对应的值如下:

  • 相关阅读:
    CentOS虚拟机和物理机共享文件夹实现
    集训第六周 数学概念与方法 概率 数论 最大公约数 G题
    集训第六周 数学概念与方法 概率 F题
    集训第六周 E题
    集训第六周 古典概型 期望 D题 Discovering Gold 期望
    集训第六周 古典概型 期望 C题
    集训第六周 数学概念与方法 UVA 11181 条件概率
    集训第六周 数学概念与方法 UVA 11722 几何概型
    DAG模型(矩形嵌套)
    集训第五周 动态规划 K题 背包
  • 原文地址:https://www.cnblogs.com/yanghr/p/14550448.html
Copyright © 2011-2022 走看看