Airtest IDE 自动化测试15 - 如何让 Airtest 启动指定包名(start_app)

前言

做app自动化测试,第一步是启动待测app, Airtest可以通过截图app图标定位到启动图标,但必须保证是在app列表页。
如何让 Airtest 启动指定包名 app? 可以通过指定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在设备上启动目标应用
参数:

  • package – 想要启动的应用包名package name,例如 com.netease.my
  • activity – 需要启动的activity,默认为None,意为main activity
    返回: None
    支持平台: Android, iOS

示例:

>>> start_app("com.netease.cloudmusic")
>>> start_app("com.apple.mobilesafari")  # on iOS

stop_app

终止目标应用在设备上的运行

参数:
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")

运行可以看到跳过首页,直接进入到登录页

一般情况下可以启动app,默认进入首页'main.activity.ActivityMain'

# 启动指定app
start_app(package="com.netease.edu.study", activity="main.activity.ActivityMain")
posted @ 2021-06-02 22:40  上海-悠悠  阅读(1753)  评论(0编辑  收藏  举报