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={

    对应的值如下:

  • 相关阅读:
    SQL行转列问题
    pgAdmin III 单表数据的导出导入
    window 服务的安装和卸载
    将Excel表格转成DataTable
    “Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应”解决方法
    form-data提交
    由于本公司项目需要,现急需拥有微软MCSE证书的人才,一经录用,待遇从优!
    Head First设计模式悟道
    entityframwork
    .net 开源模板引擎jntemplate 教程:基础篇之在ASP.NET MVC中使用Jntemplate
  • 原文地址:https://www.cnblogs.com/yanghr/p/14550448.html
Copyright © 2011-2022 走看看