2011-11-04 15 views
5

Voglio verificare che tutti i campi di testo di input siano vuoti con Selenium IDE/Webdriver. Supponiamo che se esiste un metodo che può restituire tutti gli elementi di input HTML con l'attributo "text" o "textarea", allora potrei scorrere tutte e controllare se il contesto del testo è vuoto.Verificare che tutti i campi di immissione del testo siano vuoti con Selenium

Ma non riesco a trovare un tale metodo. In quali altri modi posso farlo?

Grazie

risposta

1

hai provato.

driver.findElements(By) 

Questo ti darà un elenco di tutti gli elementi web disponibili sulla pagina utilizzando il localizzatore specificato.

2

Ecco come lo faccio. Prendo tutti gli input testo e textarea e password in alcuni casi e li memorizzo in un elenco di IWebElements. Quindi posso scorrere l'elenco e verificare ciò che voglio.

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 
} 

ecco come è possibile verificare nessun testo con tale elenco.

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

Considera che .text non funzionerà sui campi di input e DEVE ottenere l'attributo value.

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

Siamo spiacenti per il ritardo del gioco. È venuto attraverso questo cercando qualcos'altro. – Highstead

+0

L'ho preso quando cambiato ** se ** condizione come questa 'if (field.getAttribute (" value "). IsEmpty())'. Le condizioni '! = Null' o'! = "" 'Non funzionavano per me. – user123

Problemi correlati