Sha256: 1f04a73d4f7284c8acf935ac8d45717dab6722d32f7e062f3690d0cd3607b0f2
Contents?: true
Size: 1.33 KB
Versions: 2
Compression:
Stored size: 1.33 KB
Contents
module LocatorSpecHelper def browser @browser ||= double(Watir::Browser, wd: driver) end def driver @driver ||= double(Selenium::WebDriver::Driver) end def locator(selector, attrs) attrs ||= Watir::HTMLElement.attributes element_validator = Watir::Locators::Element::Validator.new selector_builder = Watir::Locators::Element::SelectorBuilder.new(attrs) Watir::Locators::Element::Locator.new(browser, selector, selector_builder, element_validator) end def expect_one(*args) expect(driver).to receive(:find_element).with(*args) end def expect_all(*args) expect(driver).to receive(:find_elements).with(*args) end def locate_one(selector, attrs = nil) locator(ordered_hash(selector), attrs).locate end def locate_all(selector, attrs = nil) locator(ordered_hash(selector), attrs).locate_all end def element(opts = {}) attrs = opts.delete(:attributes) el = double(Watir::HTMLElement, opts) attrs&.each do |key, value| allow(el).to receive(:attribute).with(key.to_s).and_return(value) end allow(el).to receive(:enabled?).and_return true el end def ordered_hash(selector) case selector when Hash selector when Array Hash[*selector] else raise ArgumentError, "couldn't create hash for #{selector.inspect}" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
watir-6.15.1 | spec/locator_spec_helper.rb |
watir-6.15.0 | spec/locator_spec_helper.rb |