是否可以使用Espresso通过AndroidForWork工作资料

时间:2018-06-07 04:26:50

标签: android ui-automation android-espresso android-for-work

我想通过Espresso测试MyApp。 MyApp可以进行AndroidForWork注册。注册后,设备上将有2个MyApp:一个是个人资料,另一个是工作资料,如下所示:(我只是以下载应用为例。) app with personal profile and work profile

enter image description here

我的问题:是否可以使用espresso来测试个人和工作资料应用?如果是的话怎么做?

我想测试的是什么:

  1. 启动MyApp(使用个人资料,尚未拥有MyApp的工作资料)。 - Espresso工作正常。
  2. 执行AndroidForWork注册 - Espresso工作正常,然后生成带有工作资料的MyApp。
  3. 使用工作资料启动MyApp并对其进行测试。 - 我不知道该怎么做。 My Espresso仅使用个人资料推出MyApp。 MyApps(个人或工作资料)都具有完全相同的包名。
  4. 顺便说一句,我试过UIAutomator用工作资料来测试MyApp,但MyApp有一些网页,而UIAutomator无法识别其中的网页元素。这就是为什么我仍然希望使用Espresso来测试MyApp的工作资料。

1 个答案:

答案 0 :(得分:0)

一些可能的选项可能是(blocking activity launch):

使用InstrumentationRegistry启动定位配置文件的意图

.leastNonzeroMagnitude

(例如,用InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand("am start --user <USER_ID> -n <appId>/<activity>")获取UserInfo)

使用UIAutomator启动目标应用

pm list users