打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
uiautomator2实战: 启动随机播放音乐,并切换到后台
uiautomator2实战: 启动随机播放音乐,并切换到后台
首先确定环境已搭建完成,
输入adb devices, 查看设备信息
输入python -m weditor,打开Weditor定位
在弹出的网页中输入adb devices 获取到的设备信息,点击connect,若出现绿色叶子,即连接成功
点击 Reload,可看到当前网页抓取到的界面就是我们手机停留的界面
.
点击上面想要获取的信息框,即可抓取到对应的元素,
如:点击左上角的选项图标,右侧显示出对应的className、description、xpath、packageName等
在实现启动随机播放音乐时,需要启动apk,点击左侧选项图标,切换到歌曲,点击随机播放,以上点击我分为四个方法,再创建一个启动音乐并随机播放的方法;
具体实现如下:
既然已获取到包名,这里我们就可以先写启动apk的方法
注:uiautomator2支持使用packageName即可启用apk,但因为用的测试机音乐与视频的apk的名称都是“com.android.music”,所以这里加入了music的activiti;
获取activiti方式如下:
1 、手机进入到相关apk的界面,我这里进入到了音乐apk的界面,执行adb shell
2、 执行dumpsys activity | grep mFocusedActivity
可以看到.MusicBrowserActivity就是activity
代码如下:
import uiautomator2 as u2
# 定义一个名为Music的class类,用于存放所有Music的相关点击、组合等操作
class Music:
def __init__(self, d):
self.d = d
# 定义一个名为start的方法,用于启动apk
def start(self):
self.d.app_start("com.android.music", activity=".MusicBrowserActivity")
d = u2.connect()         # 初始化连接设备
music = Music(d)        # 实例化Music类,传入设备d
music.start()                # 调用start方法,启动音乐apk
以上即完成了apk的启动
启动apk已完成后,进行点击左侧选项图标,可以看到Code中包含的示范代码,直接拷贝到图中的2区域增加点击(.cliek()),点击运行,可确定是否满足期望的进行点击;
# 点击选项图标
def click_drawer(self):
self.d(description=u"drawer").click()
# 点击 歌曲 选项
def click_title_drawer(self):
self.d(resourceId ="com.android.music:id/title", text =u"歌曲").click()
# 点击随机播放
def list_shuffle_all(self):
self.d(resourceId="com.android.music:id/shuffleAll").click()
以上即将所有步骤都封装到了对应的方法中,下面新建一个随机播放音乐的方法
# 组合操作,进行后台播放音乐
def start_background_play(self):
self.start()                                        # 启动apk
self.click_drawer()                          # 点击选项图标
self.click_title_drawer()                   # 点击歌曲
self.list_shuffle_all()                         # 点击随机播放
self.d.press("home")                        # 模拟按键操作,按home键切换到后台
以上为基本的操作,实际实战中会有更多复杂的情况,比如弹框、元素名称重复等,需要慢慢的积累。在这里就不复述了。这里只简单描述启动一个apk到封装一个操作以便调用;
完整代码如下:
import uiautomator2 as u2
# 定义一个名为Music的class类,用于存放所有Music的相关点击、组合等操作
class Music:
def __init__(self, d):
self.d = d
# 定义一个名为start的方法,用于启动apk
def start(self):
self.d.app_start("com.android.music", activity=".MusicBrowserActivity")
# 点击选项图标
def click_drawer(self):
self.d(description=u"drawer").click()
# 点击 歌曲 选项
def click_title_drawer(self):
self.d(resourceId="com.android.music:id/title", text=u"歌曲").click()
# 点击随机播放
def list_shuffle_all(self):
self.d(resourceId="com.android.music:id/shuffleAll").click()
# 组合操作,进行后台播放音乐
def start_background_play(self):
self.start()# 启动apk
self.click_drawer()# 点击选项图标
self.click_title_drawer()# 点击歌曲
self.list_shuffle_all()# 点击随机播放
self.d.press("home")# 模拟按键操作,按home键切换到后台
d = u2.connect()# 初始化连接设备
music = Music(d)# 实例化Music类,传入设备d
music.start_background_play()# 调用start_background_play方法,启动后台音乐apk
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python Appium开启Android测试之路
Appium入门示例(Java)
Android自动化测试(UiAutomator)简要介绍
Android端手机测试体系
手把手教你appium
Android Appium Server从启动到case完成的活动分析 – 码农网
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服