環境搭建好了,就可以實現基本的操作,比如啟動App和模擬滑動。這里我實現的是在真機(樂視1s)上啟動抖音App,並滑動抖音的視頻列表,代碼如下:
from appium import webdriver from time import sleep class Action(): def __init__(self): # 初始化配置,這里設置的是樂視1s手機的Desired Capabilities參數 self.desired_caps = { "platformName":"Android", "deviceName":"7L4599ZDHAWOU88L", "appPackage":"com.ss.android.ugc.aweme", "appActivity":".main.MainActivity" } # 指定Appium Server self.server = 'http://localhost:4723/wd/hub' # 新建一個Session self.driver = webdriver.Remote(self.server, self.desired_caps) # 設置滑動初始坐標和滑動距離 self.start_x = 500 self.start_y = 1500 self.distance = 1300 def comments(self): sleep(10) # app開啟之后點擊一次屏幕,確保頁面的展示 self.driver.tap([(500, 1200)], 500) #appium中模擬手指點擊方法,叫tap,有兩個參數,元素位置和點擊持續時間ms def scroll(self): # 無限滑動 while True: # 模擬滑動 self.driver.swipe(self.start_x, self.start_y, self.start_x,self.start_y-self.distance,300) # 設置延時等待 sleep(1) def main(self): self.comments() self.scroll() if __name__ == '__main__': action = Action() action.main()
運行效果:

注意:
1.一定要先開啟appium-desktop,連接上服務器才可以啟動App!
2.appium-desktop上的坐標點位置如下:

3.app的Desired Capabilities參數,分別是paltformName、deviceName、appPackage、appActivity:
platformName:平台名稱,一般是Android或iOS.
deviceName:設備名稱,手機的具體類型
appPackage:App程序包名
appActivity:入口Activity名,通常以.開頭
platformName和deviceName比較容易獲得,而appPackage和appActivity這兩個可以通過以下方法獲取到。在控制台上輸入 adb logcat>D:\log.log 命令,並且在手機打開抖音app,然后在D盤中打開log.log文件,查找Displayed關鍵字。

由上圖可以知道Displayed后面的 com.ss.android.ugc.aweme對應的是appPackage,.main.MainActivity對應的是appActivity。
參考:https://www.cnblogs.com/stevenshushu/p/9635097.html
4.要解決appium每次運行都需要安裝Unlock以及AppiumSetting的問題可以參考:
