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

    对应的值如下:

  • 相关阅读:
    数据库mysql中`的作用
    省,市,区三级下拉框联动以及localStorage当做缓存优化
    仿头条新闻app,实现下拉刷新,上拉加载分页
    js获取checkbox多选表单
    这两天的工作:webApp接口对接开发
    我做的一个考试资料app的控制器和后台
    我做的cms后台管理1,商业网站
    thinkphp简单后台cms的操作逻辑
    thinkphp后台登陆自动监测方法_initialize
    topthink有时间看看
  • 原文地址:https://www.cnblogs.com/yanghr/p/14550448.html
Copyright © 2011-2022 走看看