2010-09-21 7 views
2

J'essaie d'automatiser une entrée de mot de passe, mais le site en question ne vous permet pas de taper votre mot de passe avec la touche de verrouillage des majuscules. WatiN semble utiliser la touche de verrouillage des majuscules pour taper les lettres majuscules, ce qui ne permet pas que cela fonctionne.WatiN et en tapant des lettres majuscules

Est-ce que quelqu'un sait une solution de contournement ou un moyen de forcer WatiN à utiliser la touche Majuscule?

Répondre

3

Vous pouvez écrire votre propre extension à la classe TextField comme ça ...

public static class WatinHelper 
{ 
    public static void TypeTextFast(this TextField textField, string text) 
    { 
     textField.SetAttributeValue("value", text); 
    } 
} 

puis utilisez TypeTextFast au lieu de TypeText. Cela permettrait en outre d'améliorer considérablement la vitesse de frappe (en particulier dans IE) lors de l'exécution du test WatiN. Voir this pour plus de détails.

0

Il a été un moment que je crée quelque chose avec Watin, mais vous pouvez assigner le texte directement avec quelque chose comme ceci:

TextBox.Text = « PaSsWoRd »;

Je me suis connecté à un site Web sans aucun problème en utilisant ce qui précède.

+0

Le texte n'a pas de setter. – strickland

+0

Je me souviens d'avoir un setter, mais peut-être que j'imagine des choses. De toute façon, une recherche google rapide affiche une méthode TypeText utilisée comme: ie.TextField (Find.ById ("txtNickName")). TypeText ("gsus"); – Telavian

1

La classe TextField possède la propriété Value que vous pouvez utiliser pour définir directement le texte de TextBox, sans imiter une entrée manuelle, comme la méthode TypeText(). En remarque, étant donné que la valeur est définie derrière la scène, elle ne peut pas déclencher un événement dont la valeur a changé, ce qui peut être nécessaire si l'action s'ajoute lorsque vous tapez. Le TypeText() s'occupait de ça pour vous. Dans ce cas, vous pouvez utiliser la méthode Change() après avoir défini la valeur.

Questions connexes