摘要:方式一使用安裝首先通過安裝配置國內源,在個人目錄下新建一個文件,寫入開始安裝可以幫你診斷測試環境,建議安裝。自動化測試代碼例子如下,啟動內置撥號軟件,搜索關鍵字。
前提準備
開始正文之前,你需要準備好一些基本條件:
安裝好Mac OSX 操作系統的設備
能夠訪問中國局域網以外資源的方法(沒有也行,但很痛苦)
已經安裝好 homebrew
已經安裝好 Python3.x
已經安裝好 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 模擬器或者使用真機如果SDK已經安裝完畢,應該可以使用adb命令來檢查可用的模擬器或者已經連接到電腦上的實體手機。
adb devices
如果不知道adb工具在哪,可以先在命令行里通過find搜索。
find /Users -name adb # 搜索用戶目錄 find / -name adb # 搜索全盤
找到之后可以把 adb 目錄加入PATH,方便后續使用。
安裝AppiumAppium 可以通過多種方式安裝。
方式一:使用 NodeJS 安裝首先通過brew安裝nodejs:
brew install node
配置國內源,在個人目錄下新建一個.npmrc文件,寫入:
registry=https://registry.npm.taobao.org/
開始安裝Appium:
npm install -g appium npm 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
如果需要使用其他編程語言,下表供參考:
語言/框架 | Github版本庫以及安裝指南 |
---|---|
Ruby | https://github.com/appium/rub... |
Python | https://github.com/appium/pyt... |
Java | https://github.com/appium/jav... |
JavaScript (Node.js) | https://github.com/admc/wd |
Objective C | https://github.com/appium/sel... |
PHP | https://github.com/appium/php... |
C# (.NET) | https://github.com/appium/app... |
RobotFramework | https://github.com/jollychang... |
如果你已經安裝了appium-doctor,那么你只要運行appium-doctor命令就可以知道你還需要設置哪些環境變量,比如:
tobyqin@CatBook ~> appium-doctor info AppiumDoctor Appium Doctor v.1.4.3 info AppiumDoctor ### Diagnostic starting ### info AppiumDoctor ? The Node.js binary was found at: /usr/local/bin/node info AppiumDoctor ? Node version is 7.10.0 info AppiumDoctor ? Xcode is installed at: /Applications/Xcode.app/Contents/Developer WARN 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/tobyqin info 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/Home info AppiumDoctor ? adb exists at: /Users/tobyqin/Library/Android/sdk/platform-tools/adb info AppiumDoctor ? android exists at: /Users/tobyqin/Library/Android/sdk/tools/android info AppiumDoctor ? emulator exists at: /Users/tobyqin/Library/Android/sdk/tools/emulator info AppiumDoctor ? Bin directory of $JAVA_HOME is set info AppiumDoctor ### Diagnostic completed, 2 fixes needed. ### info AppiumDoctor info 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 AppiumDoctor info 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/Home export PATH=~/bin:$PATH:/usr/local/bin:$ANDROID_HOME/platform-tools/:$JAVA_HOME/bin開始編寫自動化測試
終于到了開始寫代碼的時候了,相信你已經迫不及待了,別急,你還要準備以下條件:
模擬器或者測試機必須是Ready的狀態,每次啟動模擬器都很費時間,所以建議模擬器不要關閉,通過代碼來啟動模擬器是一個辦法,但是時間成本有點高。
如果是調試代碼階段,建議保持Appium桌面版長期運行,但是Appium和uiautomator有沖突,只能二選一。
Appium會根據你的測試代碼去尋找符合要求的設備,如果你啟動了多臺虛擬機或者連接了多臺實體機,請顯式地在代碼中指定設備名稱或者版本號。
自動化測試代碼例子如下,啟動內置撥號軟件,搜索關鍵字。
from appium import webdriver desired_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")
恭喜你,解鎖了移動應用測試的新成就!
參考在 Windows 下搭建 Appium + Android 自動化測試環境
關于作者:Toby Qin, Python 技術愛好者,目前從事測試開發相關工作,轉載請注明原文出處。
歡迎關注我的博客 https://betacat.online,你可以到我的公眾號中去當吃瓜群眾。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41060.html
摘要:支持全平臺的安裝,我們直接從的里面安裝即可,鏈接為。平臺可以下載安裝包如,平臺可以下載安裝包如,平臺可以選擇下載源碼,但是更推薦用下文的安裝方式。上一篇文章網絡爬蟲實戰爬取相關庫的安裝的安裝下一篇文章網絡爬蟲實戰爬蟲框架的安裝 上一篇文章:Python3網絡爬蟲實戰---8、APP爬取相關庫的安裝:MitmProxy的安裝下一篇文章:Python3網絡爬蟲實戰---10、爬蟲框架的安裝...
摘要:準備本腳本適用于安卓游戲區,需要真實安卓手機。電腦需安裝好安卓驅動,一般豌豆莢或者各種管家可以自動幫你裝好。使用命令檢驗和手機狀態已經就緒。 原理 王者榮耀的冒險模式里有個挑戰模式,第一次過關可以獲得比較多的金幣,后面重新挑戰還是會獲得少量金幣,這不算是bug,你不嫌煩手動蠻力也可以刷金幣。 推薦關卡:隕落的廢都 - 魔女回憶 此關卡使用純輸出英雄20秒左右可以打BOSS,50秒左右可...
摘要:一年一度的雙十一又到了,今年某寶又推出新玩法,刷喵糖搶地盤。這不,就有人用寫了個自動刷的代碼。注本文內容僅做技術討論交流,請勿用于其他用途,否則概不負責。 一年一度...
閱讀 3476·2021-11-19 09:40
閱讀 1492·2021-10-13 09:41
閱讀 2655·2021-09-29 09:35
閱讀 2710·2021-09-23 11:21
閱讀 1693·2021-09-09 11:56
閱讀 830·2019-08-30 15:53
閱讀 844·2019-08-30 15:52
閱讀 598·2019-08-30 12:47