我找不到任何好的帮助.我只有几个按钮就有一个简单的活动,我需要测试它们是否重定向到正确的新页面(活动).
public void testButton() {
button.requestFocus();
button.performClick();
}
Run Code Online (Sandbox Code Playgroud)
除此之外,我真的不知道.这些教程对此非常无益:/
yor*_*rkw 31
您需要ActivityMonitor,它可以帮助您在检测过程中监控新打开的活动,查看下面的伪代码:
public void testOpenNextActivity() {
// register next activity that need to be monitored.
ActivityMonitor activityMonitor = getInstrumentation().addMonitor(NextActivity.class.getName(), null, false);
// open current activity.
MyActivity myActivity = getActivity();
final Button button = (Button) myActivity.findViewById(com.company.R.id.open_next_activity);
myActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
// click button and open next activity.
button.performClick();
}
});
//Watch for the timeout
//example values 5000 if in ms, or 5 if it's in seconds.
NextActivity nextActivity = getInstrumentation().waitForMonitorWithTimeout(activityMonitor, 5000);
// next activity is opened and captured.
assertNotNull(nextActivity);
nextActivity .finish();
}
Run Code Online (Sandbox Code Playgroud)
Roh*_*val 11
NextActivity nextActivity = getInstrumentation().waitForMonitorWithTimeout(activityMonitor, 5);
Run Code Online (Sandbox Code Playgroud)
上述答案方法中提到的参数5是以毫秒为单位,而不是以秒为单位.因此,如果它是5,有时测试用例会失败因为在5毫秒内它无法加载下一个活动.所以5000或10000毫秒肯定会更好.在文档中,他们在几秒钟内给出了它但事实上它是以毫秒为单位.因此,以下方法将比上述方法更好地工作.
NextActivity nextActivity = getInstrumentation().waitForMonitorWithTimeout(activityMonitor, 10000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14234 次 |
| 最近记录: |