Reputation: 11
I am having difficulty when trying to launch .ipa file on a physical device.
In the console I have been able to launch app and to hit different buttons etc. so I think I have everything set up correctly. I have also put the .ipa file in the directory where I'm running cucumber from.
[**********@calabash-sandbox]$ cucumber
Feature: test Feature
Scenario: test Scenario # features/test.feature:3
Recursively searched these directories to depth 5:
/Users/********/features
but could not find any .app for the simulator that links the Calabash iOS server.
Make sure you have built your app for a simulator target from Xcode.
If you are testing a stand-alone .app (you don't have an Xcode project), put
your .app in the same directory (or below) the directory you run `cucumber` from.
(RunLoop::NoSimulatorAppFoundError)
./features/support/01_launch.rb:27:in `Before'
Given the app has launched # features/test.feature:4
And I have done a specific thing # features/test.feature:5
When I do something # features/test.feature:6
Heading
=======
Then something should happen # features/test.feature:7
Failing Scenarios:
cucumber features/test.feature:3 # Scenario: test Scenario
1 scenario (1 failed)
4 steps (4 undefined)
0m0.171s
The ipa file I'm using is stand alone and not built through xcode. The calabash framework version on the app and my calabash-ios version are the same 0.19.0 ,
Below is the 01_launch.rb, which I presume is standard
require 'calabash-cucumber/launcher'
# You can find examples of more complicated launch hooks in these
# two repositories:
#
# https://github.com/calabash/ios-smoke-test-app/blob/master/CalSmokeApp/features/support/01_launch.rb
# https://github.com/calabash/ios-webview-test-app/blob/master/CalWebViewApp/features/support/01_launch.rb
module Calabash::Launcher
@@launcher = nil
def self.launcher
@@launcher ||= Calabash::Cucumber::Launcher.new
end
def self.launcher=(launcher)
@@launcher = launcher
end
end
Before do |scenario|
launcher = Calabash::Launcher.launcher
options = {
# Add launch options here.
}
launcher.relaunch(options)
launcher.calabash_notify(self)
end
After do |scenario|
# Calabash can shutdown the app cleanly by calling the app life cycle methods
# in the UIApplicationDelegate. This is really nice for CI environments, but
# not so good for local development.
#
# See the documentation for NO_STOP for a nice debugging workflow
#
# http://calabashapi.xamarin.com/ios/file.ENVIRONMENT_VARIABLES.html#label-NO_STOP
# http://calabashapi.xamarin.com/ios/Calabash/Cucumber/Core.html#console_attach-instance_method
unless launcher.calabash_no_stop?
calabash_exit
end
end
Needless to say I'm new to calabash, any help would be greatly appreciated
Upvotes: 0
Views: 1042
Reputation: 96
its all about the xcode, ensure that you already build on simulator via xcode, if simulator already displayed, and then run the cucumber
Upvotes: 0
Reputation: 2480
In order to test an .ipa on a physical device, you need to install the ipa on the device first.
We have some sample code in the CalSmokeApp that shows how to use ideviceinstaller
to install an .ipa on a physical device.
You should also see the Testing on Physical Devices wiki page.
$ DEVICE_TARGET=<udid> \
DEVICE_ENDPOINT=http://<ip>:37265 \
BUNDLE_ID=com.example.MyApp \
cucumber
Upvotes: 0