5

希望有人可以帮助我,告诉我它不能完成或指出我正确的方向。

我正在尝试使用 Watir Ruby 书面测试来检查在选中复选框时是否将 CSS 元素应用于我的页面。我可以很好地检查复选框属性并查看它是否被选中,但是我必须执行的另一个测试是检查在选中复选框后图像是否已突出显示。

目前,经过几个小时的搜索,我还没有找到任何有用的东西。有没有人遇到过您必须克服的问题,如果是这样,您是如何解决的。

提前致谢

4

2 回答 2

2

如果您使用的是 vanilla Watir(意思是 Windows 上的 IE 浏览器),那么也可以从 win32ole 对象获取元素的样式:

irb(main):001:0> require "watir"
=> true
irb(main):002:0> b = Watir::Browser.new
=> #<Watir::IE:0x4bce118 url="about:blank" title="">
irb(main):003:0> b.goto "google.com"
=> 2.298132
irb(main):004:0> i = b.image(:alt => "Google")
=> #<Watir::Image:0x433fa28 located=false how={:alt=>"Google"} what=nil>
irb(main):005:0> i.style
=> #<WIN32OLE:0x431ca90>
irb(main):008:0> i.style.paddingTop
=> "26px"

这个#style 方法还返回计算的样式,例如来自CSS 的样式,而不仅仅是来自样式标签。

您可以在http://msdn.microsoft.com/en-us/library/ms535870(v=vs.85).aspx在样式属性下查看 msdn 中所有可能的样式 ole 方法。

于 2011-03-04T14:31:38.780 回答
1

选中复选框后如何将 CSS 元素应用于图像?如果您添加类属性以突出显示,我想检查类属性是最简单的方法。

例如

browser.image.class_name =~ /foobar/

如果使用样式属性,我认为您可能需要检查 HTML 本身,例如

browser.image.html =~ /style=\"?foobar\"?/
于 2011-03-03T16:24:26.593 回答