2010-08-23 11 views

Répondre

1

Je ne suis pas très familier avec l'ajout de Java mais AFAIK la méthode Set remplace le texte. Si vous avez vraiment besoin de l'effacer, vous pouvez définir la chaîne vide.

JavaWindow("win").JavaEdit("box").Set "" ''# Clear old text (optional) 
JavaWindow("win").JavaEdit("box").Set "new value" 
+0

Non, cela ne fonctionnera pas correctement à tout moment, si le contenu a des espaces blancs ou quelque chose comme ça ne fonctionnera pas. Je suppose que quelque chose comme ctl + A et supprimer l'opération que je veux effectuer. Comment puis-je réaliser cela dans QTP ou VB? – TestGeeK

2

@TestGeek

Si vous voulez utiliser "CTRL + A et supprimer" séquence, utilisez .Type() Méthode de Modifier objet.
Si votre objet n'est pas entièrement pris en charge par QTP et ne pas .Type() méthode, vous pouvez utiliser WshShell.SendKeys() comme solution de contournement (ne pas oublier de mettre l'accent d'abord sur l'objet).

Dans QTP, les constantes sont définies avec le préfixe "mic" (constante d'indice de mercure). Vous pouvez rechercher la liste complète dans l'aide.

Pour ceux-ci, que vous avez mentionné, vous avez besoin:
micCtrlDwn
"A"
micCtrlUp
micDel

2

Essayez d'utiliser les objets de la fonction native setText(""). Cela réinitialise le contenu à une chaîne vide. L'avantage est que c'est le travail en 1 ligne.

Le .object permet d'accéder aux méthodes natives et une info-bulle avec toutes les méthodes apparaîtra dans l'EDI qtp uniquement si l'objet de l'interface utilisateur est réellement ouvert à l'écran.

JavaWindow("win").JavaInternalFrame("frame").JavaEdit("edit").Object.setText("")