'''.appium api第二彈 鋒利的python,這是初稿,2015/1/5 如有錯誤的地方,請同學們進行留言,我會及時予以修改,盡量整合一份ok的api 作者:Mads Spiral QQ:79523822 如有疑問留言或者加qq,驗證wyx 若要轉載,請標注原著地址 ''' #默認系統語言對應的Strings.xml文件內的數據。 get_app_string() #查找某一個語言環境對應的字符串文件Strings.xml內數據 get_app_string(String language) #按下某個鍵,具體哪個鍵由key值決定,key值定義在AndroidKeyCode類中 send_key_event(int key) #獲取當前activity,比如(.ApiDemos) current_activity() #根據bundleId來判斷該應用是否已經安裝 is_app_installed(String bundleId) #安裝app,appPath為應用的本地路徑 install_app(String appPath) #卸載app.bundleId在android中代表的是報名,而在ios中有專門的bundleId號。 remove_app(String bundleId) #關閉應用,其實就是按home鍵把應用置於后台 close_app() #啟動應用 launch_app() #先closeApp然后在launchAPP reset_app() #將字符數組用64位格式寫到遠程目錄的某個文件中。也可以理解為把本地文件push到設備上。 push_file(String remotePath, byte[] base64Data) #將設備上的文件pull到本地硬盤上 pull_file(String remotePath) #將設備上的文件夾pull到本地硬盤上,一般遠程文件為/data/local/tmp下的文件。 pull_folder(String remotePath) #設置手機的網絡連接狀態,可以開關藍牙、wifi、數據流量。通過NetworkConnectionSetting中的屬性來設置各個網絡連接的狀態。 set_network_connect(NetworkConnectionSetting connection) #得到當前網絡的狀態 get_network_connection() #ios隱藏鍵盤 hide_keyboard() #隱藏鍵盤,只能用於ios上。 hide_keyboard(String strategy, String keyName) #執行一個touch動作,該touch動作是由TouchAction封裝的。 perform_touchAction(TouchAction touchAction) #點擊element控件中心點按下,duration*5毫秒秒后松開,如此重復fingers次。 tap(int fingers, WebElement element, int duration) #點擊(x,y)點按下,duration*5毫秒后松開,如此重復fingers次。 tap(int fingers, int x, int y, int duration) #從(startx,starty)滑到(endx,endy),分duration步滑,每一步用時是5毫秒。 swipe(int startx, int starty, int endx, int endy, int duration) #2個手指操作控件,從對角線向中心點滑動。 pinch(WebElement el) #以(x,y)為基准,計算得出(x,y-100),(x,y+100)兩個點,然后2個手指按住這兩個點同時滑到(x,y) pinch(int x, int y) #與pinch(el)的動作剛好相反。兩個手指由控件的中心點慢慢向控件的左頂點后右底點滑動。 zoom(WebElement el) #和pinch(x,y)相反。兩個手指從(x,y)點開始向(x,y-100)和(x,y+100)滑動。 zoom(int x, int y) #鎖屏多少秒后解鎖 lock_screen(int seconds) #模擬搖晃手機 shake() #滾動到某個text屬性為指定的字符串的控件 scroll_to(String text) #滾動到某個text屬性包含傳入的字符串的控件 scroll_to_exact(String text) #設置上下文 context(String name) #可用上下文 get_context_handles() #當前上下文 get_context() #設置屏幕橫屏或者豎屏 rotate(ScreenOrientation orientation) #獲取當前屏幕的方向 get_orientation() #利用ios中的uiautomation中的屬性來獲取控件 find_element_by_ios_uiautomation(String using) #和上面一樣,不過獲得的是多個控件 find_elements_by_ios_uiautomation(String using) #利用android的uiautoamtor中的屬性來獲取單個控件。 find_element_by_android_uiautomator(String using) #和上面一樣,但是該方法獲得是多個控件 find_elements_by_android_uiautomator(String using) #利用accessibility id來獲取單個控件 find_element_by_accessibilityid(String using) #利用accessibility id來獲得多個控件 find_elements_by_accessibilityid(String using) '''AppiumDriver的輔助類,主要針對手勢操作,比如滑動、長按、拖動等。 TouchAction的原理是講一系列的動作放在一個鏈條中,然后將該鏈條傳遞給服務器。 服務器接受到該鏈條后,解析各個動作,逐個執行。''' TouchAction() #在控件上執行press操作 press(WebElement el) #在坐標為(x,y)的點執行press操作 press(int x, int y) #在控件el的左上角的x坐標偏移x單位,y左邊偏移y單位的坐標上執行press操作。 press(WebElement el, int x, int y) #釋放操作,代表該系列動作的一個結束標志。 release() #以el為目標,從另一個點移動到該目標上 move_to(WebElement el) #以(x,y)點為目標,從另一個點移動到該目標上 move_to(WebElement el, int x, int y) #在控件的中心點上敲擊一下 tap(WebElement el) #在(x,y)點輕擊一下 tap(int x, int y) #以控件el的左上角為基准,x軸向右移動x單位,y軸向下移動y單位。在該點上輕擊。 tap(WebElement el, int x, int y) #代表一個空操作,等待一段時間 wait_action() #等待ms秒 wait_action(int ms) #控件長按 long_press(WebElement el) #點長按 long_press(int x, int y) #偏移點長按 long_press(WebElement el, int x, int y) #取消執行該動作 cancel() #執行該動作
perfrom()