RAutomation is a small and easy to use library for helping out to automate windows and their controls for automated testing.
RAutomation provides:
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 => "Edit", :index => 0).set "hello, world!"
button = window.button(:value => "&Save")
button.exists? # => true
button.click
all_windows = RAutomation::Window.windows
all_windows.each {|window| puts window.hwnd}
window = RAutomation::Window.new(:title => /part of the title/i)
windows = window.windows
puts windows.size # => 2
windows.map &:title # => ["part of the title 1", "part of the title 2"]
window.windows(:title => /part of other title/i) # => all windows with matching specified title
window.buttons.each {|button| puts button.value}
window.buttons(:value => /some value/i).each {|button| puts button.value}
window2 = RAutomation::Window.new(:title => "Other Title", :adapter => :autoit) # use AutoIt adapter
# use adapter's (in this case AutoIt's) internal methods not part of the public API directly
window2.WinClose("[TITLE:Other Title]")
Check out the documentation for other possible usages!
gem install rautomation
Available adapters:
When using AutoIt adapter: You might need administrative privileges if running for the first time and you haven't installed AutoIt before!
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, follow the instructions at "How to create a new adapter?"
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, follow the instructions at "How to create a new adapter?"
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, follow the instructions at "How to create a new adapter?"
64bit Ruby platform is only supported for Win32 adapter. Other adapters can be used only on a 32bit Ruby!
autoload
statement into lib/rautomation/adapter/helper.rb for that
file.Don't forget to fix the documentation for that adapter also!
In case of any problems, feel free to contact me.
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)
Copyright (c) Jarmo Pertman. See LICENSE for details.