BrowserStack Screenshots
A ruby gem for BrowserStack's Screenshot API.
Installation
Add this line to your application's Gemfile:
gem 'browserstack-screenshot'
And then execute:
bundle
Or install it yourself as:
gem install browserstack-screenshot
Example of Use
First, you need to require the screenshot gem:
require 'screenshot'
Creating Client
Creates a new client instance.
settings
: A hash of settings that apply to all requests for the new client.
:username
: The username for the BrowserStack account.
:password
: The password for the BrowserStack account.
settings = {:username => "foo", :password => "foobar"}
client = Screenshot::Client.new(settings)
###API
####Getting available os and browsers
Fetches all available browsers. API info
client.get_os_and_browsers
####Generating Screenshots
Frame the config object according to the format given. Format info
Eg settings object:
params = {
:url => "www.google.com",
:callback_url => "http://example.com/pingback_url",
:win_res => "1024x768",
:mac_res => "1920x1080",
:quality => "compressed",
:wait_time => 5,
:orientation => "portrait",
:tunnel => false,
:browsers => [
{:os=>"Windows",:os_version=>"7",:browser=>"ie",:browser_version=>"8.0"},
{:os=>"Windows",:os_version=>"XP",:browser=>"ie",:browser_version=>"7.0"}
]
}
callback_url
, win_res
, mac_res
, quality
, wait_time
, orientation
and tunnel
being optional parameters.
#####For testing Local/Internal Server setup
- First setup local tunnel using the command line method as mentioned here
- Pass
:tunnel => true
in the params object
A request id is returned when a valid request is made.
request_id = client.generate_screenshots params
####Checking/Polling the status of the request
Use this method to check if the requested screenshots are complete.
client.screenshots_done? request_id
Or you can fetch the request state
client.screenshots_status request_id
####Fetching the response of the requested screenshots
client.screenshots request_id
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
)
- Commit your changes (
git commit -am 'Add some feature'
)
- Push to the branch (
git push origin my-new-feature
)
- Create new Pull Request