美文网首页
Appium进行Android手机真机自动化测试

Appium进行Android手机真机自动化测试

作者: GeniusBin | 来源:发表于2018-02-03 15:13 被阅读753次

    前置条件:

    安装JDK

    jdk 9使用appium还有点问题,最好使用jdk 8。我使用的是jdk 8u161

    JDK下载地址
    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    下载前需要先同意协议

    下载后双击安装,安装完成后需要手工设置环境变量:


    右键单击“这台电脑”并选择属性
    点击“高级系统设置”
    “高级”选项卡中设置环境变量

    增加JAVA_HOME变量为C:\Program Files\Java\jdk1.8.0_161
    编辑PATH变量,增加以下几个地址

    %JAVA_HOME%\lib
    %JAVA_HOME%\bin
    
    在系统变量中增加或编辑变量

    注意:修改环境变量后,需要重启电脑以使配置生效。

    安装Android SDK

    怕麻烦的直接下载Android Studio,然后用图形界面安装SDK吧。我又不做Android开发,下个Android Studio真是浪费,所以只用一个100MB的命令行工具下载SDK。

    https://developer.android.com/studio/index.html

    页面最下方

    在任意位置创建文件夹android-sdk,比如C:\_portable_
    然后将压缩包中的tools文件夹解压到android-sdk下

    同样为了能够全局执行tools中的工具,需要设置环境变量:
    增加%ANDROID_HOME%,值为C:\_portable_\android-sdk,然后在PATH中增加

    %ANDROID_HOME%\tools
    %ANDROID_HOME%\tools\bin
    

    打开Git Bash,用sdkmanager安装SDK。
    区别于Windows中的命令提示符中直接执行sdkmanager,在Git Bash中执行.bat文件需要明确写出后缀:

    touch ~/.android/repositories.cfg
    sdkmanager.bat "platform-tools" "platforms;android-27" --verbose
    sdkmanager.bat --update --verbose
    

    提示done之后,SDK就会被安装在android-sdk文件夹下了。其中platform-tools文件夹中就含有我们需要的adb.exe等工具

    sdkmanager的更多用法可参考:
    https://developer.android.com/studio/command-line/sdkmanager.html

    增加PATH的值:

    %ANDROID_HOME%\platform-tools
    

    安装Appium

    $ npm i -g appium appium-doctor
    
    # 然后使用appium-doctor看看还有哪些条件没有满足
    $ appium-doctor
    info AppiumDoctor Appium Doctor v.1.4.3
    info AppiumDoctor ### Diagnostic starting ###
    info AppiumDoctor  ✔ The Node.js binary was found at: C:\Program Files\nodejs\node.exe
    info AppiumDoctor  ✔ Node version is 8.9.4
    info AppiumDoctor  ✔ ANDROID_HOME is set to: C:\_portable_\android-sdk
    info AppiumDoctor  ✔ JAVA_HOME is set to: C:\Program Files\Java\jdk1.8.0_161
    info AppiumDoctor  ✔ adb exists at: C:\_portable_\android-sdk\platform-tools\adb.exe
    info AppiumDoctor  ✔ android exists at: C:\_portable_\android-sdk\tools\android.bat
    info AppiumDoctor  ✔ emulator exists at: C:\_portable_\android-sdk\tools\emulator.exe
    info AppiumDoctor  ✔ Bin directory of %JAVA_HOME% is set
    info AppiumDoctor ### Diagnostic completed, no fix needed. ###
    info AppiumDoctor
    info AppiumDoctor Everything looks good, bye!
    info AppiumDoctor
    

    如果还有没有满足的条件,一一修复即可,现在剩下的一般是环境变量的地址没有填对。

    连接手机,开始自动化测试

    接下来就可以连接手机,开启USB调试,进行自动化测试了。

    appium.io提供的使用范例
    http://appium.io/docs/en/about-appium/getting-started/index.html
    测试用的apk
    https://github.com/appium/sample-code/blob/master/sample-code/apps/ApiDemos/bin/ApiDemos-debug.apk

    # 启动appium
    $ appium
    [Appium] Welcome to Appium v1.7.2
    [Appium] Appium REST http interface listener started on 0.0.0.0:4723
    

    保持以上appium在后台运行,新开一个Git Bash:

    $ mkdir test_appium
    $ cd test_appium
    $ touch test.js
    $ npm i webdriverio
    

    然后在test.js文件中输入以下内容:

    // javascript
    
    const wdio = require('webdriverio');
    
    const opts = {
      port: 4723,
      desiredCapabilities: {
        platformName: "Android",
        platformVersion: "7.0",
        deviceName: "Android Emulator",
        app: "C:\\Users\\gbcdef\\Documents\\dev\\test_app\\ApiDemos-debug.apk",
      }
    };
    
    const client = wdio.remote(opts);
    
    client
      .init()
      .click("~App")
      .click("~Alert Dialogs")
      .back()
      .back()
      .end();
    

    使用node执行以上自动化测试脚本:

    node test.js
    

    手机上就会自动安装测试apk,自动执行脚本了。

    相关文章

      网友评论

          本文标题:Appium进行Android手机真机自动化测试

          本文链接:https://www.haomeiwen.com/subject/voluzxtx.html