Question

J'ai installé Calabash en tant que pod dans mon projet.La gemme elle-même est installée à l'aide du bundler.Lorsque j'essaie d'exécuter du concombre pour ma cible Calebasse, les premières fonctionnalités démarrent mais se bloquent et le simulateur ne se lance jamais :

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

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

Plus de détails sur mon 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)"
}
Était-ce utile?

La solution

Ok, cela signifie que Calebasse ne peut pas localiser votre application.

Essayez ceci d'abord,

  1. Commentez la définition app_bundle_path sur votreProject / fonctionnalités / support / 01_launch.rb comme #APP_BUNDLE_PATH = "~/..../../myApp-cal.app" Ainsi, le Calabash Gem peut localiser automatiquement l'application.
  2. Ouvrez une console, accédez au dossier du projet à partir de celle-ci.Entrez ensuite gem install calabash-cucumber cela installera la gemme calebasse et pourra s'exécuter à nouveau même si vous l'avez installé précédemment, il n'y a aucun mal.Entrez ensuite calabash-ios setup dans ce terminal, cela créera une cible calebasse et ajoutera le framework calebasse à votre projet iOS.plus de détails sur le processus de configuration sont mentionnés dans ici.
  3. Ouvrez maintenant le fichier de projet dans l'éditeur Xcode (vous pouvez voir le calabash.framework ajouté avec succès au groupe de framework de votre projet.) Sélectionnez la cible yourApp-cal et le simulateur que vous souhaitez nettoyer, construisez et exécutez la cible yourApp-cal sur votre simulateur.
  4. Ensuite, arrêtez-le et revenez à cette console, entrez calabash-ios console console démarrera une console Ruby avec laquelle vous pourrez travailler avec l'application.maintenant (pendant que le simulateur est sur votre écran mais que votre application est en arrière-plan sur ce simulateur), tapez start_test_server_in_background votre application doit passer au premier plan.Si cela fonctionne, la calebasse peut trouver et exécuter votre application sur le simulateur.
  5. N'oubliez pas que si vous créez une application construite sur un dossier séparé à l'aide d'une commande ou d'un script xcodebuild ou quelque chose du genre, c'est le moment de définir la variable APP_BUNDLE_PATH.

Autres conseils

La réponse de Chathura a travaillé pour l'un de mes collègues, mais quelques-uns d'entre nous devaient trouver une autre solution.

Le problème pour nous s'est produit après avoir introduit des cocoapodes.Dans Xcode, j'ai ouvert l'organisateur et j'ai remarqué que nous avions un dossier de données dérivé pour le projet BP (avant PODS) et une autre pour l'espace de travail avec des pods.J'ai supprimé le dossier de données dérivé pour le projet BP, puis tout a fonctionné.

J'avais re-configurer Calabash avant de le faire, la solution dans mon cas peut donc être une combinaison de la réponse et de la mienne de Chathura.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top