Я пытаюсь протестировать динамически генерируемый Spinner. Я могу нажать на spinner, но затем мне нужно выбрать опцию из списка с указанным текстом, который отображается (я узнал из hierarchyviewer, что отображается PopupWindow, но я не могу получить требуемый текст, который находится вне экрана) , Вертушка использует ArrayAdapter пользовательских объектов (код ниже),Эспрессо-динамическое тестирование счетчика
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner mySpinner = (Spinner) findViewById(R.id.my_spinner);
List<MyValue> list = Arrays.asList(
new MyValue("One", "1"),
new MyValue("Two", "2"),
new MyValue("Three", "3"),
new MyValue("Four", "4"),
new MyValue("Five", "5"),
new MyValue("Six", "6"),
new MyValue("Seven", "7"),
new MyValue("Eight", "8"),
new MyValue("Nine", "9"),
new MyValue("Ten", "10"),
new MyValue("Eleven", "11"),
new MyValue("Twelve", "12"),
new MyValue("Thirteen", "13"),
new MyValue("Fourteen", "14"),
new MyValue("Fifteen", "15"),
new MyValue("Sixteen", "16"),
new MyValue("Seventeen", "17"),
new MyValue("Eighteen", "18"),
new MyValue("Nineteen", "19"),
new MyValue("Twenty", "20"),
new MyValue("Twenty One", "21")
);
final ArrayAdapter<MyValue> adapter = new ArrayAdapter<>(this,
R.layout.dropdown_selected_item,
list);
mySpinner.setAdapter(adapter);
mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d("MySpinnerTest", "current = " + adapter.getItem(position));
}
@Override
public void onNothingSelected(AdapterView<?> parent) {}
});
}
public class MyValue {
String name;
String code;
public MyValue(String name, String code) {
this.name = name;
this.code = code;
}
@Override
public String toString() {
return name;
}
}
}
Я попытался с onData(withSpinnerText("Twenty")).perform(click())
но получить PerformException и я пытался выяснить, как еще соответствовать правильный вид, основанный на данном тексте, в блесны popupwindow, но не мог понять, как это сделать.
Любая помощь была бы принята с благодарностью.
ТИА
Можно ли подключить выполнение исключения, которое вы видите, и с помощью соединителя SpinnerText? –