第一个Appium脚本
測試環境
- Win 10 64bit
- Python 3.5
- Appium 1.7.2
- Andriod 5.1.1 模擬器& Android 5.1 MX4
- 測試App:考研幫Android版 3.1.0
測試場景
自動安裝考研幫App(kaoyan3.1.0.apk),然后啟動App
測試步驟
- 獲取待測試app的packageName和Activity
- 配置Capability
- 連接設備
- 編輯腳本并運行
- 查看結果
運行前檢查事項
測試腳本
test_kyb.py
1 from appium import webdriver 2 3 desired_caps = {} 4 desired_caps['platformName'] = 'Android' 5 desired_caps['deviceName'] = '127.0.0.1:62001' 6 desired_caps['platforVersion'] = '5.1.1' 7 8 # 真機配置 9 # desired_caps['deviceName']='MX4' 10 # desired_caps['platforVersion']='5.1' 11 # desired_caps['udid']='750BBKL22GDN' 12 13 desired_caps['app'] = r'C:\python_dir\apps\kaoyan3.1.0.apk' 14 desired_caps['appPackage'] = 'com.tal.kaoyan' 15 desired_caps['appActivity'] = 'com.tal.kaoyan.ui.activity.SplashActivity' 16 17 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)?
pycharm常用快捷鍵
- 復制粘貼當前行 Ctrl+D
- 注釋 Ctrl+/
- 運行當前腳本 Ctrl+shift+F10
- 折疊展開代碼 Ctrl + Numpad + /-
- 方法定義跳轉 Ctrl+B
1.首次啟動Appium會在設備上安裝2個守護app,Appium Settings和Unlock 部分設備系統由于權限的問題(如:三星S6 edge+)需要用戶手動確認安裝,否則不安裝守護App會導致腳本運行失敗,安裝好后不要隨意卸載這兩個App。
- Unlock :用于解鎖手機彈窗提示
- Appium Setting:Appium守護app
webdriver模塊源碼路徑:
{python安裝路徑}}\Lib\site-packages\appium\webdriver
Appium報錯&解決方案——那些年我們踩過的坑
Appium服務未啟動
urllib.error.URLError: <urlopen?error?[WinError 10061]?由于目標計算機積極拒絕,無法連接。
【解決方案】點擊啟動Appium按鈕后,出現[Appium] Welcome to Appium v1.7.2提示后再運行腳本
會話沖突
error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress
【報錯分析】 之前的會話沒有關閉,然后你又運行了測試實例,也沒有設置覆蓋.
【解決方案】 重新停止appium服務,開啟Appium服務 在AdVance界面勾選Allow Session Override選項 ,重啟Appium 測試結束在AfterClass加driver.quit()
未安裝java環境
selenium.common.exceptions.WebDriverException:?Message:?A new?session could not be created. (Original error:?'java -version'?failed. Error:?Command failed:?C:\WINDOWS\system32\cmd.exe /s /c "java -version"
設備未連接
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error?occurred while?processing the command. Original error: Could not?find?a connected Android device.
【解決方案】由于設備未連接,或者連接后未開啟USB Debug。需要重新連接設備即可。
更換手機設備后如下對應的屬性要記得更新,否則無法正常運行腳本。
desired_caps['platformVersion'] = 'XXX'
desired_caps['deviceName'] = 'Galaxy S6 edge+'
launchable activity 值寫錯
Activity used to?start app doesn't exist or?cannot be launched! Make sure it?exists and?is?a launchable activity
【解決方案】
- launchable activity 寫錯更正即可。
- 如果是存在此activity,則一定是AndroidMainfest.xml.xml中,當前activity設置的屬性exported=false,表示當前activity無法被外部程序喚醒。(appium無法喚醒此類)需要研發人員去修改參數。
系統權限問題
Failure [INSTALL_FAILED_USER_RESTRICTED])
【解決方案】
服務異常
An?unknown server-side error?occurred while?processing the command”?while?opening the App
【解決方案】重新啟動Appium服務
?
轉載于:https://www.cnblogs.com/gongxr/p/10656423.html
總結
以上是生活随笔為你收集整理的第一个Appium脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HashMap默认大小和扩容后的大小
- 下一篇: java目录