Calabash - не переустанавливать приложение при запуске

Мое приложение при первом запуске пользователь должен пройти аутентификацию.

У меня есть функция с разными отмеченными сценариями. Теперь мне нужно запустить всего несколько сценариев, но каждый раз, когда я запускаю следующую команду

calabash-android run /path/to/apk features/my.feature --tags @Alert

Мое приложение переустанавливается, что приводит к сбою тестов в моем сценарии @Alert. Как я могу сказать калебасу не переустанавливать приложение?

Погуглив, я нашел это, в котором говорится:

Go to app_installation_hooks.rb file under support folder and comment out following 3 lines:

uninstall_apps
install_app(......)
install_app(......)

но я ищу команду или более элегантный способ делать то, что я хочу.


person dazito    schedule 13.10.2015    source источник


Ответы (2)


Я думаю, вам нужно обновить app_installation_hooks и добавить помеченный крючок Before.

Тест дыма Calabash для iOS 01_launch. rb (да, это пример для iOS, но принципы те же) содержит примеры того, что я имею в виду.

Before('@reset_app_btw_scenarios') do
  if xamarin_test_cloud?
    ENV['RESET_BETWEEN_SCENARIOS'] = '1'
  elsif LaunchControl.target_is_simulator?
    target = LaunchControl.target
    simulator = RunLoop::Device.device_with_identifier(target)
    app = RunLoop::App.new(ENV['APP'])
    core_sim = RunLoop::CoreSimulator.new(simulator, app)
    core_sim.reset_app_sandbox
  else
    LaunchControl.install_on_physical_device
  end
end
person jmoody    schedule 14.10.2015

Cucumber предоставляет ряд хуков, которые позволяют нам запускать блоки в различных точках теста Cucumber. цикл.

Я думаю, что вам нужны Tagged hooks.

Иногда вы можете захотеть, чтобы определенный хук запускался только для определенных сценариев. Этого можно добиться, связав хук «До», «После», «Вокруг» или «После шага» с одним или несколькими тегами.

person Eaway Lu    schedule 16.11.2015