在Mac OSX 上配置Appium+Android自動化測試環境

來源:互聯網
上載者:User

標籤:targe   依賴   and   line   xcode   tools   啟動   device   androi   

前提準備

開始本文之前,你需要準備好一些基本條件:

  1. 安裝好Mac OSX 作業系統的裝置
  2. 能夠訪問中國區域網路以外資源的方法(沒有也行,但很痛苦)
  3. 已經安裝好 homebrew
  4. 已經安裝好 Python3.x
  5. 已經安裝好 Java Runtime Environment
安裝 Android Studio / SDK

本文主要為了測試安卓應用,那麼這裡我們就需要安裝Android Studio或者Android SDK。

  • Android Studio - 完整的開發以及測試載入器,需要梯子
  • Android SDK - 足夠完成自動化測試,通過homebrew安裝

如果只是為了自動化測試我建議安裝SDK足矣,使用brew命令安裝。

brew install android-sdk

在國內使用brew可以事先配置好國內源,速度會快很多。

如果有梯子建議選擇Android Studio,安裝方法很簡單,官網下載後一路Next,啟動後會讓你把SDK等等一系列依賴都裝好,一步到位。

實際安卓Android Studio比較好,一步到位,可以到sdk等都安裝好,安卓studio安裝過程後啟動時會出現proxy錯誤,這裡點擊取消,然後安裝完,開啟後,在sdk manager中設定代理 

Android SDK 線上更新鏡像伺服器資源:

大連東軟資訊學院鏡像伺服器地址:
- http://mirrors.neusoft.edu.cn 連接埠:80
北京化工大學鏡像伺服器地址:
- IPv4: http://ubuntu.buct.edu.cn/ 連接埠:80
- IPv4: http://ubuntu.buct.cn/ 連接埠:80
- IPv6: http://ubuntu.buct6.edu.cn/ 連接埠:80
上海GDG鏡像伺服器地址:
- http://sdk.gdgshanghai.com 連接埠:8000

親測第一個好用

準備Android 模擬器或者使用真機

如果SDK已經安裝完畢,應該可以使用adb命令來檢查可用的模擬器或者已經串連到電腦上的實體手機。

adb devices

如果不知道adb工具在哪,可以先在命令列裡通過find搜尋。

find /Users -name adb  # 搜尋使用者目錄find / -name adb  # 搜尋全盤

找到之後可以把 adb 目錄加入PATH,方便後續使用。

安裝Appium

Appium 可以通過多種方式安裝。

方式一:使用 NodeJS 安裝

首先通過brew安裝nodejs:

brew install node

配置國內源,在個人目錄下建立一個.npmrc檔案,寫入:

registry=https://registry.npm.taobao.org/

開始安裝Appium:

npm install -g appiumnpm install -g appium-doctor

Appium-doctor 可以幫你診斷測試環境,建議安裝。

方式二:下載Appium案頭版安裝

官方的Appium案頭安裝包可以從github下載,需要梯子。

  • https://github.com/appium/app...

下載到的dmg檔案雙擊裝載,把Appium拖到Application裡完成安裝。

安裝 Appium-Client

本文只討論Python實現的Appium測試,所以你只需要允許以下命令:

pip install Appium-Python-Client

如果你已經安裝了appium-doctor,那麼你只要運行appium-doctor命令就可以知道你還需要設定哪些環境變數,
[email protected] ~> appium-doctorinfo AppiumDoctor Appium Doctor v.1.4.3info AppiumDoctor ### Diagnostic starting ###info AppiumDoctor  ? The Node.js binary was found at: /usr/local/bin/nodeinfo AppiumDoctor  ? Node version is 7.10.0info AppiumDoctor  ? Xcode is installed at: /Applications/Xcode.app/Contents/DeveloperWARN AppiumDoctor  ? Xcode Command Line Tools are NOT installed!info AppiumDoctor  ? DevToolsSecurity is enabled.info AppiumDoctor  ? The Authorization DB is set up properly.WARN AppiumDoctor  ? Carthage was NOT found!info AppiumDoctor  ? HOME is set to: /Users/tobyqininfo AppiumDoctor  ? ANDROID_HOME is set to: /Users/tobyqin/Library/Android/sdk/info AppiumDoctor  ? JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Homeinfo AppiumDoctor  ? adb exists at: /Users/tobyqin/Library/Android/sdk/platform-tools/adbinfo AppiumDoctor  ? android exists at: /Users/tobyqin/Library/Android/sdk/tools/androidinfo AppiumDoctor  ? emulator exists at: /Users/tobyqin/Library/Android/sdk/tools/emulatorinfo AppiumDoctor  ? Bin directory of $JAVA_HOME is setinfo AppiumDoctor ### Diagnostic completed, 2 fixes needed. ###info AppiumDoctorinfo AppiumDoctor ### Manual Fixes Needed ###info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:WARN AppiumDoctor - Please install Carthage. Visit https://github.com/Carthage/Carthage#installing-carthage for more information.info AppiumDoctor ###info AppiumDoctorinfo AppiumDoctor Bye! Run appium-doctor again when all manual fixes have been applied!

  其實你不一定需要把通過所有檢查項,如果只是為了完成Android的Appium測試,只要確保ANDROID_HOME 和 JAVA_HOME 正確配置,另外SDK Tools 和Platform Tools都加入PATH就基本完成了。可以參考我個人目錄下的.bash_profile設定:

export ANDROID_HOME=~/Library/Android/sdk/export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Homeexport PATH=~/bin:$PATH:/usr/local/bin:$ANDROID_HOME/platform-tools/:$JAVA_HOME/bin

  

開始編寫自動化測試
from appium import webdriverdesired_caps = {}desired_caps[‘platformName‘] = ‘Android‘desired_caps[‘platformVersion‘] = ‘7.1.1‘desired_caps[‘deviceName‘] = ‘Android Emulator‘desired_caps[‘appPackage‘] = ‘com.android.dialer‘desired_caps[‘appActivity‘] = ‘DialtactsActivity‘driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)driver.find_element_by_id(‘com.android.dialer:id/search_box_collapsed‘).click()search_box = driver.find_element_by_id(‘com.android.dialer:id/search_view‘)search_box.click()search_box.send_keys(‘hello toby‘)

  




在Mac OSX 上配置Appium+Android自動化測試環境

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.