Appium進行Android手機真機自動化測試


前置條件:

安裝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,自動執行腳本了。



作者:Gilberto
鏈接:https://www.jianshu.com/p/05b2314cff9c
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM