iosxamarincalabashuitestbitrise

Can't run UI test for iOS on Bitrise


I'm following this tutorial using their own sample repository that I forked from GitHub: https://discuss.bitrise.io/t/how-to-do-calabash-uitesting-on-bitrise/361 I'm not doing anything special or anything different than the tutorial.

I managed to get the APK and Android UI test working using calabash. But for some reason the APP for iOS is not in the artifacts despite it says it built it and the UI tests (also with calabash) are failing.

Cucumber Features

1 scenario (1 failed)
4 steps (4 skipped)

Finished in 6m22.928s seconds

Expand All

Collapse All
Feature: Sample Feature

features/sample.feature:3
Scenario: Sample Scenario


Could not connect to the DeviceAgent service.

device: #<Simulator: iPhone 6 (11.4) FDAAB45E-52F1-4133-A02D-632AA6A9A369 x86_64>
   url: http://127.0.0.1:27753/

To diagnose the problem tail the launcher log file:

$ tail -1000 -F /Users/vagrant/.calabash/iOSDeviceManager/logs/current.log

./features/support/01_launch.rb:27:in `Before'

25  }
26
27  launcher.relaunch(options)
28end
29
30# gem install syntax to get syntax highlighting

    Given the app has launched
    features/steps/sample_steps.rb:1
    And I have done a specific thing
    features/steps/sample_steps.rb:7
    When I do something
    features/steps/sample_steps.rb:32
    Then something should happen
    features/steps/sample_steps.rb:41

Here is the bitrise.yml:

---
format_version: '5'
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
project_type: xamarin
trigger_map:
- push_branch: "*"
  workflow: primary
- pull_request_source_branch: "*"
  workflow: primary
workflows:
  primary:
    steps:
    - activate-ssh-key@3.1.1:
        run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - git-clone@4.0.11: {}
    - script@1.1.5:
        title: Do anything with Script step
    - certificate-and-profile-installer@1.9.3: {}
    - nuget-restore@1.0.7: {}
    - xamarin-archive@1.5.0:
        inputs:
        - xamarin_solution: "$BITRISE_PROJECT_PATH"
        - xamarin_configuration: "$BITRISE_XAMARIN_CONFIGURATION"
        - xamarin_platform: "$BITRISE_XAMARIN_PLATFORM"
    - calabash-ios-uitest@1.3.1:
        inputs:
        - work_dir: "./iOS"
    - deploy-to-bitrise-io@1.3.12: {}
    - create-android-emulator@1.1.5:
        inputs:
        - name: FOO
    - start-android-emulator@1.3.2: {}
    - calabash-android-uitest@1.2.1:
        inputs:
        - work_dir: "./Droid"
app:
  envs:
  - opts:
      is_expand: false
    BITRISE_PROJECT_PATH: Multiplatform.sln
  - opts:
      is_expand: false
    BITRISE_XAMARIN_CONFIGURATION: calabash
  - opts:
      is_expand: false
    BITRISE_XAMARIN_PLATFORM: Any CPU

Solution

  • I asked the people from Bitrise and apparently calabsh-ios support Xcode 6 and 7 which are old and Bitrise doesn't provide a stack for that version.

    https://github.com/calabash/calabash-ios