一文搞定移動端appium自動化環境


【appium環境搭建】

1、Mac系統:11.6
2、Xcode:12.5.1
從App Store中下載Xcode
3、安裝brew:3.2.12
4、安裝nodejs:12.18.1
  • 從nodejs官網下載安裝包安裝
  • brew install node
5、安裝libimobiledevice
  • brew install -- HEAD libimobiledevice
  常用命令:
    idevicesyslog:查看系統日志
    idevice_id -l:查看當前已連接的設備uuid
    idevicescreenshot:截圖
    ideviceinfo:查看設備信息
    ideviceinfo -k ProductVersion:查看系統版本
    idevicename:獲取設備名稱
    idevicedate:獲取設備時間
6、安裝ios-deploy
  • npm install -g ios-deploy
  • cnpm install -g ios-deploy
  常用命令:
    ios-deploy -c:查看相關鏈接設備,包括USB和Wi-Fi連接的
    ios-deploy -c --no-wifi:查看通過USB連接的設備
    ios-deploy --id [uuid] --bundle [xxx.app]:安裝應用
7、安裝ideviceinstaller
  • brew install ideviceinstaller
  常用命令:
    ideviceinstaller -l:打印已安裝的app列表
    ideviceinstaller -u 2721277896a12c5170b349ef1a0c350c305d85ce -l:指定設備打印已安裝的app列表
    ideviceinstaller -i xxx:安裝ipa包
    ideviceinstaller -g xxx:覆蓋安裝ipa包
    ideviceinstaller -U com.tencent.QQMusic:卸載QQ音樂的ipa包
    idevicediagnostics restart:重啟設備
8、安裝carthage
  • brew install carthage 驗證:carthage version
9、安裝appium的三種方式
  • npm install -g appium【建議FQ安裝原版appium,會自動解決一些依賴問題】
  • cnpm install -g appium
    appium-doctor檢查appium安裝情況
    • appium-doctor --ios 檢查iOS安裝情況
    • appium-doctor -- android 檢查Android安裝情況

我使用appium-desktop進行腳本的編寫和調試,所以這里只介紹appium-desktop下的android和ios!!!

網上的資料均為已過時老版本的appium,對iOS的支持需要替換appium自帶的WDA,其實在appium-desktop 1.21.0 版本中已大可不必替換!

【iOS】

0、關於開發者賬號
 
在 iOS 上通過 App Store 下載的應用,攜帶的是分發證書(Distribution Certificate),是禁止被測試的。
所以,需要獲取 ipa 安裝包再重新簽名才可以被Appium 測試。
 
1、真機上安裝WDA
  • 安裝包版appium下的WDA路徑:/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
  • 打開該路徑下的WebDriverAgent.xcodeproj文件
  • 修改如下幾個地方:
 
 
 
 
  • 在Xcode中用快捷鍵:command + U
  • 中間會出現幾次訪問鑰匙串,直接輸入機器密碼。稍等片刻在手機上即可看到WDA【一個無logo的應用】
  • 在設備中進行信任:設置-通用-設備管理-點擊出現的開發者app-點擊信任
2、真機上運行腳本
 1 import time
 2 from appium import webdriver
 3 
 4 class Test_Demo():
 5     def setup(self):
 6         caps = {}
 7         caps["deviceName"] = "iPhone SE" # 設備的名稱,在手機設置-通用-關於手機 可自行設置
 8         caps["udid"] = "2721277896a12c5170b349ef1a0c350c305d85cw" # 設備的udid,指定后只會在一台機器上運行腳本
 9         # caps["udid"] = "auto" # 如果設備有多台可使用auto自動選擇
10         caps["platformVersion"] = "14.8" # 設備的系統版本
11         caps["platformName"] = "ios" # 設備的操作系統
12         caps["automationName"] = "xcuitest" 
13         caps["noReset"] = True # 不要重復安裝
14 
15         caps["xcodeOrgId"] = "8278HWK4WG" # 看查看自己的team id
16         caps["xcodeSigningId"] = "iPhone Developer" # 固定寫死即可
17         # Xcode編譯后app的路徑
18         caps["app"] = "/Users/xxx/Library/Developer/Xcode/DerivedData/UICatalog-dxrwbrhjaphogpgoapcncfjznios/Build/Products/Debug-iphoneos/UICatalog.app"
19 
20         self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
21         self.driver.implicitly_wait(20)
22 
23     def test_click(self):
24         self.driver.find_element_by_accessibility_id("Buttons").click()
25 
26     def teardown(self):
27         time.sleep(20)
28         self.driver.quit()

 

相關鏈接:
 
 

【Android】

1、安裝adb
  • 安裝Android studio下sdk並配置系統環境變量
1 #Android
2 ANDROID_HOME=/Users/xxx/Library/Android/sdk
3 #adb start
4 export PATH=$ANDROID_HOME/platform-tools:$PATH
5 #uiautomatorviewer start
6 export PATH=$ANDROID_HOME/tools/bin:$PATH
7 #emulator start
8 export PATH=$ANDROID_HOME/emulator:$PATH
9 export ANDROID_HOME
  • brew install android-platform-tools
2、連接設備編寫腳本
 
 
相關鏈接:
 
 
遇到問題:
1、Error running xcrun simctl
打開Xcode-->Preferences-->Locations-->Command Line Tools 選擇版本號就可以
2、opencv4nodejs cannot be found.
sudo npm install -g opencv4nodejs --ignore-scripts
 


免責聲明!

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



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