2011-11-04 112 views
5

Quiero verificar que todos los campos de texto de entrada estén vacíos con Selenium IDE/Webdriver. Supongamos que si hay un método que puede devolver todos los elementos de entrada HTML con el atributo "texto" o "área de texto", entonces podría iterar sobre todos ellos y verificar si el contexto de texto está vacío.Verifique que todos los campos de entrada de texto estén vacíos con Selenium

Pero no puedo encontrar tal método. ¿De qué otra manera puedo hacer esto?

Gracias

Respuesta

1

lo has intentado.

driver.findElements(By) 

Esto le dará una lista de todos los elementos disponibles en la página usando el localizador que usted haya especificado.

2

Así es como lo hago. Capturo todas las entradas text y textarea y password en algunos casos y almaceno esos elementos en una lista de IWebElements. Luego puedo repetir la lista y verificar lo que quiera.

private List<IWebElement> GetTextFields(IWebDriver driver) 
{ 

List<IWebElement> textFields; 

try{ 
    textFields.AddRange(driver.FindElements(By.CssSelector("input[type='text']").ToList()); 
} 
catch { 
    //throw exception or log exception 
} 

try { 
    textFields.AddRange(driver.FindElements(By.TagName("textarea").ToList()); 
} 
catch { 
    //throw exception or log exception 
} 

textFields.RemoveRange(i => !i.Displayed); //removes all hidden fields 

return textFields 
} 

Así es como puede verificar que no hay texto con esa lista.

foreach(IWebElement element in textFields) 
{ 
if(element.text != "") 
{ 
    //log error or throw exception 
} 
} 
3

Considere que .text no funcionará en los campos de entrada y DEBE obtener el atributo de valor.

bool areAllFieldsClear() 
{ 
    var myFields = driver.FindElements(By.Xpath("//input")); 
    foreach(var field in myFields) 
    { 
     if(field.GetAttribute("value") != "") { 
      return false; //field.Clear(); maybe? 
    } 
    return true; 
} 
+0

Disculpa el retraso en el juego. Encontré esto buscando algo más. – Highstead

+0

Lo obtuve cuando cambié ** if ** condición como esta 'if (field.getAttribute (" value "). IsEmpty())'. Las condiciones '! = Null' o'! = "" 'No funcionaban para mí. – user123

Cuestiones relacionadas