做app自动化测试,第一步是启动待测app, Airtest可以通过截图app图标定位到启动图标,但必须保证是在app列表页。 如何让 Airtest 启动指定包名 app?可以通过指定app包名来启动。
查找app包名,前面一篇讲的很详细了https://www.cnblogs.com/yoyoketang/p/14842568.html
可以在手机上打开 app,windows 系统用 findstr 过滤,cmd 输入
>adb shell dumpsys window | findstr mCurrentFocus
运行结果
C:\Users\dell>adb shell dumpsys window | findstr mCurrentFocus
mCurrentFocus=Window{6aff6e2 u0 com.netease.edu.study/com.netease.edu.study.main.activity.ActivityMain}
于是可以查到包名:com.netease.edu.study 当前正在启动的activity名称:com.netease.edu.study.main.activity.ActivityMain
start_app在设备上启动目标应用 参数:
示例:
>>> start_app("com.netease.cloudmusic")
>>> start_app("com.apple.mobilesafari") # on iOS
终止目标应用在设备上的运行
参数: package: 需要终止运行的应用包名 package name,另见 start_app 返回:None 支持平台: Android, iOS 示例:
>>> stop_app("com.netease.cloudmusic")
启动 app 后等sleep 5秒,然后停掉 app
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
# 启动指定app
start_app(package="com.netease.edu.study")
sleep(5)
# 停掉app
stop_app(package="com.netease.edu.study")
如果app本身就是启动的状态,如下在登录页面,那么不会重新启动
如果我想启动app直接进入到登录页,activity名称写包名后面的一部分就可以,如:com.netease.edu.study.ogin.activity.ActivityLogin
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
# 启动指定app
start_app(package="com.netease.edu.study", activity="login.activity.ActivityLogin")
sleep(10)
# 停掉app
stop_app(package="com.netease.edu.study")
运行可以看到跳过首页,直接进入到登录页