0

我正在自动化一个应用程序,该应用程序在应用程序的任何位置显示一些覆盖消息,用于多种场景,例如第一次安装的应用程序等。(我对 Robotium 也很陌生。)

覆盖显示文本,通过滑动或单击它会消失。此外,这些叠加层有不同类型,上面有不同的独特文本。(我们称之为活动 A)

我想创建一个健壮的测试用例来优雅地处理这种情况。从测试的角度来看,我们不会知道活动 A 会一直存在。但如果确实如此,我想通过编写一个我可以随时调用的方法来从场景中恢复过来。目前,由于我预期的活动名称不匹配,因此调用了 tearDown 方法。

此外,即使活动 A 存在,也有其他预定义的覆盖文本。因此,如果我使用 solo.waitForText("abc") 来检查文本“abc”,我可能会看到带有文本“pqr”的叠加层 2。

所以我一直在寻找一种自动化的方法,我不能使用solo.assertCurrentActivity() 或solo.waitForActivity 方法,因为它们只是在第一次失败后停止执行。

因此,任何指导表示赞赏!

4

2 回答 2

2

所有的 waitFor 方法都返回一个布尔值。所以你可以完全按照你的意愿使用 waitForActivity() 。如果 Activity 不存在,它将返回 false。

于 2013-05-15T19:21:03.610 回答
1

您可以检查哪个 Activity 是当前的:

Activity current = solo.getCurrentActivity();
于 2013-05-15T19:40:01.830 回答