id | title |
---|---|
1CC4AEBF-DD15-4EC3-8CD8-D9BA483AC908 |
Calabash 0.10.0 |
The minitest gem version 5.4 was recently released and it changed its base class from Minitest::Test
to MiniTest::Unit::TestCase
. [1] This change is incompatible with the way calabash provided access to the Test::Unit::Assertions
API. We have decided not to include Test::Unit::Assertions
in calabash because nothing in calabash depends on them. Users who want access to assertions in their tests should follow the instructions on the minitest homepage. [2] More details can be found in the pull-request for this change. [3]
Thanks to @crishoj for helping test the 'minitest' fixes. [4]
- [1] http://stackoverflow.com/questions/24209097
- [2] https://github.com/seattlerb/minitest
- [3] calabash/calabash-ios#483
- [4] calabash/calabash-ios#395
Thank you to everyone who filed bug reports with Apple. Several issues have been resolved with Xcode 6 beta 7. The good news is that Calabash 0.10.0 can be used to test against the new Xcode 6 simulators. With that said, be prepared to adjust your tests for the iOS 8 environment. The bad news is that we have not been able to reliably run tests on iOS 8 beta 5 devices with Xcode 6 beta 7. On the bright side, Xcode beta 7 can be used to test against iOS 6 and iOS 7 devices. As stated above, be prepared to adjust your tests.
The libraries that ship with the gem will be compiled with Xcode 5.1.1 until Xcode 6 is officially released. We have not seen any difference in behavior when we compile the libraries with Xcode 6 beta 7.
We need to stress that the next release of Xcode 6 might change everything we stated above. It is, after all, a beta.
Currently Calabash iOS requires statically linking in the calabash.framework
. Static linking requires a re-build of the project and typically involves maintaining a separate target. This release provides experimental support for dynamically loading the Calabash server at runtime. Dynamic linking has many benefits.
- Any .app or .ipa can load the Calabash server at runtime; there is no need to link the calabash.framework to the test target.
- The Calabash server and client are never out of sync.
- Using Calabash requires no setup or changes to Xcode, Xamarin Studio, or Visual Studio projects.
This is a link to a demonstration video: http://www.screencast.com/t/YDN15tZ8El
We want to stress that this feature is experimental. We are in the early phases of testing. There might be significant stability issues that force us to drop this approach.
We hope that you'll give this a try. We recommend testing against a simulator first; on-device testing has known issues. Start with a "vanilla" app-bundle that is not linked with the calabash.framework.
# From the Console
$ calabash-ios console
> start_test_server_in_background({:inject_dylib => true})
# 01_launch.rb - Before launch hook
Before do |scenario|
calabash_launcher = Calabash::Cucumber::Launcher.new
calabash_launcher.relaunch({:inject_dylib => true})
calabash_launcher.calabash_notify(self)
end
This release provides alpha-level support for running Calabash iOS as a Frank plug-in. Frank users can now take advantage of the Calabash iOS API and features like:
- the Calabash query syntax,
- interacting with UIWebViews, and
- on-device testing.
To see the plug-in in action, check out this screencast.
Detailed instruction on how to integrate Calabash and Frank can be found in the README_FRANK.md document.
- [1] http://developer.xamarin.com/guides/testcloud/calabash/calabash-query-syntax/
- [2] http://developer.xamarin.com/guides/testcloud/calabash/calabash-query-syntax/#DOM_WebView Support
- [3] https://github.com/calabash/calabash-ios/wiki/07-Testing-on-physical-iDevices
The public API has been 100% documented. [1]
See README_YARD.md [2] for details about how to document and how to generate docs locally.
Thank you @joelmartinez!
- [1] http://calabashapi.xamarin.com/ios/
- [2] README_YARD.md http://git.io/UzumZA
The Calabash iOS toolchain: calabash-ios, run-loop, and calabash-ios-server are now running in Travis CI. [1][2][3]
- [1] https://travis-ci.org/calabash/calabash-ios
- [2] https://travis-ci.org/calabash/run_loop
- [3] https://travis-ci.org/calabash/calabash-ios-server
A stability improvement which logs UIA actions via the UIAChannel in Calabash server. Should be transparent to most users.
Fixes visibility in cases where a transparent view completely overlaps a non-control (e.g. UILabel). Previously, calabash would consider this view invisible. [1]
Fixed a bug in reset_app_jail
; only the sandbox of the most recent SDK was reset.
- In addition,
reset_app_jail
has been deprecated. It has been replaced byreset_app_sandbox
. - Added
Calabash::Cucumber::Launcher.reset_simulator
for simulating touching the iOS Simulator > Reset Simulator Content and Settings... Menu Item.
Thanks to @nemesis for reporting issue 376.
- commit 4d95fc0 bad edn dependency
- pull 419 Readme: Link to Guide for Setup with Custom Build Configuration; thanks @fabb
- pull 428 Then I touch right and down from "..."; thanks @crishoj
- pull 441 README.md should show the CI/License badges; thanks @staxmanade
- pull 384 - call to
strings
in gem/server compatibility should work on paths with spaces; thanks @Sqeaky
See https://github.com/calabash/calabash-ios/wiki/Deprecated
- since 0.10.0
Calabash::Cucumber::Device.udid
- no replacement - since 0.10.0
tap
- replaced withtap_mark
- since 0.10.0 in
Calabash::Cucumber::Launcher
reset_app_jail
has been replaced withreset_app_sandbox
. This method has been deprecated, but does not issue a warning. - since 0.10.0
done
- replaced withtap_keyboard_action_key
. This method has been deprecated, but does not issue a warning. - since 0.10.0
xcode_bin_dir
- not replaced.
The following classes/modules have been moved to the run-loop gem. They will be deprecated and replaced with their run-loop equivalents in future releases.
- Calabash::Cucumber::Version
- Calabash::Cucumber::SimulatorAccessibility
- Calabash::Cucumber::XcodeTools
- Calabash::Cucumber::PlistBuddy
Thank you to everyone who waited patiently for the ruby-zip update.