Module: PageObject::LocatorGenerator
- Defined in:
- lib/page-object/locator_generator.rb
Constant Summary collapse
- BASIC_ELEMENTS =
%i( abbr address animate animate_motion animate_transform article as aside base bdi bdo blockquote body br caption circle cite code col colgroup command cursor data datalist dd defs del desc details dfn dialog discard dl dt ellipse em embed fieldset figcaption figure font footer foreign_object g head header hgroup hr html ins kbd keygen legend line linear_gradient main map mark marker menu menuitem mesh_gradient mesh_patch mesh_row meta metadata meter mpath nav noscript object optgroup output p param path pattern polygon polyline pre progress q radial_gradient rect rp rt ruby s samp script section set small source stop strong style sub summary sup switch symbol template text_path thread time title track tspan u use var view wbr )
- ADVANCED_ELEMENTS =
%i( text_field date_field hidden_field text_area select_list link checkbox radio_button button div span table cell row image form list_item ordered_list unordered_list h1 h2 h3 h4 h5 h6 paragraph label file_field area canvas audio video b i svg )
Class Method Summary collapse
Class Method Details
.generate_locators(target) ⇒ Object
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'lib/page-object/locator_generator.rb', line 160 def self.generate_locators(target) ADVANCED_ELEMENTS.each do |tag| target.send(:define_method, "#{tag.to_s}_element") do |*identifier| @platform.send "#{tag.to_s}_for", locator(identifier) end target.send(:define_method, "#{tag.to_s}_elements") do |*identifier| @platform.send("#{tag.to_s}s_for", identifier[0] ? identifier[0] : {}) end end BASIC_ELEMENTS.each do |tag| target.send(:define_method, "#{tag.to_s}_element") do |*identifier| @platform.send :element_for, tag, locator(identifier) end target.send(:define_method, "#{tag.to_s}_elements") do |*identifier| @platform.send(:elements_for, tag, identifier[0] ? identifier[0] : {}) end end end |