2016-04-20 3 views
0

Я установил calabash на новую машину, но тесты, которые я запускал на моей старой машине, не будут работать.Не удается запустить тестовый сервер на физическом устройстве

Насколько я могу судить, обе машины настроены одинаково. Они вытаскивают проект из одного и того же репозитория, который включает в себя Gemfile с калабас-огурцом версии 0.18.0. Я установил те же значения BUNDLE_ID, DEVICE_ENDPOINT и DEVICE_TARGET и использую одно и то же физическое устройство.

Когда я пытаюсь запустить тесты в консоли на новой машине, я получаю это:

$ bundle exec calabash-ios console 
Running irb... 
irb(main):001:0> start_test_server_in_background 
ArgumentError: Could not find a device with a UDID or name matching 'com.my.apps.bundle.id' 
    from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/run_loop-2.1.1/lib/run_loop/device.rb:126:in `device_with_identifier' 
    from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/run_loop-2.1.1/lib/run_loop/device.rb:160:in `detect_device' 
    from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/run_loop-2.1.1/lib/run_loop/core.rb:71:in `run_with_options' 
    from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/run_loop-2.1.1/lib/run_loop.rb:134:in `run' 
    from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/launcher.rb:718:in `block in new_run_loop' 
    from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/launcher.rb:716:in `times' 
    from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/launcher.rb:716:in `new_run_loop' 
    from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/launcher.rb:584:in `relaunch' 
    from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/core.rb:943:in `start_test_server_in_background' 
    from (irb):1 
    from /Users/rjones/.rbenv/versions/2.1.5/bin/irb:11:in `<main>' 

Любые идеи, почему это не работает?

+0

ли расслоение идентификатор в вашей игре приложения, что вы установили в конфигурации? «com.my.apps.bundle.id» выглядит довольно универсальным, но, возможно, вы просто заменили его здесь ... – Lasse

+0

Да, я заменил его здесь. Но он отформатирован как com.company-name.app-name, что не похоже на UDID для моего устройства. –

ответ

1

Обновите до 0.19.0.

Вы можете также вставить команду точного вы используете для запуска

irb(main):001:0> start_test_server_in_background 
ArgumentError: Could not find a device with a UDID or name matching 
'com.my.apps.bundle.id' 

Это выглядит, как вы установите DEVICE_TARGET расслоению ид? Если нет, то вы нашли ошибку. Возможно, что 0.18.0 несовместимо с run-loop 2.1.1. Перейдите на run_loop 2.0.9, если вы хотите проверить, что это проблема.

+0

Похоже, что существует несовместимость между калабас-огурцом 0.18.0 и run_loop 2.1.1. Я могу запустить calabash 0.18.0 с run_loop 2.0.9 или calabash 0.19.0 с run_loop 2.1.1. Но, он терпит неудачу, когда я запускаю calabash 0.18.0 с run_loop 2.1.1. –

+0

Вы должны обновиться до Calabash 0.19.0 или самой последней доступной версии. – jmoody

0

Я испытал ту же проблему при обновлении огуречной жемчужины от версии 1.3.19 до версии 2.3.3. Я также запускать тесты на физических устройствах

редактировать: Извините, забыл упомянуть, что я обновил run_loop тоже от версии 2.0.6 до 2.1.3

Так версии:

run_loop (2.1.3) calabash-cucumber (0.18.1) Я предполагаю, что они являются два, что может повлиять на эту часть, и cucumber не участвовал

Я нашел решение, установив переменную DEVICE вместо DEVICE_TARGET

Например:

BUNDLE_ID=<bundle_id> DEVICE=<dev_udid> DEVICE_ENDPOINT=<dev_ip> cucumber

Вместо

BUNDLE_ID=<bundle_id> DEVICE_TARGET=<dev_udid> DEVICE_ENDPOINT=<dev_ip> cucumber

Смежные вопросы