2013-11-17 2 views
4

Я пытаюсь реализовать тестирование пользовательского интерфейса с помощью рамки тестирования calabash-ios. Я следовал всем HOWTOs, учебники распространяются на различных сайтах (Xamarin testcloud руководства, на GitHub для рамок кальян-ИСН, ...)Огурцы/Calabash-iOS и Xamarin.iOS

В моей папке проекта я создал каталог функций с calabash-ios gen

Мои структура проекта, как следующее: (только некоторые из папки/файла (ов)

- Certificates 
- Resources 
- Solutions 
- Source 
|- B2.Device.Core.iOS 
|- B2.Device.Service.iOS 
|- B2.Device.iOS 
|- AppDelegate.cs 
|- B2.Device.iOS.csproj 
|- Info.plist 
|- MyFooViewController.cs 
|- MyBarViewController.cs 
|- bin 
    |- iPhone 
    |- iPhoneSimulator 
    |- Debug 
    |- *.dll 
    |- B2DeviceiOS.app 
    |- B2DeviceiOS.exe 
|- features 
    |- my_first.freature 
    |- step_definitions 
    |- *.rb 
    |- support 

Calling cucumber внутри Source/B2.Device.iOS/ бросками исключение:

Dannys-MacBook-Air:B2.Device.iOS dannyyy$ cucumber 
Feature: Running a test 
    As an iOS developer 
    I want to have a sample feature file 
    So I can begin testing quickly 

    Scenario: Example steps       # features/my_first.feature:6 
    Unable to find *.xcodeproj in /Users/dannyyy/Projects/BauPlusMobile/Trunk/Source/B2.Device/B2.Device.iOS (RuntimeError) 
    /var/folders/6p/s4dwcb0x1yx9wjjk_51ds21r0000gn/T/Calabash-CA09BEA0-1735-4818-AB85-4874C6849183/Gems/gems/calabash-cucumber-0.9.162/lib/calabash-cucumber/launch/simulator_helper.rb:61:in `derived_data_dir_for_project' 
    /var/folders/6p/s4dwcb0x1yx9wjjk_51ds21r0000gn/T/Calabash-CA09BEA0-1735-4818-AB85-4874C6849183/Gems/gems/calabash-cucumber-0.9.162/lib/calabash-cucumber/launch/simulator_helper.rb:153:in `app_bundle_or_raise' 
    /var/folders/6p/s4dwcb0x1yx9wjjk_51ds21r0000gn/T/Calabash-CA09BEA0-1735-4818-AB85-4874C6849183/Gems/gems/calabash-cucumber-0.9.162/lib/calabash-cucumber/launcher.rb:148:in `relaunch' 
    /Users/dannyyy/Projects/BauPlusMobile/Trunk/Source/B2.Device/B2.Device.iOS/features/support/01_launch.rb:29:in `Before' 
    Given I am on the Welcome Screen     # features/step_definitions/my_first_steps.rb:1 
    Then I swipe left        # calabash-cucumber-0.9.162/features/step_definitions/calabash_steps.rb:237 
    And I wait until I don't see "Please swipe left" # calabash-cucumber-0.9.162/features/step_definitions/calabash_steps.rb:168 
    And take picture         # calabash-cucumber-0.9.162/features/step_definitions/calabash_steps.rb:232 

Failing Scenarios: 
cucumber features/my_first.feature:6 # Scenario: Example steps 

1 scenario (1 failed) 
4 steps (4 skipped) 
0m1.043s 

Как можно создать файл проекта XCode, если я разрабатываю среду Xamarin.iOS? Я также попытался установить DEVICE_BUNDLE_PATH=~/Projects/BauPlusMobile/Trunk/Source/B2.Device/B2.Device.iOS/bin/iPhoneSimulator/Debug

Но, конечно же, это же исключение будет выброшено!

Все видео-демонстрации и скринкасты, которые я видел, работали с окружением Xamarin.iOS, но без этой ошибки.

Единственный способ получить результаты тестов - позвонить cucumber NO_LAUNCH=1 и запустить приложение в Xamarin Studio с прикрепленным отладчиком.

Я надеюсь, что кто-то может мне помочь.

ответ

7

После многих попыток и ошибок я получил решение для своей проблемы. Думаю, я разрешу проблему вообще для пользователей, которые работают с средой Xamarin.iOS.

  1. Изменение в папку проекта, которая содержит *.csproj
    В моем случае > cd ~/Projects/MyProject/Trunk/Source/B2.Device/B2.Device.iOS
  2. Сформировать каталог features
    > calabash-ios gen
    • Если вы не калабаш КСН установлены еще позволяет начать
      > sudo gem install calabash-cucumber
  3. Создайте config и перейдите к нему
    > mkdir config
    > cd config
  4. Создайте файл с именем cucumber.yml
  5. Помещенный следующее содержание в нем (имя профиля, а также другие переменные окружения могут быть изменены, чтобы удовлетворить ваши потребности)

    # YAML Template 
    --- 
    ipad-sim: APP="~/Projects/MyProject/Trunk/Source/B2.Device/B2.Device.iOS/bin/iPhoneSimulator/Debug/B2DeviceiOS.app" BUNDLE_ID="tld.domain.project" SDK_VERSION=6.1 
    
  6. Вернуться в ваш каталог проектов и начать свои тесты
    > calabash-ios -p ipad-sim
+0

Спасибо, очень полезно! –

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