RAutomation

DESCRIPTION

RAutomation tries to be a small and easy to use library for helping out to automate windows and their controls for automated testing.

RAutomation aims to provide:

  • Easy to use and user-friendly API (inspired by Watir www.watir.com).

  • Cross-platform compatibility

  • Easy extensibility - have some application, which uses some specialized technology, but isn’t supported by RAutomation? You can get dirty and create new implementation for RAutomation, due to the applied Strategy Pattern!

USAGE

require "rautomation"
window = RAutomation::Window.new(:title => /part of the title/i)
window.exists? # => true
window.title # => "blah blah part Of the title blah"
window.text # => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies..."
window.text_field(:class_name => "Edit1").set "hello, world!"
button = window.button(:text => "&Save")
button.exists? # => true
button.click

See more examples in spec directory!

INSTALL

Windows

  1. gem install rautomation

  2. create some script and run it

You might need administrative privileges if running for the first time and you haven’t installed AutoIt before!

Linux

Feel yourself at home on Linux and know how to automate windows and their controls? I would be happy if you’d contact me about that matter - or even better, send me a pull request!

OS X

Feel yourself at home on OS X and know how to automate windows and their controls? I would be happy if you’d contact me about that matter - or even better, send me a pull request!

Others

Feel yourself at home on some operating system not listed in here and know how to automate windows and their controls? Does Ruby also work on that operating system? I would be happy if you’d contact me about that matter - or even better, send me a pull request!

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 Jarmo Pertman. See LICENSE for details.