README.md in honeydew-0.12.0 vs README.md in honeydew-0.14.0
- old
+ new
@@ -1,25 +1,96 @@
# Honeydew
-TODO: Write a gem description
+NOTE: Honeydew is currently in alpha and is not quite ready for use.
+Honeydew is a Ruby driver for UIAutomator which enables automated testing of
+Android devices.
+
## Installation
-Add this line to your application's Gemfile:
+Install the honeydew gem:
+ $ gem install honeydew
+
+Or if you're using Bundler, add honeydew to your Gemfile:
+
gem 'honeydew'
-And then execute:
+You'll need to have the Android SDK installed, ANDROID_HOME set correctly as
+well as Maven.
- $ bundle
+## Using Honeydew
-Or install it yourself as:
+In typical operation, Honeydew connects to the first Android device connected
+to your system which has debugging enabled. You can send commands to this
+device like so:
- $ gem install honeydew
+``` ruby
+ Honeydew.current_device.launch_home
+ Honeydew.
+```
-## Usage
+If you want to interact with multiple Android devices at the same time, you can
+create separate device instances by specifying their serial IDS. You can get
+the serial IDs of all android devices connected to your system with the ``adb
+devices -l``` command, e.g:
-TODO: Write usage instructions here
+ $ adb devices -l
+ List of devices attached
+
+Once you have the serial ID of a device you wish to control, create a device
+object for it:
+
+``` ruby
+ nexus = Honeydew::Device.new ''
+```
+
+Then you can begin issuing commands:
+
+``` ruby
+ nexus.click_text 'Android Air-Hockey'
+ if nexus.has_text? 'New Game'
+ nexus.click_button 'New Game'
+ ...
+```
+
+## Using Honeydew with RSpec
+
+Honeydew comes with a DSL that can be used in RSpec as well as matchers for use
+with RSpec.
+
+## Using Honeydew with Cucumber
+
+If you're using Cucumber, Honeydew comes with a DSL that can ease the creation
+of device related steps. Firstly require the honeydew cucumber files:
+
+``` ruby
+ require 'honeydew/cucumber'
+```
+
+This adds the Honeydew DSL to World so you can interact with the device in your
+steps like so:
+
+``` ruby
+ using_device :teacher_tablet
+ teacher_tablet.launch_settings
+```
+
+## Controlling Android Devices
+
+Honeydew provides a number of methods for interacting with an Android device.
+
+## Thanks
+
+Honeydew is sponsored by [Amplify](http://www.amplify.com/) and was created by
+[Selvakumar Natesan](https://github.com/selvakn) and [Christopher
+Rex](https://github.com/christopher-rex) of
+[ThoughtWorks](http://www.thoughtworks.com/).
+
+Additional thanks to [Shyam Vala](https://github.com/shyamvala), [Premanand
+Chandrasekaran](https://github.com/premanandc) and [John
+Barker](https://github.com/excepttheweasel/) for multi device support, testing
+and a little bit of polish.
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)