1

So I used to have calabash working fine, but now have to do some more automated UI testing and am trying to get it working again. I upgraded my version and it seems that Calabash no longer starts the server! Instead of seeing Starting LPHTTPServer on port... when I start, I see the following output in my console:

2015-10-14 08:18:36.903 DEBUG CalabashServer:222 | Creating the server: <LPHTTPServer: 0x7fa779c51f80>
2015-10-14 08:18:36.920 DEBUG CalabashServer:223 | Calabash iOS server version: CALABASH VERSION: 0.16.4
2015-10-14 08:18:36.920 DEBUG CalabashServer:226 | App Base SDK: iphonesimulator9.0
2015-10-14 08:18:36.921 DEBUG CalabashServer:254 | IPHONE_SIMULATOR_ROOT: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 8.4.simruntime/Contents/Resources/RuntimeRoot

Because of this, or maybe a separate issue (I have a lot currently), it can't touch or interact with the simulator or even start my app up with calabash.

I'm running calabash 0.16.4, coming from 0.14.3 where it worked fine. I've tried running on an iPhone 6 on iOS 8.3 and 9, and an iPhone 5s simulator running iOS 8.4, neither works. Any ideas on what to do to get this up and running again?

Edit: Some info about my setup:

calabash-ios version
0.16.4

xcode-select --print-path
/Applications/Xcode.app/Contents/Developer

xcodebuild -version
Xcode 7.0
Build version 7A218

server_version
{
              "device_family" => "iPhone Simulator",
                    "outcome" => "SUCCESS",
                "server_port" => 37265,
           "simulator_device" => "iPhone",
                  "simulator" => "CoreSimulator 179 - Device: iPhone 5s - Runtime: iOS 8.4 (12H141) - DeviceType: iPhone 5s",
                   "app_name" => "Discover",
                "app_version" => "1",
          "screen_dimensions" => {
    "sample" => 1,
    "height" => 1136,
     "width" => 640,
     "scale" => 2
},
                        "git" => {
         "revision" => "3bf68ff",
    "remote_origin" => "git@github.com:calabash/calabash-ios-server.git",
           "branch" => "master"
},
                "device_name" => "iPhone Simulator",
                      "4inch" => true,
                     "app_id" => "com.solstice.discoverfinancialenterprise.mobile",
                "form_factor" => "iphone 4in",
                     "system" => "x86_64",
                    "version" => "0.16.4",
                "iOS_version" => "8.4",
       "short_version_string" => "6.6.1 UAT",
                "ios_version" => "8.4",
"iphone_app_emulated_on_ipad" => false,
           "model_identifier" => "iPhone6,1",
               "app_base_sdk" => "iphonesimulator9.0"
}
Bill L
  • 2,576
  • 4
  • 28
  • 55

2 Answers2

1

So, it turns out the root cause was in my device target apparently? It seems Calabash has changed the way they name simulators since 0.14.3, so instead of using "iPhone 5s (8.4 Simulator)", you now need to use "iPhone 5s (8.4)"

Bill L
  • 2,576
  • 4
  • 28
  • 55
0

We did not change the names of simulators - Apple did.

You can see the names of available simulators and devices using:

$ xcrun instruments -s devices
< snip >
iPhone 6s (9.0) [4A3868FF-E25D-4C92-B898-4BB271F21015]

From that output, valid values for DEVICE_TARGET are:

DEVICE_TARGET="iPhone 6s (9.0)"
DEVICE_TARGET=4A3868FF-E25D-4C92-B898-4BB271F21015

Apple has changed the names of the simulators in Xcode 5, 6, and 7.

jmoody
  • 2,480
  • 1
  • 16
  • 22