2015-09-30 1 views
0

Я новый с калабаш КСН и имеют фиктивный вопрос:Calabash-ИСН: Запуск теста физическое устройство, установленное ипа без xcodeproj

Как, возможно, я мог бы провести тест калабаш с реальным устройством, которое установили файл ИПС (включал рамки каллабаша) и без xcodeproj?

Проблема в том, что я делаю QA, и Dev дает мне ipa-файл для тестирования без исходного кода.

UPDATE: Я могу запустить файл ipa в консоли и огурце, добавив BUNDLE_ID. И убедитесь, что CFNetwork.framework включен в инфраструктуру приложения, чтобы установить соединение.

Но я получил еще одну проблему, чтобы запустить сценарий: 1. Когда я запускаю команду ниже:

DEVICE_ENDPOINT=http://192.168.1.9:37265 NO_LAUNCH=1 BUNDLE_ID=com.example.appname DEVICE_TARGET=UDID cucumber 

Тогда я получил эту ошибку:

A JSON text must at least contain two octets! (JSON::ParserError) 
    features/my_first.feature:8:in `Then I touch "LOG-IN/ CREATE ACCOUNT"' 

всех других шагов был пропущен

  1. Затем я запускаю код консоли

    DEVICE_ENDPOINT=http://192.168.1.9:37265 NO_LAUNCH=1 BUNDLE_ID=com.example.appname DEVICE_TARGET=UDID calabash-ios console 
    

Тогда я бегу server_version я получил ответ назад, что упомянутое соединение SUCCEED Но когда я бегу start_test_server_in_background Это заняло у меня слишком долго ждать, и я вижу, что приложение мое физическое устройство хранится разбился и запустить снова и снова пока он не остановится как:

Unable to start. Make sure you've set APP_BUNDLE_PATH to a build supported by this simulator version 
Calabash::Cucumber::Launcher::StartError: Calabash::Cucumber::Launcher::StartError: 

"Timed out waiting for UIAutomation run-loop Error while writing to fifo. RunLoop::Fifo::NoReaderConfiguredError. 
2015-10-01 10:49:41.634 instruments[15640:10558880] WebKit Threading Violation - initial use of WebKit from a secondary thread. 
2015-10-01 10:49:42.574 instruments[15640:10558978] Attempting to change event horizon while disengage 
2015-10-01 10:49:42.577 instruments[15640:10558877] Attempting to change event horizon while disengage 
Instruments Trace Error : Target failed to run: Permission to debug app 

Любой может помочь! Я попытался найти какое-то решение, но они почти вышли на симулятор, и они содержат xcodeproj. Как QA, я не имею исходный код, только .ipa-файл. :( Спасибо

+0

Я обновил свой ответ. – jmoody

ответ

2

вы должны установить 3 переменные:

$ DEVICE_TARGET=<UDID> \ 
    DEVICE_ENDPOINT=http://<ip>:37265 \ 
    BUNDLE_ID=com.example.YourApp cucumber 

устройства и хост-компьютер должен быть в той же сеть.

. Устройство должно быть установлено на ваше устройство.

Вы можете сделать это в Xcode путем перетаскивания в окне диспетчера устройств или с помощью стороннего инструмента, такого как ideviceinstaller (доступно с помощью homebrew).

Вы должны никогда комплект NO_LAUNCH.

http://calabashapi.xamarin.com/ios/file.ENVIRONMENT_VARIABLES.html#label-NO_LAUNCH

Кроме того, необходимо, чтобы вы устройства для разработки и включения UIAutomation в Settings.app> Developer.

  1. Enabling device for development
  2. RunLoop::Fifo::NoReaderConfiguredError

UPDATE В ответ на этот вопрос, я переписал страницу вики Testing on Physical Devices кальян IOS. Вау, это содержание было древним!

-1

Пока файл строится с тыкву, то это не проблема. Вы просто позвоните огурец с APP_BUNDLE_PATH, где когда-либо файл .ipa это и должно быть все готово.

Но вы . следует иметь в виде, что .ipa нужно построить, чтобы соответствовать целям, когда вы запускаете тесты на

+0

Спасибо за подсказку. Я фактически запускаю его с DEVICE_TARGET и BUNDLE_ID вместо APP_BUNDLE_PATH. В любом случае, вы не подозреваете, что когда я делаю действие, подобное «прикосновению», приложение разбилось, и ошибка говорит: текст JSON должен содержать по крайней мере два октета! (JSON :: ParserError) –

+0

Энди, я верю, что ответил на ваш вопрос. Однако в вашем комментарии мне кажется, что вы поднимаете новый вопрос. Если вы хотите перефразировать свой вопрос, пожалуйста, сделайте это. – Lasse