【发布时间】:2011-03-09 03:57:14
【问题描述】:
我遇到了一个我无法解释的奇怪情况。
以下代码运行良好:
solo.sleep(1000);
assertTrue(solo.searchText("Banking"));
但以下代码失败:
assertTrue(solo.waitForText("Banking", 1, 1000));
谁能解释一下?
亲切的问候,
奥尔本。
【问题讨论】:
标签: android unit-testing robotium
我遇到了一个我无法解释的奇怪情况。
以下代码运行良好:
solo.sleep(1000);
assertTrue(solo.searchText("Banking"));
但以下代码失败:
assertTrue(solo.waitForText("Banking", 1, 1000));
谁能解释一下?
亲切的问候,
奥尔本。
【问题讨论】:
标签: android unit-testing robotium
在 robots-1.7.1 之前,searchText() 存在一些问题。即使应该找到文本,它也绝对不是总能找到。您可能想用没有计时的简单代码再试一次。
【讨论】:
问题是 waitForText 中的 '1000' 没有设置延迟,它设置了继续查找的时间。如果在这段时间内没有找到文本,则返回 false。 See Robotium source
像这样试试第二个版本,看看是不是不行:
assertTrue(solo.waitForText("Banking", 1, 10000)); // Take up to 10 seconds
另外,第一个之前的延迟可能不会改变任何事情。我认为第一个示例也可以:
assertTrue(solo.searchText("Banking"));
【讨论】: