Hi. I’m David West.

Here are my thoughts on software testing and development.

Groovy for Rubyists: Groovy’s IRB

Any Rubyist would be sorely disappointed if Groovy did not have a REPL like IRB. Be not disappointed!

$ groovysh

Try println "Hello world".

Just in case you were curious, puts "hi" does not work.

Installing Groovy on OSX

I’m a big fan of Ruby, and love using its enumerators and syntax to make my life easier. I’m also starting a new gig where the company is using Grails as a major part of their stack. So, I’m enthusiastic about getting into Groovy and sharing my experience.

Getting Groovy

  • Download it from here. Get the zipped up binary (currently about 27M).


  • First reveal it in Finder and copy to /opt. You can open two Finder windows and use command-shift-g to open /opt. Then drag and drop.
  • Depending on your permissions, /opt may only be write accessible by root. If so, use sudo unzip from the command line.
  • It’s nice to have a directory just named ‘groovy’ instead of ‘groovy-[version]’. Do yourself a favor and make a symlink for switching versions easily later: sudo ln -s groovy-[version] groovy.
  • Fix permissions in the ‘bin’ directory: chmod a+x *
  • Put Groovy environment variables and such in your ‘.bashrc’, ‘.profile’, ‘.zshrc’, or whatever you use:
### Groovy
  • Source your changes: source ~/.zshrc
  • Make sure everything is groovy: groovy -version

Appium for iOS and Android Automated Testing


On the very slim chance that you’ve found this blog, and you need to use Ruby and Cucumber to automate tests for web apps on Android and iOS? Here’s one way to get started. This is what I’ve been doing for the past few months.

Maybe sometime soon, I’ll have a repo with a nice Vagrantfile in it. If you’re vagrant savvy, you’ll just be able to clone it, type vagrant up and have a similar setup. We’ll see what happens…


If you get stuck, use stackoverflow, superuser, or any other Stack Exchange site like ask different. They are all amazingly helpful. Any knowledge of Ruby, the OS X (UNIX-like) command-line (for file permissions user groups, etc) will help you understand these instructions and get going in the right direction or get back on path if you’ve lost your way.

Tested with / Requirements

  • Macs with Lion OS and Mountain Lion OS
  • Ruby 1.9.3p448 (installed from binary)
  • Appium 0.8.2 (needed if you are using Lion), Appium 0.9.0 (Mountain Lion)
  • Chromedriver 2.1 (for Lion) or Chromedriver 2.2 (for Mountain Lion)
  • homebrew package manager
  • node.js
  • Install GenyMotion or the iOS simulator

note: administrative access required for part of setup

Read on →