I have an app installation hook file like
require 'calabash-android/management/app_installation'
AfterConfiguration do |config|
FeatureNameMemory.feature_name = nil
end
Before do |scenario|
@scenario_is_outline = (scenario.class == Cucumber::Ast::OutlineTable::ExampleRow)
if @scenario_is_outline
scenario = scenario.scenario_outline
end
feature_name = scenario.feature.title
if FeatureNameMemory.feature_name != feature_name \
or ENV["RESET_BETWEEN_SCENARIOS"] == "1"
if ENV["RESET_BETWEEN_SCENARIOS"] == "1"
log "New scenario - reinstalling apps"
else
log "First scenario in feature - reinstalling apps"
end
uninstall_apps
install_app(ENV["TEST_APP_PATH"])
install_app(ENV["APP_PATH"])
FeatureNameMemory.feature_name = feature_name
FeatureNameMemory.invocation = 1
else
FeatureNameMemory.invocation += 1
end
end
FeatureNameMemory = Class.new
class << FeatureNameMemory
@feature_name = nil
attr_accessor :feature_name, :invocation
end
Here it will reinstall the apps for every feature. but i want the app to be installed only once , so how to change this file.
I found this thread on the calabash-android google group that sounds like what you are asking for.
It says delete these 3 lines uninstall_apps install_app(ENV["TEST_APP_PATH"]) install_app(ENV["APP_PATH"])
Then make sure to install app when you start your tests.
For the full post see this link https://groups.google.com/forum/#!topic/calabash-android/Ql3iluRMijg The reply by Preeti Jindal.