配置參數(shù)
- 在網(wǎng)上看了好多的文章,但是Appium Desktop一直報錯,始終都沒有連接上手機,今天準(zhǔn)備搜索文章的時候想到有可能是我之前搜索有問題俊啼,所以就換了搜索內(nèi)容,沒想到就出來了
- 文章連接:卡爾西法ishere
- 連接參數(shù)意義
- platformName:平臺名稱似扔,iOS吨些、Android、 FirefoxOS炒辉,選擇真機/模擬器對應(yīng)的就好
- platformVersion:平臺版本豪墅,可在手機設(shè)置中的關(guān)于手機查看
- deviceName:設(shè)備名稱
- appPackage:要運行的Android應(yīng)用程序的Java包(獲取方式在上方給出的文章中,只試了第三種 adb shell "dumpsys window w|grep /|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed 's/ //g'")
- appActivity:從程序包啟動的Android活動的活動名稱
- noReset:不在此會話之前重置應(yīng)用程序狀態(tài)(意思就是每次啟動都當(dāng)做第一次啟動黔寇,因為首次進(jìn)入某些應(yīng)用時有的會有彈框偶器,所以測試時可以設(shè)置為True),默認(rèn)為False
-
我之前只寫了這些參數(shù)缝裤,運行的時候總是報錯屏轰,后來加了一個參數(shù)就可以正常連接成功了,我不知道為什么(如果有知道的請告訴我憋飞,我也學(xué)習(xí)學(xué)習(xí)霎苗,謝謝)
報錯圖片 - udid:連接的物理設(shè)備的唯一設(shè)備標(biāo)識符,可通過adb devices查看榛做,就是一串?dāng)?shù)字和字母組成的字符
- 更多的參數(shù)意義可查看官網(wǎng)
測試案例
- 測試的案例是計算機
- 首先appium連接手機成功
- 點擊Start Session唁盏,成功后就說明連接上了
- 左邊顯示手機界面,中間顯示app 的源代碼检眯,最右邊會顯示我們選中的元素
- 左邊手機界面選中了元素厘擂,最右邊會顯示id、xpath锰瘸,以便于寫代碼定位元素
- 例如需要計算機自動計算1595+6等于多少
- 可以一個一個的選擇每個字符的id是多少刽严,然后利用python代碼選中該元素
python代碼
- 代碼來自于蟲師
from appium import webdriver #導(dǎo)入webdriver庫
import time #導(dǎo)入時間模塊
desired_caps = {} #配置參數(shù)的字典
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0'
desired_caps['deviceName'] = 'OPPO R17 Pro'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = 'com.android.calculator2.Calculator'
desired_caps['udid'] = 'xxxx' #xxxx不是真的udid,寫真的udid
desired_caps['noReset'] = 'True'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #第一個參數(shù)是默認(rèn)的避凝,不需要更改(wd 可以理解是WebDriver 的縮寫)
driver.find_element_by_id("com.android.calculator2:id/digit_1").click() #通過id找到數(shù)字1并且點擊
driver.find_element_by_id("com.android.calculator2:id/digit_5").click()
driver.find_element_by_id("com.android.calculator2:id/digit_9").click()
driver.find_element_by_id("com.android.calculator2:id/del").click() #點擊刪除鍵
driver.find_element_by_id("com.android.calculator2:id/digit_9").click()
driver.find_element_by_id("com.android.calculator2:id/digit_5").click()
driver.find_element_by_id("com.android.calculator2:id/op_add").click() #點擊‘+’
driver.find_element_by_id("com.android.calculator2:id/digit_6").click()
driver.find_element_by_id("com.android.calculator2:id/eq").click() #點擊‘=’
time.sleep(5) #這個是為了能夠看清結(jié)果舞萄,可刪除
driver.quit()