【发布时间】:2018-06-21 10:58:34
【问题描述】:
我正在使用我从 GitHub 派生的他们自己的示例存储库来学习本教程:https://discuss.bitrise.io/t/how-to-do-calabash-uitesting-on-bitrise/361 我没有做任何特别的事情或与教程不同的事情。
我设法使用葫芦进行 APK 和 Android UI 测试。但是由于某种原因,iOS 应用程序不在工件中,尽管它说它构建了它并且 UI 测试(也使用葫芦)失败了。
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
这里是 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
【问题讨论】:
-
Could not connect to the DeviceAgent service似乎您的 iOS 应用程序不是使用 Calabash/UITest 代理构建的(通常这是通过Xamarin.iOS的调试构建完成的,因为代理必须嵌入到您的 iOS 应用程序中,这与 Android 不同,后者可以通过单独的 apk 安装将代理添加到设备/模拟器。 -
我尝试制作一个专门用于 iOS UI 测试的工作流,它使用“调试”配置而不是葫芦,但我得到了同样的错误。此外,我很确定他们在示例中进行了配置“calabash”,因此它映射到 Debug for iOS 和 Release for Android。查看教程
-
Xamarin 通常在编译调试配置时使用包含
Xamarin.Calabash.Start();的ENABLE_TEST_CLOUD编译器选项。如果葫芦启动没有发生,则代理没有运行,您的测试将无法连接到它。 -
我有一个愚蠢的问题。我是否需要 IPA 才能开始 iOS 的 UI 测试?还是创建的“.app”目录就够了?
标签: ios xamarin calabash uitest bitrise