如何在应用程序测试中模拟单击按钮。我试着将注意力集中在按钮上并发送按键"输入"但没有雪茄。
答案 0 :(得分:5)
只需调用performClick()
方法即可。请参阅the View docs以供参考。
Button button = (Button) findViewByid(R.id.mybutton);
button.performClick();
或者,如果开发冰淇淋三明治(API级别15),则添加callOnClick()
方法。不过,performClick()
非常适合您的需求。
答案 1 :(得分:1)
请查看Robotium项目。它是Android的测试框架,您可以轻松实现您想要的功能,等等。
答案 2 :(得分:1)
接受的答案对我来说并不合适,我正在使用的东西没有performClick
方法。对于那些来到这里的人来说,如果您正在进行仪器化测试,您可能需要这样的事情:
onView(withId(R.id.myButton)).perform(ViewActions.click());
答案 3 :(得分:0)
我在performClick方法上遇到了很多问题(与使用错误的线程和诸如此类的东西有关)。按照本android training lesson中的说明,使用TouchUtils.clickView我有更多的运气。以下是一些示例用法:
public class ClickFunActivityTest extends ActivityInstrumentationTestCase2 {
...
@Override
protected void setUp() throws Exception {
super.setUp();
setActivityInitialTouchMode(true);
mClickFunActivity = getActivity();
mClickMeButton = (Button)
mClickFunActivity.findViewById(R.id.launch_next_activity_button);
}
public void testClickMeButton_clickButtonAndExpectInfoText() {
TouchUtils.clickView(this, mClickMeButton);
//Do some other testing afterward
}
}
完整的代码可以在链接或here。
中找到