Visual Studio App Center Test is the next generation of Xamarin Test Cloud! Read the blog post.

Calabash iOS 0.18.0

  • This release requires a server update to 0.18.0.
  • This release requires at least run-loop 2.0.5.

This release expands support for interacting with iFrames using the css selector:

# Example
query("webView css:'iframe' css:'h1'")

At the moment, there is full support UIWebView and limited support for WKWebView.

Calabash iOS now requires ruby >= 2.0.

Fixes

  • sim locale tool has been fixed for iOS Simulators
  • French localizations for dismissing Privacy Alerts

Thanks @ark-konopacki for various fixes and improvements.

Announcements

Please do not install gems with sudo.

If you are just getting started with Ruby and Calabash on MacOS, we have a new tool: the calabash-sandbox.

For advanced users, we recommend a managed ruby.

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

Docs and Examples

For this release, we've updated the README and many of the wiki pages. At the moment the wiki is publicly editiable. If you see a typo or a way to improve the docs, please make the change. If the change is significant, create an issue and we can discuss.

We have also updated the following repositories:

  • LPSimpleExample
    • Getting starting with Calabash
  • iOS Smoke Test App
    • nearly 100% coverage of all the Calabash iOS gestures and behaviors
    • examples of how manage the app life cycle and reset the keychain
    • scripts that demonstrate an efficient Calabash workflow, including how to stage binaries from Xcode builds and how to submit to the Xamarin Test Cloud.
  • iOS WebView App
    • Updated with iframe examples

:preferences

In Xcode 7, Apple once again changed/broke the UIAutomation Preferences API. We've updated the server so the :preferences strategy is available again. Unfortunately, the :preferences strategy is not stable enough on physical devices for us to make it the default.

For now, we are keeping the default strategy as :host. You can opt in to :preferences by:

# Cucumber hook
options = {
  :uia_strategy => :preferences
}

launcher.relaunch(options)

# Console
> start_test_server_in_background({:uia_strategy => :preferences})

As we get feedback about :preferences, we'll change the defaults.

Xamarin Test Cloud users: :preferences is available, but we cannot recommend it - it is simply not stable enough.

Calabash 2.0

Calabash 2.0 is in pre-release.

Please report issues with Calabash 2.0 as a GitHub issue or on Stack Overflow.

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.

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.
  • RunLoop::Bridge::Simctl has been deprecated (replaced) in run-loop 2.0
  • RunLoop::SimControl is in the process of being deprecated; planned for run-loop 3.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

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.