第一個(gè)appium腳本

測試環(huán)境

Win 10 64bit

Python 3.7

Appium 1.10

Andriod 5.1.1 模擬器

測試App:考研幫Android版

測試場景

自動安裝考研幫App,然后啟動App

測試步驟

獲取待測試app的packageName和Activity

配置Capability

連接設(shè)備

編輯腳本并運(yùn)行

查看結(jié)果

運(yùn)行前檢查事項(xiàng)

1. 檢查設(shè)備是否連接

2. 檢查Appium server是否啟動

3. 檢查Capability配置信息是否正確

測試腳本

test_kyb.py

from appium import webdriver

desired_caps={}

desired_caps['platformName']='Android'

#模擬器設(shè)備

desired_caps['platformVersion']='5.1.1'

desired_caps['deviceName']='127.0.0.1:62025'

#mx4真機(jī)

# desired_caps['platformVersion']='5.1'

# desired_caps['deviceName']='MX4'

# desired_caps['udid']='750BBKL22GDN'

desired_caps['app']=r'C:\Users\Administrator\Desktop\kaoyan3.1.0.apk'

desired_caps['appPackage']='com.tal.kaoyan'

desired_caps['appActivity']='com.tal.kaoyan.ui.activity.SplashActivity'

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

pycharm常用快捷鍵

復(fù)制粘貼當(dāng)前行Ctrl+D

注釋Ctrl+/

運(yùn)行當(dāng)前腳本Ctrl+shift+F10

折疊展開代碼Ctrl + Numpad + /-

方法定義跳轉(zhuǎn)Ctrl+B

1.首次啟動Appium會在設(shè)備上安裝2個(gè)守護(hù)app,Appium Settings和Unlock 部分設(shè)備系統(tǒng)由于權(quán)限的問題(如:三星S6 edge+)需要用戶手動確認(rèn)安裝,否則不安裝守護(hù)App會導(dǎo)致腳本運(yùn)行失敗,安裝好后不要隨意卸載這兩個(gè)App。

Unlock :用于解鎖手機(jī)彈窗提示

Appium Setting:Appium守護(hù)app

2. from appium import webdriver 中的webdriber模塊和selenium中的webdriver模塊不一樣!

webdriver模塊源碼路徑:

{python安裝路徑}}\Lib\site-packages\appium\webdriver

Appium報(bào)錯(cuò)&解決方案

Appium服務(wù)未啟動

urllib.error.URLError: <urlopen error [WinError 10061] 由于目標(biāo)計(jì)算機(jī)積極拒絕,無法連接。

【解決方案】點(diǎn)擊啟動Appium按鈕后,出現(xiàn)[Appium] Welcome to Appium v1.7.2提示后再運(yùn)行腳本

會話沖突

error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress

【報(bào)錯(cuò)分析】之前的會話沒有關(guān)閉,然后你又運(yùn)行了測試實(shí)例,也沒有設(shè)置覆蓋.

【解決方案】重新停止appium服務(wù),開啟Appium服務(wù) 在AdVance界面勾選Allow Session Override選項(xiàng),重啟Appium 測試結(jié)束在AfterClass加driver.quit()

未安裝java環(huán)境

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"

設(shè)備未連接

selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not find a connected Android device.

【解決方案】由于設(shè)備未連接,或者連接后未開啟USB Debug。需要重新連接設(shè)備即可。

更換手機(jī)設(shè)備后如下對應(yīng)的屬性要記得更新,否則無法正常運(yùn)行腳本。

desired_caps['platformVersion'] = 'XXX'

desired_caps['deviceName'] = 'Galaxy S6 edge+'

launchable activity 值寫錯(cuò)

Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity

【解決方案】

launchable activity 寫錯(cuò)更正即可。

如果是存在此activity,則一定是AndroidMainfest.xml.xml中,當(dāng)前activity設(shè)置的屬性exported=false,表示當(dāng)前activity無法被外部程序喚醒。(appium無法喚醒此類)需要研發(fā)人員去修改參數(shù)。

系統(tǒng)權(quán)限問題

Failure [INSTALL_FAILED_USER_RESTRICTED])

【解決方案】

1. USB安裝管理權(quán)限限制,關(guān)閉即可。

2. 開啟安裝允許未知來源app選項(xiàng)

服務(wù)異常

An unknown server-side error occurred while processing the command” while opening the App

【解決方案】重新啟動Appium服務(wù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容