On Tue, Feb 14, 2012 at 7:03 PM, Hugh McGowan <colinsda...@gmail.com> wrote:
> We have a watir test that's now failing for 3.0 and I wanted to get your > thoughts if there was a better way to handle this. In order to pass > watirspec we changed watir to use #cssText to get the style. The problem is > that we're now only getting the inline style and not the internal style. > > # The element's style is defined inline - PASS > browser.form(:index, 1).style.should =~ /300px/ > > # This element's style is defined internal to the header - FAILS (you > *can* get the style from #ole_object.currentStyle.backgroundColor) > browser.div(:id => "Container").style.should =~ /#f00/ > > I tried this on webdriver and it's broken there too (no internal styles). > Is there a good way to handle this? Would CSS selectors be impacted (I've > never used them personally...) or is this that big of an issue? > > The behaviour in watir-webdriver is this: Element#style() - return the "style" attribute of the element (i.e. "inline style") Element#style(property_name) - return the value of the named CSS property from the computed style of the element (i.e. takes into account what is inherited by parent nodes). Personally I don't see any use case where getting the full inline style attribute as a string is useful - usually you know exactly what properties you want to look at, and you want the actual, computed style. The reason #style with no arguments behave this way, is for consistency with the other attribute methods. Some options: (a) deprecate the no-args version of #style (b) have #style return a Watir::Style object, that can be further used to get CSS property values, but with a common API for watir and watir-webdriver (i.e. not simply return the currentStyle OLE object) (c) leave things as they are in watir-webdriver, but introduce the ability to fetch a named property to Watir 3 through #style(property_name). I don't really have a strong opinion on this. Jari
_______________________________________________ Wtr-development mailing list Wtr-development@rubyforge.org http://rubyforge.org/mailman/listinfo/wtr-development