標籤:appium wifi css_ androi pid 字元 html wip for
原文地址:http://blog.sina.com.cn/s/blog_68f262210102vzf9.html
常用的API函數 擷取資訊類API
(1)擷取預設系統語言對應的Strings.xml檔案內的資料。
get_app_string()
(2)尋找某一個語言環境對應的字串檔案Strings.xml內資料。
get_app_string(String language)
(3)擷取當前activity,比如(.ApiDemos)
current_activity()
App安裝與卸載類API
(1)根據bundleId來判斷該應用是否已經安裝
is_app_installed(String bundleId)
(2)安裝app,appPath為應用的本地路徑
install_app(String appPath)
(3)卸載app.bundleId在android中代表的是包名,而在ios中有專門的bundleId號。
remove_app(String bundleId)
(4)關閉應用,其實就是按home鍵把應用置於後台
close_app()
(5)啟動應用
launch_app()
(6)先closeApp然後在launchAPP
reset_app()
檔案操作類API
(1)將字元數組用64位格式寫到遠程目錄的某個檔案中。也可以理解為把本地檔案push到裝置上。
push_file(String remotePath, byte[] base64Data)
(2)將裝置上的檔案pull到本地硬碟上
pull_file(String remotePath)
(3)將裝置上的檔案夾pull到本地硬碟上,一般遠程檔案為/data/local/tmp下的檔案。
pull_folder(String remotePath)
設定相關類API
(1)設定手機的網路連接狀態,可以開關藍芽、wifi、資料流量。通過NetworkConnectionSetting中的屬性來設定各個網路連接的狀態。
set_network_connect(NetworkConnectionSetting connection)
(2)得到當前網路的狀態
get_network_connection()
使用者操作類API
(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()
擷取控制項類API
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
appiumdriver
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
AppiumDriver的輔助類
主要針對手勢操作,比如滑動、長按、拖動等。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函數