2013-10-25 3 views
0

Использование Robotium, как проверить перенаправление в Google Play Store?Как перенести перенаправление в Google Play Store

Шаги:

  1. Нажмите на ссылку из ListView из тестового приложения.
  2. Проверьте, что он перенаправляется в Google Play Store.

Я заметил, что, хотя Google Play Store открыт, мое тестовое приложение также открыто под ним. (Я распечатал все виды)

Поэтому я не могу «утверждать, что вид xyz из тестового приложения не существует».

Как проверить перенаправление на Google Play?

ответ

0

Возможно ли это? вроде, к сожалению, роботизм делает это очень трудно сделать так легко, это из-за того, что роботиум отслеживает, что такое текущая деятельность, если вы использовали прямое инструментальное оборудование, было бы так же легко, как установить фильтр намерений, прежде чем вы нажмете представление/выполнение действия, которое запускает игровое хранилище, тогда вы можете утверждать, что ваш фильтр фактически был поражен (что доказывает, что магазин игры Google фактически будет запущен, если у вас не было фильтра).

Поскольку вы используете роботизм, вы не можете сделать это так легко, так как у роботиума уже есть фильтр намерений, который соответствует всем, чтобы это означало, что вам придется делать некоторые ужасы с отражением.

Что вам нужно сделать, это:

разжиться частного члена класса приборов под названием mActivityMonitors, в этом списке деятельности контролирует вы найдете там один внутри него, это будет деятельность robotiums монитор, сохраните это где-нибудь, затем удалите его из списка.

Затем вам нужно будет добавить свой собственный он будет выглядеть, чтобы проверить googleplay запусков (я предлагаю читать о Намерении фильтров на андроид сайте API документов)

Instrumentation inst = getInstrumentation(); 
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_View); 

ActivityMonitor monitor = inst.addMonitor(intentFilter, null, true); //true is imporant it blocks the activity from launching so that your test can continue. 

assertEquals(0, monitor.getHits()); 

//do action that fires activity 

assertEquals(1, monitor.getHits()); 
inst.removeMonitor(monitor); 

Вы теперь должны readd деятельности сначала удалите монитор, чтобы роботизм продолжал работать, как ожидалось. Я не на машине, на которой я могу проверить все это, но я использовал эту технику раньше.

Смежные вопросы