如何从单元/机器人测试中获取对片段的引用?

时间:2013-09-05 23:56:48

标签: android robotium

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

1 个答案:

答案 0 :(得分:3)

我已经离开机器人(和SO)一段时间,但你曾经能够做到以下情况,因为机器人没有内置的方式来获取片段。

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

Activity current = solo.getCurrentActivity();

如果查看Android activity API,您会注意到它有方法getFragmentManager()然后如果您遵循该方法,您将找到名为findFragmentByXXX()的方法;

所以代码变成:

Fragment fragment = solo.getCurrentActivity()。getFragmentManager()。findFragmentByID(xxx);

然后你会有你的片段!

这有一个问题,但有些活动没有getFramentManager()方法,而是使用方法getSupportFragmentManager(),它的工作方式相同,但是为旧设备提供了片段支持,所以你可能需要使用一个或者另一个。如果你需要支持两者,你将不得不做一些反思来确定不幸的是要调用哪种方法。