Appium:如何从Android For Work工作资料中启动应用程序

时间:2017-04-11 11:25:34

标签: android automation appium ui-automation

我需要启动一个具有不同工作档案的应用程序(Android For Work)。如果在个人资料中安装应用程序,那么我可以从同一设备上的个人资料中启动应用程序。

但是,当我仅在工作资料中安装应用时,我无法通过adb命令启动应用

根据我的理解,谷歌为个人和工作档案保留了两个不同的容器。我认为工作资料具有不同的空间,而adb无法访问该应用和工作资料工作区。

我需要通过appium启动应用

如果有人对上述问题有答案,请回答。在此先感谢!

3 个答案:

答案 0 :(得分:3)

您的意思是在不同的用户帐户上启动应用程序吗?请查看此链接:https://stackoverflow.com/a/24093533/5093606 您可以尝试使用

获取帐户列表
adb shell pm list users

如果您在那里工作,请尝试

adb shell am start --user WORKING_ACCOUNT com.example.MainActivity

答案 1 :(得分:0)

是的,有办法使用Appium / Adb命令启动应用程序。而不是appium使用adb命令来启动应用程序。

您用于AndroidForWork注册的应用,应该是android:debuggable模式。将debuggable模式设置为true并构建apk。

一旦设备注册/配置Android工作,然后获取用户列表。

adb shell pm list用户UserInfo {0:Drew:13}运行UserInfo {10:工作资料:30}正在运行

获取workprofile用户ID。在这种情况下,10是id。使用用户ID启动应用。

adb shell am start --user 10 -n" com.android.vending / com.google.android.finsky.activities.MainActivity"

注意:如果在调试模式下未启用配置应用,则您无法访问工作配置文件用户。

答案 2 :(得分:0)

结果证明,我可以通过将另一个参数添加到检查器来使用Appium Desktop完成此操作:

optionalIntentArguments文本-用户12

其中“ 12”是您通过输入以下内容会看到的工作资料ID:

adb -d shell pm list users
Users:
    UserInfo{0:Ken Corey:13} running
    UserInfo{12:Workspace:50100030} running