t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как проверить что поле ввода изменило цвет?


(ikatya) #1

 

Тест на проверку эрор флоу. Есть поле ввода которое при вводе неправильной информации меняет свой цвет. Как это проверить?
Думала через getAttribute(), но нет текого атрибута у поля. Подозреваю что это можно сделать как-то через CSS запрос, но не знаю как :)
Помогите люди добрые!
 
DOM:
<div class="value">
<input id="addressFields_city" class="textinput required errorclient" type="text" maxlength="50" value="" name="frm_addressFields_city">
<span class="errorclient" htmlfor=frm_er_addressFields_city" generated="true"></span>
</div>
 
CSS:
.errorclient {
    backgroundnone repeat scroll 0 0 #FFCCCC !important;
    border-colorred !important;
}

 


(Mykhailo Poliarush) #2

нужно использовать getCssValue.

например

String value = driver.findElement(By.ByClassName("errorclient")).getCssValue("background-color")

где-то так

 


(Mykhailo Poliarush) #3

вот ссылочка на описание этого метода

http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#getCssValue(java.lang.String)

 


(zc84) #4

было раз столкнулся с проблемой:

 

степ считался успешным при условии что не появлялся html pop up alert. Вроде как никаких проблем и вариант if element.isvisible ... должен был использваться только в путь, но увы. 

По итогу получалось чтот вроде аля эелемент ис нот карентли висибл. Оно то и на самом деле так, потому что алерт выше, есть на странице, но только с атрибутом display: none;

 

в общем тупил тупил и решил списать на баг драйвера, обходной путь - findelement byxpath("//*[style = '...display: ...']")

 

думаю в этом случае, атрибут style должен помоч


(Mykhailo Poliarush) #5

а к чему этот комментарий? ведь речь шла об CSS и фоновом цвете :) 


(zc84) #6

сори, проморгал, почемут показалось что реч идёт о Object.style.color проперти