Domanda

Ho installato Calabash come Pod nel mio progetto.La Gem stessa è installata usando Bundler.Quando provo a eseguire il cetriolo per il mio obiettivo di Calabash, inizia le prime caratteristiche ma semplicemente si blocca e il simulatore non si avvia mai:

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

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

Maggiori dettagli dalla mia installazione:

# 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)"
}
.

È stato utile?

Soluzione

OK, significa che Calabash non può individuare la tua app.

Prova questo primo,

    .
  1. Commenta la definizione App_bundle_path YourProject / Caratteristiche / Supporto / 01_Launch.rb come #APP_BUNDLE_PATH = "~/..../../myApp-cal.app" in modo che il gemma di Calabash possa localizzare l'app automaticamente.
  2. Apri una console Vai alla cartella del progetto da esso. Quindi inserisci gem install calabash-cucumber, questo installerà il gemma di Calabash è OK per eseguire di nuovo anche se lo hai installato in precedenza non ci sono danni. Quindi inserisci calabash-ios setup In quel terminale, questo creerà un obiettivo di Calabash e aggiungerà il quadro di Calabash al tuo progetto IOS. Maggiori dettagli sul processo di configurazione è menzionato in qui .
  3. Ora apri il file del progetto in Editor Xcode (puoi vedere la Calabash.Framework aggiunta al gruppo Framework del tuo progetto correttamente.) Selezionare il bersaglio Taipp-Cal e il simulatore che si desidera pulire, costruire ed eseguire il bersaglio Taipp-Cal il tuo simulatore.
  4. Quindi interrompere e tornare a quella console inserire la console calabash-ios console avvia una console Ruby che è possibile lavorare con l'app. Ora (mentre il simulatore è sullo schermo, ma la tua app è backbround su quel simulatore) Digita start_test_server_in_background La tua app deve venire in primo piano. Se funziona, il Calabash puoi trovare ed eseguire la tua app sul simulatore.
  5. Ricorda solo se crei una build app su una cartella separata utilizzando un comando o uno script XCodeBuild o qualcosa, questo è il momento per impostare la variabile App_bundle_path.

Altri suggerimenti

La risposta di Chathura ha funzionato per uno dei miei colleghi, ma un paio di noi ha dovuto trovare un'altra soluzione.

Il problema per noi si è verificato dopo aver introdotto i cacapodi.In Xcode, ho aperto organizzatore e ho notato che avevamo una cartella dati derivata per il progetto BP (PRIMA PODS) e un altro per lo spazio di lavoro con i pod.Ho cancellato la cartella dati derivata per il progetto BP e poi tutto ha funzionato.

Avevo riscrittura di Calabash prima di farlo, quindi la soluzione nel mio caso potrebbe essere stata una combinazione di risposta di Chathura e miniera.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top