# 垂直滚动到页面顶部/横向滚动到最左侧
d(scrollable=True).scroll.toBeginning()
d(scrollable=True).scroll.horiz.toBeginning()
# 垂直滚动到页面最底部/横向滚动到最右侧
d(scrollable=True).scroll.toEnd()
d(scrollable=True).scroll.horiz.toEnd()
# 垂直向后滚动到指定位置/横向向右滚动到指定位置
d(scrollable=True).scroll.to(description="指定位置")
d(scrollable=True).scroll.horiz.to(description="指定位置")
# 垂直向前滚动(横向同理)
d(scrollable=True).scroll.forward()
# 垂直向前滚动到指定位置(横向同理)
d(scrollable=True).scroll.forward.to(description="指定位置")
2、滑动操作:swipe
# 从sx,sy坐标滑动至ex,ey坐标
# d.swipe(sx, sy, ex, ey)
d.swipe(0,0,10,10)
3、拖拽操作:drag
# 从sx,sy坐标拖拽至ex,ey坐标
# d.drag(sx, sy, ex, ey)
d.drag(12,25,100,120)
4、禁止弹窗
d.disable_popups() #自动跳过弹出窗口
d.disable_popups(假)#禁用自动跳过弹出窗口
5、等待activity出现
d.wait_activity('com.test.ui.activities.MainActivity', timeout=10)
6、除了某个应用外其余全部关闭
d.app_stop_all(excludes=['com.examples.demo'])
7、停止所有应用
d.app_stop_all()
8、停止应用,这个方法会丢失应用数据
d.app_stop("com.example.app")
9、停止应用
d.app_clear('com.example.hello_world')
10、启动此应用前,关闭这个应用
d.app_start("com.example.app", stop=True)
11、获取前台应用的packageName, activity
d.app_current()
12、启动应用(默认的这种方法是先通过atx-agent解析apk包的mainActivity,然后调用am start -n $package/$activity启动)
d.app_start("com.example.app")
13、通过指定main activity的方式启动应用,等价于调用am start -n com.example.hello_world/.MainActivity
d.app_start("com.example.hello_world", ".MainActivity")
14、得到app图标
img = d.app_icon("com.examples.demo")
img.save("icon.png")
15、列出所有运行中的应用
d.app_list_running()
16、确定app是否启动,也可以通过Session来判断
pid = d.app_wait("com.example.android") # 等待应用运行, return pid(int)
if not pid:
print("com.example.android is not running")
else:
print("com.example.android pid is %d" % pid)
d.app_wait("com.example.android", front=True) # 等待应用前台运行
d.app_wait("com.example.android", timeout=20.0) # 最长等待时间20s(默认)
or
d.wait_activity(".ApiDemos", timeout=10) # default timeout 10.0 seconds
Session操作
一般用于测试某个特定的APP,首先将某个APP设定为一个Session,所有的操作都基于此Session,当Session退出时,代表APP退出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!