Gametel
A gem to assist in building page-object like structures for testing android applications.
Installation
Add this line to your application's Gemfile:
source 'https://rubygems.org'
gem 'gametel'
And then execute:
$ bundle
Or install it yourself as:
$ gem install gametel
Usage
Defining your screen object
class LoginPage
include Gametel
end
When you include this module methods are added to your class allowing you to declare the items on the screen.
class LoginPage
include Gametel
text(:username, :index => 0)
text(:password, :index => 1)
button(:login, :text => 'Login')
end
In your step definitions you can then access generated methods to interact with the views on your screen.
on(LoginPage) do |screen|
screen.username = 'levi'
screen.password = 'secret'
screen.login
end
Supported Drivers
Brazenhead
Getting Started
Before being able to instrument your application, you will need to add the INTERNET
permission to your AndroidManifest.xml
.
<uses-permission android:name="android.permission.INTERNET" />
Cucumber Setup
Sample features/support/env.rb
file.
require 'gametel'
World(Gametel::Navigation)
Gametel.apk_path = "features/support/ApiDemos.apk"
Before do
@driver = Gametel.start('ApiDemos')
end
After do
Gametel.stop
end
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request