2

如何在 Robotium 单元测试中获取对片段的引用。在我的情况下,片段包含一个 WebView。我想使用独奏来获取对片段的引用?如何才能做到这一点?顺便说一句,我之前问过三个机器人/安卓问题,没有投票也没有回应!让我们不要忽视测试。请至少重视这个问题。

4

1 回答 1

4

我已经离开robotium(和SO)一段时间了,但是你曾经能够做以下事情,因为robotium没有内置的方法来获取片段。

第一步是您需要当前的活动,这很容易:

Activity current = solo.getCurrentActivity();

如果您查看Android 活动 API,您会注意到它具有 getFragmentManager() 方法,然后如果您遵循该方法,您会发现名为 findFragmentByXXX(); 的方法;

所以代码变成:

片段片段 = solo.getCurrentActivity().getFragmentManager().findFragmentByID(xxx);

然后你将拥有你的片段!

但是,这可能存在一个问题,某些活动没有 getFramentManager() 方法,而是具有 getSupportFragmentManager() 方法,该方法的工作原理相同,但为旧设备提供了片段支持,因此您可能需要使用其中一个。如果您需要同时支持这两种方法,您将不得不进行一些反思以确定不幸调用哪个方法。

于 2013-09-27T13:37:29.840 回答