zoukankan      html  css  js  c++  java
  • 3.移动端自动化测试-appium环境搭建(原理)

    appium自动化原理:

    需要服务端(appium启动),手机端(adb连接设备),脚本端(pycharm)就可以进行

    自己总结下:

    手机和脚本连接:1.adb连接,2靠脚本导入驱动。

    脚本和服务端连接:1靠pythonsetting中设置安装appiumpyhon客户端 2,靠脚本中webdriver.Remote的方法传入地址和参数

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    安装就绪后,第一次执行脚本时遇到问题1,(搭建后还需要导入客户端,负责无法实现三段连接)

    pycharm上面执行了第一个用例

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    #导入driver对象.驱动对象会帮助我们完成手机和脚本之间交互.
    from appium import webdriver
    #先定义个字典变量,给下面调用
    desired_caps = {}
    desired_caps['platformName'] = 'Android' #平台的名称:iOS, Android, or FirefoxOS
    desired_caps['platformVersion'] = '4.4.4' #设备系统版本号
    desired_caps['deviceName'] = 'KMO3EHB90R' #设备号 IOS:instruments -s devices,Android: adb devices
    desired_caps['appPackage'] = 'com.avatar.settings'#启动的Activity
    desired_caps['appActivity'] = '.Settings' #启动的包
    desired_caps['unicodeKeyboard'] = True #unicode设置(允许中文输入)
    desired_caps['resetKeyboard'] = True #键盘设置(允许中文输入)
    #脚本和服务端关联,使用webdriver.Remote的方法,并传2个参数,服务端的地址和服务端需要的启动参数
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
    driver.close_app() # 关闭当前操作的app,不会关闭驱动对象driver
    driver.start_activity("com.avatarmind.robot.grabsmile",".GrabSmileActivity")#脚本内启动其他app
    driver.quit()#关闭驱动对象,同时关闭所有关联的app

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    提示“no module named appium”错误,安装后还需要再pycharm中配置导入模块客户端

    加完后如下:

    再次执行python,已经能连接上并且能打开设置,此时aapuim上面已经有日志,记住保持机器人唤醒状态保证ADB成功连接

    2.1.主流的移动端自动化工具

    • Robotium
        1.支持语言:Java
    
        2.仅支持Android系统
    
        3.不支持跨应用
    
    • Macaca
        1.支持语言:Java,Python,Node.js
    
        2.支持Android和iOS系统
    
        3.支持跨应用
    
    • Appium
        1.支持语言:Java,C#,Python,php,perl,ruby,Node.js
    
        2.支持Android和iOS系统
    
        3.支持跨应用
    
    • 自动化工具选择的关注点
        1.是否支持native,webview
    
        2.是否支持获取toast
    
        3.是否支持跨应用

    2.2.Appium环境搭建

    • 2.2.1 Appium客户端安装(闲话:下面讲述安装包和命令行2种方式,2个选一个即可)

      • 2.2.1.1 Appium背景介绍

          1.官网:www.appium.io,由SauceLab公司开发
        
          2.Appium是由nodejs的express框架写的Http Server,Appium使用WebDriver的json wire协议,
            来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架
        
      • 2.2.1.2 Appium桌面客户端安装方式

          1. 运行appium-desktop-Setup-1.2.7.exe,默认安装即可
          2. 启动客户端,按图片步骤 1 -> 2 -> 3 -> 4 设置
        

        启动appium界面

          3. 启动成功展示如下图
        

        appium启动成功

      • 2.2.1.3 Appium命令行安装方式

          1. 安装Node.js ->Win:官网下载可执行包安装(Linux: yum install; Macos: brew install)
          2. 安装完成后 命令行运行npm或node -v 来查看是否安装成功
        

        nodenpm

          敲黑板: npm国内一般被墙,所以选择淘宝镜像安装,官网:http://npm.taobao.org
        
          3. 安装cnpm: npm install -g cnpm --registry=https://registry.npm.taobao.org
        

        cnpm

          4. 安装appium: cnpm install -g appium
        

        appium_installappium_result

          4. 启动appium服务命令: appium &,如下图即正确安装
        
             敲黑板: Windows安装会提示os的模块错误,这个需要mac系统支持,不影响windows操作使用
        

        appium_start

    • 2.2.2 Appium-python库安装

      • 命令行安装(需要联网)

          pip install Appium-Python-Client
      • (举例:实际上使用pip3 install Appium-Python-Client --user 最终安装成功)
      • 安装包安装
      •   前提:python已安装setuptools包
          安装setuptools:
              1.解压setuptools-38.2.4.zip
              2.进入解压后文件夹执行命令: python setup.py install
              3.等待安装完成,无错误信息即可
        
          安装Appium-Python-Client:
              1.解压Appium-Python-Client-0.25.tar.gz
              2.进入解压后文件夹执行命令: python setup.py install
              3.等待安装完成,无错误信息即
  • 相关阅读:
    Building a flexiable renderer
    Indirect Illumination in mental ray
    我的心情
    Cellular Automata
    Subsurface Scattering in mental ray
    Shader Types in mental ray
    BSP Traversal
    我的渲染器终于达到了MR的速度
    How to handle displacement and motion blur
    说明
  • 原文地址:https://www.cnblogs.com/yinlili/p/11170619.html
Copyright © 2011-2022 走看看