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

原文地址:https://www.cnblogs.com/FHC1994/p/10614083.html