Welcome to the GitHub page of Levi Wilson.

View My GitHub Profile

Blog Entries

April 5, 2013 Migrating Your Source from TFS to Git

June 2, 2012 Maven, Android, Travis-CI and More Awesome Sauce


Here is a list of some of the latest projects that I have been working on. To see a full list, check out my GitHub profile page.


brazenhead is a low-level driver for Android applications. brazenhead allows you to instrument any application using a very simple json API with very little setup.

Getting Started

$ gem install brazenhead

After this, the only thing that brazenhead requires is to know some information about the application you are trying to instrument.

# tell brazenhead where your application is
server = Brazenhead::Server.new "path/to/your/app.apk"

# start the activity that you'd like to instrument
server.start "SomeActivity"


gametel is a higher-level abstraction around android cucumber drivers (in particular, brazenhead). gametel provides for a page-object pattern around lower-level cucumber drivers for Android. This allows for you to write very simple abstractions to instrument your Android applications.

Defining a screen

To define a screen, simply use some of gametel's default accessors to define the controls that you have on your activity. Here is an example of a login screen page's definition.

class LoginPage
  include Gametel

  text(:username, :index => 0)
  text(:password, :index => 1)
  button(:login, :text => 'Login')

That's it! The only thing left is to utilize your newly defined page-object in your step definitions.

on(LoginPage) do |page|
  page.username = 'levi'
  page.password = 'secret'