lib/rufus/driver.rb in rufus-0.3 vs lib/rufus/driver.rb in rufus-0.4

- old
+ new

@@ -1,23 +1,30 @@ require 'yaml' require 'rufus/drivers/iOS_device' require 'rufus/drivers/iOS_simulator' require 'selenium-webdriver' +require 'erb' +require 'selenium/webdriver/safari/extension' module Rufus class Driver def initialize raise 'No config.yml found' if !File.exists?('config.yml') - @config = YAML.load_file('config.yml') + @config = YAML.load(ERB.new(File.read('config.yml')).result) @url = url(@config) end def start driver.get @url end + def quit + driver.quit + @selenium = nil + end + def config @config end def server_url @@ -25,11 +32,15 @@ end def find(locator) how = locator.keys[0].to_sym what = locator[how] - driver.find_element(how, what) + begin + driver.find_element(how, what) + rescue Selenium::WebDriver::Error::NoSuchElementError + return nil + end end def click(locator) find(locator).click end @@ -42,9 +53,17 @@ find(locator).enabled? end def displayed?(locator) find(locator).displayed? + end + + def orientation + driver.orientation.to_s + end + + def rotate(orientation) + driver.rotate orientation end def type(keys, name) locator = {:name => name} find(locator).send_keys keys