Sha256: 80d3666fa18d5140c6cfb3ebe8e5de9b1ce6c6de1e91105117b751a16ce09a7e
Contents?: true
Size: 1.13 KB
Versions: 31
Compression:
Stored size: 1.13 KB
Contents
module Actir class BasicPage #include PageObject def initialize(driver) case driver #若是浏览器对象 when Watir::Browser, Browser @browser = driver #Appium TO-DO when Appium::Driver @appium = driver else raise "wrong driver" end end def method_missing(m, *args, &blk) if @browser.respond_to? m @browser.send(m, *args, &blk) elsif @appium.respond_to? m @appium.send(m, *args, &blk) else super end end def turn_to kls raise "Invalid Page Error" unless kls <= Actir::BasicPage kls.new(@browser) end def data_driven hash, &blk raise "Argument Error" unless hash.is_a?(Hash) hash.each do |mtd, data| m_with_eql = (mtd.to_s + '=').to_sym if respond_to?(m_with_eql) eval "self.#{m_with_eql.to_s}(data)" elsif respond_to?(mtd.to_sym) self.send(mtd.to_sym).send(data.to_sym) end #if end #each class_eval &blk if block_given? end end #BasicPage end #Actir
Version data entries
31 entries across 31 versions & 1 rubygems