Sha256: 79ec0642cf520983e04704f590554784abd209163317f48848b38d198ef872a7
Contents?: true
Size: 1.6 KB
Versions: 5
Compression:
Stored size: 1.6 KB
Contents
module PageObject module Elements class TableRow < Element include Enumerable def initialize(element, platform) @element = element include_platform_for platform end # # iterator that yields with a PageObject::Elements::TableCell # # @return [PageObject::Elements::TableCell] # def each for index in 1..self.columns do yield self[index-1] end end protected def child_xpath ".//child::td|th" end def initialize_cell(row_element, platform) ::PageObject::Elements::TableCell.new(row_element, platform) end def include_platform_for platform super if platform[:platform] == :watir_webdriver require 'page-object/platforms/watir_webdriver/table_row' self.class.send :include, PageObject::Platforms::WatirWebDriver::TableRow elsif platform[:platform] == :lds_watir_webdriver require 'page-object/platforms/lds_watir_webdriver/table_row' self.class.send :include, PageObject::Platforms::LdsWatirWebDriver::TableRow elsif platform[:platform] == :selenium_webdriver require 'page-object/platforms/selenium_webdriver/table_row' self.class.send :include, PageObject::Platforms::SeleniumWebDriver::TableRow else raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver" end end end ::PageObject::Elements.tag_to_class[:tr] = ::PageObject::Elements::TableRow end end
Version data entries
5 entries across 5 versions & 1 rubygems