Appium常用的API函式

2022-03-10 04:57:51 字數 4057 閱讀 3076

(1)獲取預設系統語言對應的strings.xml檔案內的資料。

(2)查詢某乙個語言環境對應的字串檔案strings.xml內資料。

(3)獲取當前activity,比如(.apidemos)

current_activity()

(1)根據bundleid來判斷該應用是否已經安裝

中代表的是包名,而在ios中有專門的bundleid號。

(4)關閉應用,其實就是按home鍵把應用置於後台

(5)啟動應用

(1)將字元陣列用64位格式寫到遠端目錄的某個檔案中。也可以理解為把本地檔案push到裝置上。

push_file(string remotepath, byte base64data)

(2)將裝置上的檔案pull到本地硬碟上

pull_file(string remotepath)

(3)將裝置上的資料夾pull到本地硬碟上,一般遠端檔案為/data/local/tmp下的檔案。

pull_folder(string remotepath)

(1)設定手機的網路連線狀態,可以開關藍芽、wifi、資料流量。通過networkconnectionsetting中的屬性來設定各個網路連線的狀態。

set_network_connect(networkconnectionsetting connection)

(2)得到當前網路的狀態

get_network_connection()

(1)ios隱藏鍵盤

hide_keyboard()

(2)隱藏鍵盤,只能用於ios上。

hide_keyboard(string strategy, string keyname)

(3)按下某個鍵,具體哪個鍵由key值決定,key值定義在androidkeycode類中

send_key_event(int key)

(4)執行乙個touch動作,該touch動作是由touchaction封裝的。

perform_touchaction(touchaction touchaction)

(5)點選element控制項中心點按下,duration*5毫秒秒後鬆開,如此重複fingers次。

tap(int fingers, webelement element, int duration)

(6)點選(x,y)點按下,duration*5毫秒後鬆開,如此重複fingers次。

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

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

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

(8)2個手指操作控制項,從對角線向中心點滑動。

pinch(webelement el)

(9)以(x,y)為基準,計算得出(x,y-100),(x,y+100)兩個點,然後2個手指按住這兩個點同時滑到(x,y)

pinch(int x, int y)

(10)與pinch(el)的動作剛好相反。兩個手指由控制項的中心點慢慢向控制項的左頂點後右底點滑動。

zoom(webelement el)

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

zoom(int x, int y)

(12)鎖屏多少秒後解鎖

lock_screen(int seconds)

(13)模擬搖晃手機

shake()

(14)滾動到某個text屬性為指定的字串的控制項

scroll_to(string text)

(15)滾動方向由element1到element2

scroll(element1,element2)  

(16)滾動到某個text屬性包含傳入的字串的控制項

scroll_to_exact(string text)

(17)設定上下文

context(string name)

(18)可用上下文

get_context_handles()

(19)當前上下文

get_context()

(20)設定螢幕橫屏或者豎屏

rotate(screenorientation orientation)

(21)獲取當前螢幕的方向

get_orientation()

seleniumdriver

find_element_by_id

find_elements_by_id

find_element_by_name

find_elements_by_name

find_element_by_link_text

find_elements_by_link_text

find_element_by_partial_link_text

find_elements_by_partial_link_text

find_element_by_tag_name

find_elements_by_tag_name

find_element_by_xpath

find_elements_by_xpath

find_element_by_class_name

find_elements_by_class_name

find_element_by_css_selector

find_elements_by_css_selector

find_element_by_ios_uiautomation

find_elements_by_ios_uiautomation

find_element_by_android_uiautomator

find_elements_by_android_uiautomator

find_element_by_accessibility_id

find_elements_by_accessibility_id

主要針對手勢操作,比如滑動、長按、拖動等。touchaction的原理是講一系列的動作放在乙個鏈條中,然後將該鏈條傳遞給伺服器。伺服器接受到該鏈條後,解析各個動作,逐個執行。

touchaction()

(1)在控制項上執行press操作

press(webelement el)

(2)在座標為(x,y)的點執行press操作

press(int x, int y)

(3)在控制項el的左上角的x座標偏移x單位,y左邊偏移y單位的座標上執行press操作。

press(webelement el, int x, int y)

(4)釋放操作,代表該系列動作的乙個結束標誌。

release() 

(5)以el為目標,從另乙個點移動到該目標上

move_to(webelement el)

(6)以(x,y)點為目標,從另乙個點移動到該目標上

move_to( int x, int y)

(7) 在控制項的中心點上敲擊一下

tap(webelement el)

(8)在(x,y)點輕擊一下

tap(int x, int y)

(9)以控制項el的左上角為基準,x軸向右移動x單位,y軸向下移動y單位。在該點上輕擊。

tap(webelement el, int x, int y)

(10)代表乙個空操作,等待一段時間

wait_action()

(11)等待ms秒

wait_action(int ms)

(12)控制項長按

long_press(webelement el)

(13)點長按

long_press(int x, int y)

(14)偏移點長按

long_press(webelement el, int x, int y) 

(15)取消執行該動作

cancel()

appium 測試使用的API

模擬操作類 元素定位類findelementbyxx driver.findelementbyid id id獲取方法 利用uiautomater截圖,獲取resource id driver.findelementbyclassname classname 通常通過這種方式獲取的view不止乙個,...

Appium基礎操作API

1 前置 server 啟動引數 desired caps desired caps platformname android desired caps platformversion 5.1 desired caps devicename 192.168.203.101 5555 desired ...

Appium自動化 一 常用的API介面

1.建立新的會話 session python android desired caps driver webdriver.remote desired caps python ios 篇 platformname ios platformversion 13.3 automationname xc...