2013-05-09 7 views
1

Bonjour,Java WebDriver Copier du texte Problème

Je suis en train de copier un texte à partir d'un champ pour que je puisse le coller ailleurs dans mon test. Le problème quand il atteint la ligne 6 il envoie seulement c, il ignore le CONTRÔLE. Donc, mon résultat final n'est pas de copier le texte, mais en mettant en évidence le texte, puis en entrant c.

+0

Je pense que c'est une bonne chose d'essayer d'utiliser une action pour faire un copier coller mais je ne vois aucun avantage à créer un tel test. Tout le monde sait que copier/coller est une fonction du système d'exploitation qui fonctionne toujours. Un meilleur test serait simplement de vérifier que le champ cible peut avoir sa valeur définie. Nous savons par expérience que la copie à partir d'un champ source fonctionnera TOUJOURS et ne devra pas non plus être testée. Donc, ce test peut être grandement simplifié et ne nécessite pas qu'une Action soit définie pour le faire. – djangofan

+0

Ok, permettez-moi d'en dire un peu plus. Le résultat final de ce test est de vérifier que j'ai créé un cas de test dans un outil que mon équipe construit. La raison pour laquelle je dois copier coller est parce que je suis randomisant le titre du cas de test et la seule façon de suivre ce cas de test est de copier le titre qui est généré aléatoirement et le coller dans un champ de recherche de titre sur une page différente. Je ne teste pas les fonctions de copier-coller elles-mêmes. J'ai aussi la tâche d'automatiser tous les tests possibles. –

+0

Pourquoi ne pouvez-vous pas utiliser un WebElement standard avec un localisateur CSS pour définir la valeur du champ cible. Pourquoi devez-vous le coller? Aussi, pourquoi ne pouvez-vous pas simplement récupérer la valeur de champ du champ source au lieu d'utiliser une copie "cntrl-c"? – djangofan

Répondre

0

Si votre champ est un élément d'entrée, peut-être que vous pouvez faire quelque chose comme ceci:

driver.findElement(By.xpath("//*[@id='mainForm:testTitle']")).click().get_attribute("value"); 
1

Vous pouvez simplement copier la valeur du champ de texte dans une variable et le stocker pour une utilisation ultérieure. Tirez-le de la page en utilisant votre code avec la méthode get attribut.

String valueInField = driver.findElement(By.xpath("//*[@id='mainForm:testTitle']")).getAttribute("value"); 

qui saisira le texte du champ et le mettre dans la variable pour une utilisation ultérieure. Je ne suis pas sûr si cela fait pleinement ce que vous essayez de faire, vu que vous essayez de faire un crtl + c, mais cette méthode est de savoir comment saisir du texte en utilisant webdriver.

Questions connexes