2012-02-29 3 views
5

텍스트 상자에 포커스가 없을 때 자리 표시 자 텍스트를 표시하는 텍스트 상자가 있습니다. 포커스가이 텍스트 상자로 이동하면 (텍스트 상자에 커서를 놓음으로써) 자리 표시 자 텍스트가 사라지고 커서가 텍스트 상자에 나타납니다. 이 동작을 확인하는 시나리오를 자동화하려고합니다. 아무도 비슷한 시나리오를 자동화하려고 시도한 적이 있습니까? 모든 제안을 부탁드립니다. 감사합니다Selenium Webdriver를 사용하여 자리 표시 자 텍스트 확인

답변

1

나는 비슷한 테스트를 수행했습니다. 자리 표시 자 텍스트가있는 필드의 경우 텍스트는 요소의 자리 표시 자 속성에 나타납니다. Ruby에서는 다음과 같은 코드를 사용합니다.

element = @driver.find_element(*<locator string>*) 
expected_placeholder_text = element.attribute('placeholder') 

이렇게하면 다른 문자열과 마찬가지로 비교할 수 있습니다. 또한 element.attribute 호출뿐만 아니라

element['placeholder'] 

을로 단축 할 수 있지만, 우리는 (비 관련 완전히 임의의 이유로) 전자를 선호한다.

+0

. HTML5 자리 표시자가 브라우저를 올바르게 동작하게한다고 가정하고 있습니다. – scott77777

+3

그리고 브라우저 개발팀에 들지 않는다면 브라우저가 제대로 된대로 작동하는지 확인해야하는 이유는 무엇입니까? 브라우저의 버그 리포트로 당신과 당신 팀이하는 일은 무엇인가? 다른 관점에서, 자리 표시 자 속성이 있고 앱 코드에 예상대로 자동 테스트가있는 경우 버전 당 한 번 수동으로 브라우저를 실행하고 텍스트가 나타나는지 확인하는 데 얼마나 걸립니까? 적은 시간에 자동화를 구축하고 유지 관리 할 수 ​​있습니까? –

4

webdriver의 getAttribute 방법을 사용하여 자리 표시 자 텍스트를 가져올 수 있습니다.

html로 :

<input id="<ur id>" class="<ur class name>" type="password" lang="en" maxlength="30" placeholder="Enter Password" data-label="passwordPlaceholder" tabindex="5"> 

자바 코드 : 이것은 실제 동작을 확인하는 방법의 질문에 대답하지 않습니다

String password=driver.findElement(By.cssSelector("ur css path")).getAttribute("placeholder"); 
관련 문제