Я думаю, что согласен с комментарием, который вы получили ранее, ваша функция всегда будет возвращать пустой список. Асинхронные вызовы не работают таким образом. Нет возвращаемого значения.
Не совершайте API-вызовы внутри ListingModel. Получить данные в первую очередь. Затем передайте его в ListingModel. У вас может быть метод update (), который получает список выбранных элементов и вызывает обновление ListingModel.
В ItemAdapter создайте метод, который устанавливает список и уведомляет адаптер об обновлении, вызывая notifyDataSetChanged (); Затем вызовите этот метод в ответе об успешном завершении, если выбранный список не пуст. то есть itemAdapter.setList (myArrayList).
Взгляд https://github.com/cucumber/cucumber/wiki/setting-up-selenium для довольно полной пошаговой демонстрации, плюс примеры, которые идут с Огурцом (собственные примеры и селен через webrat).
Это руководство устарело, исправление готовится, но пока вам не нужен гем Selenium. Кроме того, вы должны использовать selenium-client -v = 1.2.14. Банки перезаписывать не нужно. Убедитесь, что все процессы селена остановлены, установлены правильные версии и должны работать. Информация о нескольких средах для тестов на селен / неселен по-прежнему актуальна и полезна.
Чтобы немного обновить этот ответ, я настоятельно рекомендую использовать Capybara:
http://github.com/jnicklas/capybara
Возможность использовать javascript - это просто драгоценный камень, установка
прочь!