• 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

  • 相关阅读:
    Air Raid HDU
    Strategic Game HDU
    Antenna Placement POJ
    Load Testing CodeForces
    Packmen CodeForces
    Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)
    Codeforces Round #440 (Div. 2, based on Technocup 2018 Elimination Round 2)
    Dog Show CodeForces
    Sum of Nestings CodeForces
    Preparing for Merge Sort CodeForces
  • 原文地址:https://www.cnblogs.com/FHC1994/p/10614083.html
Copyright © 2020-2023  润新知