Espresso无法解析符号“android.R.id.select_dialog_listview”

时间:2016-05-12 11:07:49

标签: android android-testing android-espresso

我正在使用浓缩咖啡进行UIAutomation测试。

它在所有情况下都运行正常,但是我在这行代码中遇到了一个我无法解决的关于android.R.id.select_dialog_listview的错误

onView(withId(android.R.id.select_dialog_listview)).perform(swipeUp());

但是在我的View Hierarchy工具中,存在一个带有此id的Listview。

我的espresso依赖关系如下

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile 'com.android.support.test:runner:0.5'

3 个答案:

答案 0 :(得分:0)

例如,将本地资源名称更改为select_dialog_listview_local

答案 1 :(得分:0)

我也一样,我的编译器没有找到R.id.any_idR.string.any_string。我通过手动导入正确的R来修复它,确保添加了这一行:

import es.voghdev.progressbuttonview.sample.R;

或者更一般地说

import com.yourcompany.yourappname.R;

然后尝试再次编译。希望它也适合你

我遇到问题的确切文件是this one

答案 2 :(得分:0)

ID android.R.id.select_dialog_listviewselect_dialog.xml中声明,它是Android SDK的布局,并不是SDK的每个ID都暴露在外面。

如果要测试系统对话框(如SingleChoiceItem),可以确保此时屏幕顶部只有一个ListView。所以你可以使用这样的断言:

onData(anything())
    .inAdapterView(isAssignableFrom(ListView.class))
    .atPosition(0)
    .perform(click());