2016-12-14 1 views
0

J'ai google autour d'un peu en essayant de trouver un moyen de cliquer sur les cases à cocher en entrant une valeur, similaire à ce que vous pouvez utiliser pour sélectionner des valeurs dans la liste déroulante. Mais je n'ai pas encore trouvé de solution.Cliquez sur Checkbox par valeur Selenium

J'ai deux cases à cocher Oui et non avec

div class="radio"> 
<label> 
    <input type="radio" name="LongTermContract" value="Yes" autocomplete="off" checked="">Yes 
</label> 
<label> 
<input type="radio" name="LongTermContract" value="No" autocomplete="off">No        </label>       
</div> 

J'utilise aussi PageObjects,

[FindsBy(How = How.Name, Using = "LongTermContract")] 
public IWebElement radioBtnLongTermContract { get; set; } 

Ceci est la méthode que j'ai.

public static void SelectOptions(this IWebElement element, string value) 
    { 
     PropertiesCollection.driver.FindElement(By.XPath("//input[@value='" + value + "']")).Click(); 

    } 

Maintenant, si im essayer cette

public void SelectValue(){ 
    Reporting("NO"); 
    } 

je reçois une erreur qu'il ne trouve pas l'élément

Informations complémentaires: pas cet élément: Impossible de trouver l'élément: { "méthode": "xpath", "sélecteur": "// entrée [@ valeur = 'NON']"}

Des idées d'astuces?

Répondre

2

Ceci est l'extrait de code dans java. Vous devez passer la valeur soit Oui ou Non il sélectionnera le bouton radio respectif la même valeur utilisée pour l'attribut de la balise <input>value

public static void SelectOptions(String value) 
{ 
    driver.findElement(By.xpath("//input[@value='"+value+"']")).click(); 
} 
+0

Il semble que cela devrait fonctionner, obtenir cette erreur si. Informations complémentaires: aucun élément de ce type: Impossible de localiser l'élément: {"méthode": "xpath", "sélecteur": "// input [@ value = 'NO']"} – Dymond

+2

Je crois que xpath est sensible à la casse "NON" ne correspondra pas, vous devez utiliser "Non" – Josh

+0

@Josh correct! c'était le problème !! Je vous remercie – Dymond