Appium(二)---啟動App+模擬滑動


  環境搭建好了,就可以實現基本的操作,比如啟動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的問題可以參考:

https://blog.csdn.net/hszxd479946/article/details/78900982


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM