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