Frage

Ich habe Calabash als Pod in meinem Projekt installiert.Das Gem selbst wird mit dem Bundler installiert.Wenn ich versuche, „gurke“ für mein Calabash-Ziel auszuführen, starten die ersten Funktionen, hängen aber einfach auf und der Simulator startet nie:

$ bundle exec cucumber
Feature: Ensure Login and Oauth Screen Functionality

  Scenario: Verify Welcome Page                 # features/Sign_in.feature:3

Weitere Details aus meiner Installation:

# xcode installation location
$ xcode-select --print-path
/Applications/Xcode.app/Contents/Developer

# xcode version
$ xcodebuild -version
Xcode 5.1.1
Build version 5B1008

# calabash version
$ bundle exec calabash-ios version
0.9.168

# calabash < 0.9.169 or Xamarin IDE users
# start your app manually in the simulator or from Xcode and then launch a console
$ bundle exec calabash-ios console
> server_version
{
                        "outcome" => "SUCCESS",
                         "app_id" => "[REDACTED]",
               "simulator_device" => "iPhone",
                        "version" => "0.9.168",
                       "app_name" => "[REDACTED]",
    "iphone_app_emulated_on_ipad" => false,
                          "4inch" => true,
                            "git" => {
        "remote_origin" => "git@github.com:jmoody/calabash-ios-server.git",
               "branch" => "master",
             "revision" => "adde106"
    },
                    "app_version" => "2.0.1",
                    "iOS_version" => "7.1",
                         "system" => "x86_64",
                      "simulator" => "iPhone Simulator 463.9.41, iPhone OS 7.1 (iPhone Retina (4-inch)/11D167)"
}
War es hilfreich?

Lösung

Ok, das bedeutet, dass Calabash Ihre App nicht finden kann.

Probieren Sie es zuerst aus,

  1. Kommentieren #APP_BUNDLE_PATH = "~/..../../myApp-cal.app" Das Calabash -Juwel kann die App automatisch finden.
  2. Öffnen Sie eine Konsole und gehen Sie von dort aus zum Projektordner.Dann treten Sie ein gem install calabash-cucumber Dadurch wird der Calabash-Gem installiert. Er kann wieder ausgeführt werden, auch wenn Sie ihn bereits zuvor installiert haben. Es schadet nichts.Dann treten Sie ein calabash-ios setup In diesem Terminal wird dadurch ein Calabash-Ziel erstellt und das Calabash-Framework zu Ihrem iOS-Projekt hinzugefügt.Weitere Details zum Einrichtungsprozess finden Sie in Hier.
  3. Öffnen Sie nun die Projektdatei im Xcode-Editor (Sie können sehen, dass calabash.framework erfolgreich zur Framework-Gruppe Ihres Projekts hinzugefügt wurde). Wählen Sie das Ziel „yourApp-cal“ und den Simulator aus, den Sie bereinigen möchten, erstellen Sie das Ziel „yourApp-cal“ und führen Sie es auf Ihrem Simulator aus.
  4. Stoppen Sie es dann und kehren Sie zur Konsoleneingabe zurück calabash-ios console Die Konsole startet eine Ruby-Konsole, mit der Sie mit der App arbeiten können.Geben Sie jetzt ein (während der Simulator auf Ihrem Bildschirm angezeigt wird, Ihre App jedoch im Hintergrund auf diesem Simulator läuft). start_test_server_in_background Ihre App muss im Vordergrund stehen.Wenn das funktioniert, kann die Kalebasse Ihre App finden und im Simulator ausführen.
  5. Denken Sie nur daran, dass es an der Zeit ist, die Variable APP_BUNDLE_PATH festzulegen, wenn Sie einen App-Build in einem separaten Ordner mithilfe eines xcodebuild-Befehls, -Skripts oder Ähnlichem erstellen.

Andere Tipps

Die Antwort von Chathuras arbeitete für einen meiner Kollegen, aber ein paar von uns musste eine andere Lösung finden.

Das Problem für uns trat nach der Einführung von Kokaapoden auf.In Xcode eröffnete ich Organizer und bemerkte, dass wir einen abgeleiteten Datenordner für das BP-Projekt (vor PODs) -Projekt und einen anderen für den Arbeitsbereich mit Pods hatten.Ich habe den abgeleiteten Datenordner für das BP-Projekt gelöscht und dann funktioniert alles.

Ich hatte Calabash bereits wieder eingerichtet, also war die Lösung in meinem Fall möglicherweise eine Kombination aus Chathuras Antwort und meiner.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top