Android 测试 - Android performClick() 或 Robotium clickOnView() 都不起作用

标签 android robotium android-testing

当点击提交按钮时,Logcat 没有打印任何它应该打印的东西!
我错过了什么?

主 Activity 功能测试

public class MainActivityFunctionalTest extends
        ActivityInstrumentationTestCase2<MainActivity> {
public void testRegistrationFormIsSubmitted() {
final MainActivity mainActivity = (MainActivity) solo.getCurrentActivity();

        try {
            runTestOnUiThread(new Runnable() {
                @Override
                public void run() {
ImageButton submitBtn = (ImageButton) solo.getView(R.id.btn_next);

                    assertNotNull(submitBtn);
                    submitBtn.performClick();
}
            });
        } catch (Throwable e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
}
}  

主要 Activity

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
ImageButton submitBtn = (ImageButton) findViewById(R.id.btn_next);
submitBtn.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Log.i(TAG, "Submit button is clicked");// This is not printed
                sendActivation(v);
            }
        });
}

更新
所以我将 submitBtn.performClick() 更改为 solo.clickOnView(submitBtn) 但问题仍然存在

最佳答案

因为您正在调用 runTestOnUiThread(),所以您的测试方法在您的 run() 被调用之前完成(并通过)。解决方案就是停止使用 runTestOnUiThread()。

public void testRegistrationFormIsSubmitted() {
    MainActivity mainActivity = (MainActivity) solo.getCurrentActivity();
    ImageButton submitBtn = (ImageButton) solo.getView(R.id.btn_next);
    assertNotNull(submitBtn);
    submitBtn.performClick();
}

关于Android 测试 - Android performClick() 或 Robotium clickOnView() 都不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21718021/

相关文章:

安卓 "Could not find method android.app.Notification$Builder.setLocalOnly "

android - Firestore 忽略对象中的空值

android - 没有连接到授权服务器。 eclipse 的 Testdroid 插件

Android 测试 - ActivityInstrumentationTestCase2 有问题吗?

java - 在两个项目之间共享 Android 测试

android -/sdcard上的音乐文件是否进入apk?

Android测试原始资源

android - "ask, don' t look”如何在Android中应用?

android - Android 单元测试的最佳实践?

android - 有没有办法从下一次应用程序/进程崩溃测试继续进行 Espresso 测试?