lib/page-object/platforms/selenium_element.rb in page-object-0.0.2 vs lib/page-object/platforms/selenium_element.rb in page-object-0.0.3

- old
+ new

@@ -16,14 +16,76 @@ def exists? nil != @element end # - # return the text for the element + # Get the text for the element # + # @return [String] + # def text @element.text end + + # + # Get the value of this element + # + # @return [String] + # + def value + @element.attribute('value') + end + # + # compare this element to another to determine if they are equal + # + def ==(other) + @element == other.element + end + + # + # Get the tag name of this element + # + # @return [String] + # + def tag_name + @element.tag_name + end + + # + # Get the value of a the given attribute of the element. Will return the current value, even if + # this has been modified after the page has been loaded. More exactly, this method will return + # the value of the given attribute, unless that attribute is not present, in which case the + # value of the property with the same name is returned. If neither value is set, nil is + # returned. The "style" attribute is converted as best can be to a text representation with a + # trailing semi-colon. The following are deemed to be "boolean" attributes, and will + # return either "true" or "false": + # + # async, autofocus, autoplay, checked, compact, complete, controls, declare, defaultchecked, + # defaultselected, defer, disabled, draggable, ended, formnovalidate, hidden, indeterminate, + # iscontenteditable, ismap, itemscope, loop, multiple, muted, nohref, noresize, noshade, novalidate, + # nowrap, open, paused, pubdate, readonly, required, reversed, scoped, seamless, seeking, + # selected, spellcheck, truespeed, willvalidate + # + # Finally, the following commonly mis-capitalized attribute/property names are evaluated as + # expected: + # + # class, readonly + # + # @param [String] + # attribute name + # @return [String,nil] + # attribute value + # + def attribute(attribute_name) + @element.attribute attribute_name + end + + # + # Click this element + # + def click + @element.click + end end end end \ No newline at end of file