Watir - работа с элементами CSS - PullRequest
5 голосов
/ 03 марта 2011

Надеюсь, кто-нибудь может мне помочь, либо сказав мне, что это невозможно сделать, либо указав мне правильное направление.

Я пытаюсь использовать письменные тесты Watir Ruby, чтобы проверить, что элемент CSS применяется к моей странице, когда установлен флажок. Я могу хорошо проверить атрибут checkbox и увидеть, что он отмечен, но другой тест, который я должен выполнить, состоит в том, чтобы проверить, что изображение было выделено после установки флажка.

В настоящее время я не смог найти ничего полезного после нескольких часов поиска. Кто-нибудь сталкивался с проблемой, которую вам пришлось преодолеть, и если да, то как вы справились с этим?

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 04 марта 2011

Если вы используете vanilla Watir (имеется в виду браузер IE в Windows), то также возможно получить стиль элемента из объекта 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, а не только из тега style.

Вы можете проверить все возможные методы ole стиля из msdn в http://msdn.microsoft.com/en-us/library/ms535870(v=vs.85).aspx в свойствах стилей.

1 голос
/ 03 марта 2011

Как применить элемент CSS к изображению после установки флажка?Если вы добавите атрибут класса для выделения, я думаю, что проверка атрибута класса - это самый простой способ.

, например,

browser.image.class_name =~ /foobar/

Если вы используете атрибут стиля, я думаю, что вам может понадобиться проверить сам HTMLвроде

browser.image.html =~ /style=\"?foobar\"?/
...