Module: ObjectRepository::ElementConverter::Watir

Defined in:
lib/watir-or/converters/element_converter.rb

Class Method Summary collapse

Class Method Details

.build_element(rep_element, repository) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/watir-or/converters/element_converter.rb', line 8

def self.build_element(rep_element, repository)
  parent = ""
  unless rep_element.locator[:parent].nil?
    parent = build_element(repository.find(rep_element.locator[:parent]), repository) + "."
  end
  locator = rep_element.locator.dup
  locator.delete(:parent)
  parent << "%s(%s)" % [rep_element.type, build_locator(locator)]
end

.build_locator(locator) ⇒ Object

Method need for separate frame(:name => “foo”) and frame(:name, “foo”). Because frame with multiply conditions doesn’t work



20
21
22
23
24
25
26
# File 'lib/watir-or/converters/element_converter.rb', line 20

def self.build_locator(locator)
  if locator.length > 1
    locator.inspect.gsub(/(^\{|\}$)/, "")
  else
    ":%s,%s" % [locator.keys.first, locator[locator.keys.first].inspect]
  end
end

.convert(browser, repository, rep_element) ⇒ Object



4
5
6
# File 'lib/watir-or/converters/element_converter.rb', line 4

def self.convert(browser, repository, rep_element)
  eval("browser.#{build_element(rep_element, repository)}")
end