Calabash 0.16.1

This release requires a server update.

It also requires a run-loop update.

Announcements

If you are not already using bundler and Gemfile, we strongly recommend that you start.

If you are installing gems with sudo, we strongly recommend that you install a managed ruby or manage your gem environment manually.

Thank you to everyone who has made comments on the Calabash 2.0 GitHub issues page. Keep those comments coming, we are listening. Calabash 2.0 is in pre-release. Please report issues with Calabash 2.0 as a GitHub issue or on Stack Overflow. Progress on Calabash 2.0 has been halted until Xcode 7 support has stabilized. We are looking for help from the community to finish implementing Calabash 2.0. You can see what has to be done in the project GitHub issues.

Xamarin Test Cloud users: Calabash 2.0 is not yet supported on Test Cloud. Test Cloud support will be available before Calabash 2.0 is released.

Features

This release provides experimental support for Xcode 7 GM and 7.1 beta 1. We have had success testing on physical devices, but are seeing problems on Xcode 7's iOS Simulators. iOS 9 beta devices are available on the Xamarin Test Cloud.

There are several things that are known not to work in Xcode 7.

  1. Device rotation is broken on Xcode 7 simulators and iOS 9 devices. We are evaluating a fix.
  2. Sending apps to the background is broken on Xcode 7 simulators and iOS 9 devices. We hope that the Xcode 7 final release will fix this.
  3. The fast :preferences UIA strategy is broken for Xcode 7 simulators; the default strategy will be :host. The :host strategy is already the default for physical devices (since Xcode 6). If you are looking for a faster alternative to :host, you can try the :shared_element strategy (for both simulators and devices), but keep in mind that this strategy has not been thoroughly tested.
  4. We have several failing unit tests in the Calabash iOS Server for Xcode 7 that appear to indicate a problem with Apple's UIView internals when translating points in UIWebView and WKWebView. Our WebView cucumber tests are passing, but we want to notify people that there might be a problem.
  5. Xcode 7's simctl uninstall/install API is broken.

run-loop 1.5.3

  • Xcode 7.1 beta 1 support - default simulator is iOS 9.1 iPhone 6s.
  • Improved Xcode 7.0 support.
  • When targeting iOS Simulators, run-loop will uninstall the installed .app if the SHA checksum of the installed app is different from the .app you are trying to test. The app sandbox (application data) will be preserved. If you need to run with a clean sandbox, use RESETAPPBETWEEN_SCENARIOS.

Calabash iOS Server

The server has been compiled with Xcode 7 GM and has ENABLE_BITCODE set to YES.

Documentation

This is a reminder to check out the Calabash documentation on the Xamarin site. The information there is excellent and constantly improving.

http://developer.xamarin.com/testcloud/

Deprecated

See https://github.com/calabash/calabash-ios/wiki/Deprecated

RunLoop::XCTools has been deprecated (replaced) in run-loop 1.5.0.

Hot Topics

See https://github.com/calabash/calabash-ios/wiki/Hot-Topics

  • instruments and Instruments.app cannot launch apps on iOS 7.1 Simulators on Yosemite with Xcode 6
  • Xcode 6.3 - instruments cannot launch my app on iOS 8.3 Simulators [RESOLVED]
  • Enable Development After Upgrading Devices to 8.*
  • Errno::EINTR: Interrupted system call
  • NSLog output can cause apps to become unresponsive during testing
  • cucumber is not compatible with ruby 2.2.0

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.