背景

Appium是app端手机自动化的测试工具,它依赖于以下组件:

  • Node.js(服务端运行环境)

    • Appium(服务端)

    • Appium-doctor(检测appium的环境安装结果的)

    • uiautomator2(uiautomator已经很久没有再维护了,所以建议使用该版本)

  • Python(测试用例开发环境)

    • Appium-Python-Client(客户端)
  • JDK(与测试机交互环境依赖)

    • Andriod SDK(与测试环境交互)
  • Chromedriver&Chrome(用于Webview元素的测试)

  • Appium-desktop(新手前期使用的appium服务配置)

环境搭建

  • nodejs搭建

    详见本书中[Gitbook环境搭建]

  • Appium安装

    依次执行如下命令:

    1
    npm install -g appium

    执行完毕后检查环境

    1
    appium
  • appium-doctor安装

    依次执行如下命令

    1
    npm install -g appium-doctor

    执行完毕后检查环境

    1
    appium-doctor
  • uiautomator2安装

    依次执行如下命令

    1
    npm install appium-uiautomator2-driver
  • Appium-Python-Client安装

    依次执行如下命令(前提是已经安装好了python环境)

    1
    pip install Appium-Python-Client

    执行完成后检查环境

    1
    2
    python
    from appium import webdriver
  • JDK安装

    安装及配置:https://blog.csdn.net/weixin_40928253/article/details/83590136

    备注:java11及以上的环境变量配置更加简单,配置时可详见百度;但就uiautomatorview(我们需要它抓取页app元素)目前而言,它只支持java8

  • Android-SDK安装

  • Chrome&ChromeDriver

    • Chrome

      测试手机端、电脑端均需安装版本相近的Chrome版本

    • Chromedriver

      下载Chrome对应版本的Chromedriver版本,并配置进环境变量

      下载链接:https://npm.taobao.org/mirrors/chromedriver/

    • 安装完成后进入以下模式调试

      • 手机与电脑连接,开启USB调试模式,通过adb devices可查看到此设备。(设备系统Android 5.0以上)

      • 电脑端、移动端必须安装chrome浏览器。(尽量保证移动端chrome版本与PC端一致)根据对应的Chrome浏览器版本安装对应的Chrome driver。

      • 检测App Webview是否开启,打开app对应的h5页面,在 chrome://inspect/#devices 地址中,检查是否显示对应的webview,如没有,则当前未开启调试模式。在自动化脚本中,进入到对应的H5页面,打印输出当前context,如果一直显示为Natvie App,则webview未开启。

      • App Webview开启debug模式,在app中配置如下代码(在WebView类中调用静态方法setWebContentsDebuggingEnabled):

        1
        2
        if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT) {  
        WebView.setWebContentsDebuggingEnabled(true);
      • 在电脑端Chrome浏览器地址栏输入chrome://inspect/#devices,进入调试模式,查看页面是否有webview开头的信息,有就可以