AmazonAuth

Build Status

Sign In Amazon using Capybara and Selenium

Installation

Add this line to your application's Gemfile:

gem 'amazon_auth'

And then execute:

$ bundle

Or install it yourself as:

$ gem install amazon_auth

Requirements

This gem may not work with newer versions of Firefox.

Firefox (<= 47.0.2)

Download Firefox
Don't forget to disable automatic updates of Firefox.

You may also need geckodriver.
This may need to be older depending on the version of selenium-webdriver.
e.g. geckodriver v0.14.0 works with selenium-webdriver 3.2
Download geckodriver

Usage

Set Amazon credentials on your local machine

[Quick] You can set login and password in console.

[Recommended] Or you can convert them to protect them against shoulder surfing. Run amazon_auth and paste the output to .env. (AMAZON_USERNAME_CODE , AMAZON_PASSWORD_CODE and AMAZON_CODE_SALT)

Run

In console, you can move around pages using Capybara DSL

# Without credentials in .env
client = AmazonAuth::Client.new(login: 'your_amazon_email', password: 'your_amazon_password')

# With credentials in .env
client = AmazonAuth::Client.new

# Sign in
client.

# Continue to the page for Kindle
client.session.all('a').find{|e| e['href'] =~ %r{/gp/digital/fiona/manage/} }.click

# Close browser
client.driver.quit

Use amamzon site in different domain

Set AMAZON_DOMAIN in .env.

e.g. AMAZON_DOMAIN=amazon.co.jp for Japanese site

Development

Some features come from https://github.com/kyamaguchi/kindle

Use .env.development instead of .env in development.

git clone https://github.com/kyamaguchi/amazon_auth.git
cd amazon_auth
bundle

./exe/amazon_auth
vi .env.development

rspec

./bin/console

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/kyamaguchi/amazon_auth.

License

The gem is available as open source under the terms of the MIT License.