Class: Watir::Image
- Defined in:
- lib/watir/image.rb,
lib/watir/camel_case.rb
Overview
This class is the means of accessing an image on a page. Normally a user would not need to create this object as it is returned by the Watir::Container#image method
many of the methods available to this object are inherited from the Element class
Constant Summary
Constants inherited from Element
Instance Attribute Summary
Attributes inherited from Element
Attributes included from Container
#activeObjectHighLightColor, #page_container, #type_keys, #typingspeed
Instance Method Summary collapse
-
#file_created_date ⇒ Object
(also: #fileCreatedDate)
this method returns the file created date of the image.
-
#file_size ⇒ Object
(also: #fileSize)
this method returns the filesize of the image.
-
#height ⇒ Object
returns the height in pixels of the image, as a string.
-
#initialize(container, how, what) ⇒ Image
constructor
A new instance of Image.
-
#loaded? ⇒ Boolean
(also: #hasLoaded?)
This method attempts to find out if the image was actually loaded by the web browser.
- #locate ⇒ Object
-
#save(path) ⇒ Object
This method saves the image to the file path that is given.
-
#to_s ⇒ Object
returns a string representation of the object.
-
#width ⇒ Object
returns the width in pixels of the image, as a string.
Methods inherited from Element
#<=>, #activeObjectHighLightColor, #after_text, #assert_enabled, #assert_exists, #attribute_value, #before_text, #click, #click!, #click_no_wait, #document, #enabled?, #exists?, #fire_event, #flash, #focus, #inspect, #ole_object, #ole_object=, #parent, #text, #type_keys, #typingspeed, #visible?
Methods included from Container
#area, #areas, #button, #buttons, #cell, #cells, #checkbox, #checkboxes, #dds, #divs, #dls, #dts, #element, #elements, #ems, #file_field, #file_fields, #form, #forms, #frame, #hidden, #hiddens, #image, #images, #labels, #link, #links, #lis, #locate_all_elements, #locate_input_element, #locate_tagged_element, #log, #map, #maps, #modal_dialog, #popup, #pres, #ps, #radio, #radios, #row, #rows, #select_list, #select_lists, #set_container, #show_all_objects, #spans, #strongs, #table, #tables, #text_field, #text_fields, #wait
Constructor Details
#initialize(container, how, what) ⇒ Image
Returns a new instance of Image.
9 10 11 12 13 14 |
# File 'lib/watir/image.rb', line 9 def initialize(container, how, what) set_container container @how = how @what = what super nil end |
Instance Method Details
#file_created_date ⇒ Object Also known as: fileCreatedDate
this method returns the file created date of the image
46 47 48 49 |
# File 'lib/watir/image.rb', line 46 def file_created_date assert_exists return @o.invoke("fileCreatedDate") end |
#file_size ⇒ Object Also known as: fileSize
this method returns the filesize of the image
52 53 54 55 |
# File 'lib/watir/image.rb', line 52 def file_size assert_exists return @o.invoke("fileSize").to_s end |
#height ⇒ Object
returns the height in pixels of the image, as a string
64 65 66 67 |
# File 'lib/watir/image.rb', line 64 def height assert_exists return @o.invoke("height").to_s end |
#loaded? ⇒ Boolean Also known as: hasLoaded?
This method attempts to find out if the image was actually loaded by the web browser. If the image was not loaded, the browser is unable to determine some of the properties. We look for these missing properties to see if the image is really there or not. If the Disk cache is full (tools menu -> Internet options -> Temporary Internet Files), it may produce incorrect responses.
73 74 75 76 77 78 |
# File 'lib/watir/image.rb', line 73 def loaded? locate raise UnknownObjectException, "Unable to locate image using #{@how} and #{@what}" if @o == nil return false if @o.fileCreatedDate == "" and @o.fileSize.to_i == -1 return true end |
#locate ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/watir/image.rb', line 16 def locate if @how == :xpath @o = @container.element_by_xpath(@what) else @o = @container.locate_tagged_element('IMG', @how, @what) end end |
#save(path) ⇒ Object
This method saves the image to the file path that is given. The path must be in windows format (c:\dirname\somename.gif). This method will not overwrite a previously existing image. If an image already exists at the given path then a dialog will be displayed prompting for overwrite. Raises a WatirException if AutoIt is not correctly installed path - directory path and file name of where image should be saved
110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/watir/image.rb', line 110 def save(path) require 'watir/windowhelper' WindowHelper.check_autoit_installed @container.goto(src) begin thrd = fill_save_image_dialog(path) @container.document.execCommand("SaveAs") thrd.join(5) ensure @container.back end end |
#to_s ⇒ Object
returns a string representation of the object
38 39 40 41 42 43 |
# File 'lib/watir/image.rb', line 38 def to_s assert_exists r = string_creator r += image_string_creator return r.join("\n") end |
#width ⇒ Object
returns the width in pixels of the image, as a string
58 59 60 61 |
# File 'lib/watir/image.rb', line 58 def width assert_exists return @o.invoke("width").to_s end |