2012-02-29 58 views
5

Tengo un cuadro de texto que muestra un marcador de posición cuando el cuadro de texto no está enfocado. Cuando el foco se desplaza a este cuadro de texto (colocando el cursor en el cuadro de texto), el texto del marcador de posición desaparece y el cursor aparece en el cuadro de texto. Estoy tratando de automatizar un escenario que confirma este comportamiento. ¿Alguien ha intentado alguna vez automatizar un escenario similar? Cualquier sugerencia sera apreciada. GraciasComprobación de texto de marcador de posición utilizando Selenium Webdriver

Respuesta

1

He hecho pruebas similares. Para nuestros campos con texto de marcador de posición, el texto aparece en un atributo de marcador de posición en el elemento. En Ruby, utilizamos un código como este:

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

Eso nos da una cadena que comparamos como cualquier otra cadena. También podría acortar la llamada element.attribute sea

element['placeholder'] 

así, pero preferimos el primero (por razones no pertinentes y completamente arbitrarias).

+0

Esto no responde a la pregunta de cómo verificar el comportamiento real. Simplemente está asumiendo que el marcador de posición HTML5 hará que el navegador se comporte correctamente. – scott77777

+3

Y a menos que esté en el equipo de desarrollo del navegador, ¿por qué necesita asegurarse de que el navegador está haciendo lo que dice que hará? ¿Qué harían usted y su equipo con un informe de error para un navegador que no hace lo que dice que haría? Desde otro punto de vista, si tiene una prueba automatizada que verifica que el atributo de marcador de posición está presente y como se espera en el código de su aplicación, ¿cuánto tiempo tarda en iniciarse manualmente un navegador por versión y asegúrese de que aparezca el texto? ¿Podría construir y mantener la automatización en menos tiempo? –

4

Puede obtener el texto del marcador de posición con el método getAttribute de webdriver.

El HTML:

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

El código Java:

String password=driver.findElement(By.cssSelector("ur css path")).getAttribute("placeholder"); 
Cuestiones relacionadas