Calabash iOS 0.17.1

This release requires a server update to 0.17.1.

It also requires at least run-loop 2.0.3.

Calabash iOS now requires ruby >= 2.0.

Fixes

  • Scrolling on WebViews is fixed (broken in 0.17.0)
  • console_attach works for all strategies; the strategy that is in-use will automatically be detected
  • usage tracker identifies GitLab as CI
  • run-loop identifies GitLab as CI when choosing timeouts
  • Touching the delete keyboard on iOS 9 has been fixed

Thanks @MikeNicholls for the delete keyboard fix.

Thanks @ark-konopacki for various fixes and improvements.

Announcements

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

You are strongly discouraged from using sudo to install gems.

We have rolled out a new tool for people who are just getting started with ruby and Calabash on MacOS: the calabash-sandbox.

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
    • compiles - thanks to everyone who reported
    • has getting started instructions
  • 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

: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. The great news is that :preferences now works on physical devices on iOS >= 9.0! 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 now available for you!

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.