2016-05-12 1 views
0

Я использую эспрессо для тестирования UIAutomation.Эспрессо не может разрешить символ «android.R.id.select_dialog_listview»

Он работает отлично во всех случаях, но я получил сообщение об ошибке, что я не могу разрешить относительно android.R.id.select_dialog_listview в этой строке кода

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

Но в моем инструменте Просмотр иерархии существует Listview с этим идентификатором.

Мои зависимости эспрессо, как ниже

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

, пожалуйста, включите файл макета xml. –

+0

Получаете ли вы ошибку компиляции или ошибку выполнения? – nenick

+0

Это компиляция Ошибка – BalaramNayak

ответ

0

Изменение имени локального ресурса на select_dialog_listview_local, например.

0

У меня было то же самое, мой компилятор не нашел R.id.any_id или R.string.any_string. Я установил его вручную импортировать правильный R, убедившись, что эта строка будет добавлена:

import es.voghdev.progressbuttonview.sample.R; 

Или в более общем

import com.yourcompany.yourappname.R; 

затем попытайтесь снова собрать. Надеюсь, что это работает для вас слишком

точный файл, где у меня был вопрос является this one

0

Идентификатор android.R.id.select_dialog_listview объявлен в select_dialog.xml, что является расположение Android SDK, и не каждый идентификатор SDK подвергается за пределами.

Если вы собираетесь протестировать системный диалог (например, SingleChoiceItem), вы можете быть уверены, что на данный момент в верхней части экрана присутствует только один ListView. Таким образом, вы можете использовать утверждение следующим образом:

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