Pergunta

Tenho o Calabash instalado como um pod no meu projeto.A gema em si é instalada usando o bundler.Quando tento executar o pepino para meu alvo Calabash, os primeiros recursos são iniciados, mas simplesmente travam e o simulador nunca é iniciado:

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

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

Mais detalhes da minha instalação:

# 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)"
}
Foi útil?

Solução

Ok, isso significa que o cabaça não consegue localizar seu aplicativo.

Tente isso primeiro,

  1. Comente a definição App_bundle_path em seu propoject/recursos/suporte/01_launch.rb como #APP_BUNDLE_PATH = "~/..../../myApp-cal.app" Portanto, a gema Calabash pode localizar o aplicativo automaticamente.
  2. Abra um console e vá para a pasta do projeto.Então entre gem install calabash-cucumber isso instalará a gema cabaça e poderá ser executada novamente, mesmo que você a tenha instalado anteriormente, não há nenhum dano.Então entre calabash-ios setup nesse terminal, isso criará um destino cabaça e adicionará a estrutura cabaça ao seu projeto iOS.mais detalhes sobre o processo de configuração são mencionados em aqui.
  3. Agora abra o arquivo do projeto no editor xcode (você pode ver o calabash.framework adicionado ao grupo de estrutura do seu projeto com sucesso). Selecione o destino yourApp-cal e o simulador que deseja limpar, construa e execute o destino yourApp-cal em seu simulador.
  4. Então pare e volte para aquele console, digite calabash-ios console console iniciará um console Ruby com o qual você pode trabalhar com o aplicativo.agora (enquanto o simulador está na tela, mas seu aplicativo está em segundo plano nesse simulador) digite start_test_server_in_background seu aplicativo deve estar em primeiro plano.Se isso funcionar, o cabaça pode encontrar e executar seu aplicativo no simulador.
  5. Lembre-se apenas se você criar um aplicativo construído em uma pasta separada usando um comando ou script xcodebuild ou algo assim, é hora de definir a variável APP_BUNDLE_PATH.

Outras dicas

A resposta de Chathura trabalhou para um dos meus colegas, mas um par de nós teve que encontrar outra solução.

O problema para nós ocorreram após a introdução de cacapos.No Xcode, eu abri organizador e notei que tivemos uma pasta de dados derivada para o projeto BP (Antes Pods) e outro para o espaço de trabalho com vagens.Eu apaguei a pasta derivada de dados para o projeto BP e tudo funcionou.

Eu tinha recompensado calabash antes de fazer isso, então a solução no meu caso pode ter sido uma combinação de resposta de Chatha e mina.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top