使用getCurrentActivity
或assertCurrentActivity
时,总是会给我一个错误的信息。我有活动A并切换到活动B。但是我总是得到活动A作为答案。
这是为什么?
即时通讯使用Robotium版本5.3.0并在5.0.0和Emulator上进行测试
最佳答案
如果在测试中启动后立即尝试获取当前活动,则会发生这种情况,因为启动新的Activity不会阻塞正在运行测试的线程。 Robotium等待“活动”生命周期回调将其放入“活动”堆栈中,并确定哪个是当前活动。
在使用waitForActivity
和getCurrentActivity
之前,应先尝试使用assertCurrentActivity
。调用waitForActivity
会阻塞测试线程,直到显示预期的活动,并在超时(默认值为10秒,IIRC)后继续运行代码