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的问题可以参考: