滑動屏幕
driver.scroll(element1,element2)
dot_0 = driver.find_element_by_id(“dot_0”)
dot_2 = driver.find_element_by_id(“dot_2”)
driver.scroll(dot_2,dot_0)
獲取當前活動的activity
driver.current_activity
將app置於後臺運行10秒,再顯示界面,同時主程序停止,類似於sleep
driver.background_app(10)
判斷app是否已安裝,參數爲包名
driver.is_app_installed(“com.talk51.dasheng”)
#關閉app 和driver.quit() 區別在於,close_app() 是針對於app的關閉操作,不會釋放服務的的session_id,quit()是針對實例操作,會釋放session_id
driver.close_app()
卸載app,參數爲包名
driver.remove_app(“com.talk51.dasheng”)
等待一activity
#重置應用數據,有些場景我們需要清除應用數據,相當於第一次安裝時候的狀態,比如,第一次啓動App時的引導頁,登錄等等
driver.reset()
開啓某個activity,實現跳轉
driver.start_activity(“com.lemon.lemonban”,“com.lemon.lemonban.activity.MainActivity”)
安裝app
driver.install_app(“lemonban_release.apk”)
tap
tap和click比較:對於只有一個finger操作和click行爲相同,如果超過一隻finger那就不同。
並且tap可以模擬雙擊事件,click點擊的時候是點擊控件的中心點座標:
//positions:點擊的座標。多個手指則將多個座標儲存在列表中。
//duration:點擊的時間間隔
driver.tap([(100,200),(100,60),(100,100)],500)
pressKeyCode()
Android特有,appium擴展了pressKeyCode方法,使得可以通過腳本發送這些事件:
//按下電源鍵事件
driver.pressKeyCode(26)
1
2
其中26是電源鍵的鍵值。
詳細的按鍵信息地址:
http://developer.android.com/reference/android/view/KeyEvent.html
Get_screenshot_as_file()
如測試用例執行失敗,我們可能需要截圖保存在測試報告中,通過此方法就可以獲取到運行失敗時的錯誤截圖:
//截圖
Driver.get_screenshot_as_file(“D:\image.png”)
background_app
將當前的應用切換到後臺,然後可以讓其在指定時間內回到前臺,或者讓它一直留在後臺。
傳遞給這個方法的參數有兩種類型:
一個整型(秒):表示後臺狀態維持多久。-1表示持續置於後臺。
一個看起來像{“timeout”:secs}的對象。裏面的secs是含義和第一個類型一樣的整型數字(即表示置於後臺持續多少秒),或者爲null(表示持續置於後臺)。
示例:
driver.background_app(5) #置於後臺,持續5s
driver.background_app(-1) #持續置於後臺
driver.background_app({“timeout”:None) #持續置於後臺
九宮格滑動解鎖操作實踐
TouchAction類:
將一系列的動作放在一個鏈條中,然後將該鏈條傳遞給服務器,服務器接收到該鏈條後,解析哥各個動作,逐個執行。
press 按壓
longpress 長按
tap 點擊
move_to 移動
wait 等待
release 鬆開(按壓之後鬆開)
perform 執行前面鏈條的操作
cancel 取消前面鏈條的所有操作
還有相關api連接
https://blog.csdn.net/weixin_30700099/article/details/97656890?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task