Android 如何在Robotium测试中检查剪贴板中是否存在文本?

Android 如何在Robotium测试中检查剪贴板中是否存在文本?,android,robotium,Android,Robotium,我正在使用Robotium测试我的Android应用程序。在对话框中,我有一个按钮,可以将对话框中的文本复制到剪贴板。是否可以在我的测试中访问剪贴板,以查看在按下按钮后是否复制了文本?如果是,如何使用?您可以像在应用程序中一样使用剪贴板管理器服务,然后使用其getText()方法检索值。它应该看起来像(未经测试,根据记忆,我喝了几杯…): 然后,您需要断言这与预期结果相匹配(无论您在对话框中设置了什么)您可以使用剪贴板管理器服务,方法与您在应用程序中使用的方法相同,然后使用其getText()方

我正在使用Robotium测试我的Android应用程序。在对话框中,我有一个按钮,可以将对话框中的文本复制到剪贴板。是否可以在我的测试中访问剪贴板,以查看在按下按钮后是否复制了文本?如果是,如何使用?

您可以像在应用程序中一样使用剪贴板管理器服务,然后使用其getText()方法检索值。它应该看起来像(未经测试,根据记忆,我喝了几杯…):


然后,您需要断言这与预期结果相匹配(无论您在对话框中设置了什么)

您可以使用剪贴板管理器服务,方法与您在应用程序中使用的方法相同,然后使用其getText()方法检索值。它应该看起来像(未经测试,根据记忆,我喝了几杯…):


然后,您需要断言这与预期结果相匹配(无论您在对话框中设置了什么)

都可以完美地工作。只需在Build.VERSION.SDK_INT之后删除第2行上的分号;并将第4行更改为返回剪贴板.getPrimaryClip().toString();工作完美。只需在Build.VERSION.SDK_INT之后删除第2行上的分号;并将第4行更改为返回剪贴板.getPrimaryClip().toString();
public String getClipboardText(){
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB){
         android.content.ClipboardManager clipboard =  (android.content.ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
            return clipboard.getText(); 
    } else{
        android.text.ClipboardManager clipboard = (android.text.ClipboardManager)getSystemService(CLIPBOARD_SERVICE); 
        return clipboard.getText(); 
    }
}