2011-03-03 31 views
5

Mam nadzieję, że ktoś może mi pomóc, mówiąc mi, że nie mogę tego zrobić lub wskazać mi właściwy kierunek.Watir - praca z elementami CSS

Próbuję użyć testów pisemnych Watir Ruby, aby sprawdzić, czy element CSS jest stosowany do mojej strony po zaznaczeniu pola wyboru. Mogę sprawdzić atrybut checkbox fine i zobaczyć, że jest on zaznaczony, ale innym testem, który muszę wykonać, jest sprawdzenie, czy obraz został podświetlony po zaznaczeniu tego pola wyboru.

Obecnie nie udało mi się znaleźć niczego przydatnego po kilku godzinach poszukiwań. Czy ktoś napotkał problem, który musiałeś przezwyciężyć, a jeśli tak, to jak do tego doszło.

góry dzięki

Odpowiedz

1

Jak można zastosować element CSS do obrazu po sprawdzeniu wyboru? Jeśli dodasz atrybut klasy do podświetlania, domyślam się, że sprawdzenie atrybutu klasy jest najprostszym sposobem.

np

 
browser.image.class_name =~ /foobar/ 

Jeśli przy użyciu atrybutu stylu, myślę, że trzeba sprawdzić sam HTML, jak

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

Jeśli używasz waniliowy Watir (czyli IE w systemie Windows) wtedy można również uzyskać styl elementu z obiektu 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" 

Ten styl # met od również zwraca styl obliczeniowy, np. style z CSS, a nie tylko ze znaczników stylu.

Możesz sprawdzić wszystkie możliwe metody stylu z msdn pod http://msdn.microsoft.com/en-us/library/ms535870(v=vs.85).aspx pod właściwościami stylu.