电竞比分网-中国电竞赛事及体育赛事平台

分享

Appium之java API

 小豬窩969 2015-06-19

AppiumDriver


 

getAppStrings()


 

默認(rèn)系統(tǒng)語言對應(yīng)的Strings.xml文件內(nèi)的數(shù)據(jù)。


 

driver.getAppStrings(String language)


 

查找某一個語言環(huán)境對應(yīng)的字符串文件Strings.xml內(nèi)數(shù)據(jù)


 

sendKeyEvent(int key)


 

按下某個鍵,具體哪個鍵由key值決定,key值定義在AndroidKeyCode類中


 

sendKeyEvent(int key, Integer metastate)


 

按下某個鍵的同時按下附加鍵(Ctrl/Alt/Shift等),具體是哪些鍵,由key值(AndroidKeyCode類中定義)和metastate(AndroidKeyMetastate類中定義)決定。


 

currentActivity()


 

獲取當(dāng)前activity,比如(.ApiDemos)


 

isAppInstalled(String bundleId)


 

根據(jù)bundleId來判斷該應(yīng)用是否已經(jīng)安裝


 

installApp(String appPath)


 

安裝app,appPath為應(yīng)用的本地路徑


 

removeApp(String bundleId)


 


    卸載app.bundleId在android中代表的是報名,而在ios中有專門的bundleId號。 


 

closeApp()


 

關(guān)閉應(yīng)用,其實(shí)就是按home鍵把應(yīng)用置于后臺


 

launchApp()


 

啟動應(yīng)用


 

resetApp()


 


    先closeApp然后在launchAPP 


 

pushFile(String remotePath, byte[] base64Data)


 

將字符數(shù)組用64位格式寫到遠(yuǎn)程目錄的某個文件中。也可以理解為把本地文件push到設(shè)備上。


 

pullFile(String remotePath)


 


    將設(shè)備上的文件pull到本地硬盤上 


 

pullFolder(String remotePath)


 

將設(shè)備上的文件夾pull到本地硬盤上,一般遠(yuǎn)程文件為/data/local/tmp下的文件。


 

setNetworkConnection(NetworkConnectionSetting connection)


 

設(shè)置手機(jī)的網(wǎng)絡(luò)連接狀態(tài),可以開關(guān)藍(lán)牙、wifi、數(shù)據(jù)流量。通過NetworkConnectionSetting中的屬性來設(shè)置各個網(wǎng)絡(luò)連接的狀態(tài)。


 

getNetworkConnection()


 

openNotifications()


 

打開通知欄


 

runAppInBackground(int seconds)


 

與resetApp類似,區(qū)別是resetApp關(guān)閉后立即啟動,而這個方法是關(guān)閉后等待seconds秒后再啟動。


 

hideKeyboard()


 

ios隱藏鍵盤


 

hideKeyboard(String strategy, String keyName)


 

隱藏鍵盤,只能用于ios上。


 

performTouchAction(TouchAction touchAction)


 

執(zhí)行一個touch動作,該touch動作是由TouchAction封裝的。


 

performMultiTouchAction(MultiTouchAction multiAction)


 

執(zhí)行多步touch動作,由MultiTouchAction封裝的多步操作。


 

tap(int fingers, WebElement element, int duration)


 

點(diǎn)擊element控件中心點(diǎn)按下,duration*5毫秒秒后松開,如此重復(fù)fingers次。


 

tap(int fingers, int x, int y, int duration)


 

點(diǎn)擊(x,y)點(diǎn)按下,duration*5毫秒后松開,如此重復(fù)fingers次。


 

swipe(int startx, int starty, int endx, int endy, int duration)


 

從(startx,starty)滑到(endx,endy),分duration步滑,每一步用時是5毫秒。


 

pinch(WebElement el)


 

2個手指操作控件,從對角線向中心點(diǎn)滑動。


 

pinch(int x, int y)


 

以(x,y)為基準(zhǔn),計(jì)算得出(x,y-100),(x,y+100)兩個點(diǎn),然后2個手指按住這兩個點(diǎn)同時滑到(x,y)


 

zoom(WebElement el)


 

與pinch(el)的動作剛好相反。兩個手指由控件的中心點(diǎn)慢慢向控件的左頂點(diǎn)后右底點(diǎn)滑動。


 

zoom(int x, int y)


 

和pinch(x,y)相反。兩個手指從(x,y)點(diǎn)開始向(x,y-100)和(x,y+100)滑動。


 

getNamedTextField(String name)


 

一般用在ios中。根據(jù)accessibility id獲得控件對象。


 


    endTestCoverage(String intent, String path) 


 

結(jié)束測試覆蓋率的檢測。(沒用過,不太了解)path為.ec文件的路徑。


 

lockScreen(int seconds)


 

鎖屏多少秒后解鎖(使用的時候提示還沒實(shí)現(xiàn)該方法)


 

shake()


 

模擬搖晃手機(jī)(目前還沒實(shí)現(xiàn))


 

scrollTo(String text)


 

滾動到某個text屬性為指定的字符串的控件


 

scrollToExact(String text)


 

滾動到某個text屬性包含傳入的字符串的控件


 

context(String name)


 

設(shè)置上下文


 

getContextHandles()


 

可用上下文


 

getContext()


 

當(dāng)前上下文


 

rotate(ScreenOrientation orientation)


 

設(shè)置屏幕橫屏或者豎屏


 

getOrientation()


 

獲取當(dāng)前屏幕的方向


 

findElementByIosUIAutomation(String using)


 

利用ios中的uiautomation中的屬性來獲取控件


 

findElementsByIosUIAutomation(String using)


 

和上面一樣,不過獲得的是多個控件


 

findElementByAndroidUIAutomator(String using)


 

利用android的uiautoamtor中的屬性來獲取單個控件。


 

findElementsByAndroidUIAutomator(String using)


 

和上面一樣,但是該方法獲得是多個控件


 

findElementByAccessibilityId(String using)


 

利用accessibility id來獲取單個控件


 

findElementsByAccessibilityId(String using)


 


    利用accessibility id來獲得多個控件 


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多