gpt4 book ai didi

android - 如何从单元/robotium 测试中获取对 fragment 的引用?

转载 作者:搜寻专家 更新时间:2023-11-01 08:02:49 24 4
gpt4 key购买 nike

如何在 Robotium 单元测试中获取对 fragment 的引用。在我的例子中, fragment 包含一个 WebView。我想使用 solo 来引用 fragment ?如何才能做到这一点?顺便说一句,我之前已经问过三个 robotium/android 问题,没有投票也没有回应!让我们不要忽视测试。请至少重视这个问题。

最佳答案

我已经离开 robotium(和 SO)一段时间了,但你过去可以执行以下操作,因为 robotium 没有内置的方法来获取 fragment 。

第一步是您需要足够简单的当前 Activity :

Activity current = solo.getCurrentActivity();

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

所以代码变成:

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

然后您将获得您的 fragment !

虽然这可能存在一个问题,但有些 Activity 没有 getFramentManager() 方法,它们取而代之的是 getSupportFragmentManager() 方法,它的工作原理相同,但为旧设备提供 fragment 支持,因此您可能需要使用一个或另一个。如果您需要同时支持这两种方法,您将不得不进行一些反射(reflection)以确定不幸的是要调用哪个方法。

关于android - 如何从单元/robotium 测试中获取对 fragment 的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18647787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com