2011-05-02 5 views
4

Je veux simuler ctrl keydown et ctrl keyup.Comment simuler CTRL + Cliquez avec watir-webdriver?

Mon cas d'utilisation est le suivant:

L'utilisateur peut choisir parmi une liste (construire avec une table) plusieurs éléments en appuyant sur la touche CTRL et en cliquant sur la ligne souhaitée. Lorsque la touche CTRL est relâchée, un appel AJAX sera fait.

J'ai besoin d'un test Watir pour simuler cela. Comment puis-je faire ceci ? Des idées ? J'aurais besoin d'une solution qui fonctionne sous Linux

Merci beaucoup.

+3

Est-ce que la réponse fonctionne pour vous? Si oui, vous devriez avoir la courtoisie d '«accepter» la réponse pour que la personne qui vous a aidé obtienne un crédit pour une réponse correcte. –

Répondre

5

Je crois que la meilleure façon d'envoyer comands serait de procéder comme suit:

require 'watir-webdriver'

browser.send_keys[:control].send_keys[: arrow_up] browser.send_keys[:control].send_keys[: arrow_down]

Si vous voulez vérifier certaines options plus clés est un lien ici:

Link to other key stroke options

Espérons que cela aide!

+0

C'était une bonne réponse au moment où la question a été posée, mais il y a maintenant une meilleure @ La réponse de Lloyd ci-dessous –

2

Après quelques jouer avec Ruby 1.9.2 et Watir WebDriver J'ai trouvé cela a fonctionné pour envoyer plusieurs clés au navigateur simultanément:

browser.send_keys [:alt, :arrow_left] 

OS: Win64 Navigateur: Firefox

4

Se rendant compte de cette est vieux, mais la question initiale n'a pas tout à fait obtenu une réponse, la façon dont j'ai terminé ceci est de faire:

navigateur.a.cliquer (: contrôle)

Si vous utilisez un système Mac, vous pouvez utiliser: commande.

Voir http://watirwebdriver.com/sending-special-keys/

+1

Ce serait la meilleure réponse ACTUELLE à cela. Lorsque la question a été posée, nous n'avions pas cette capacité. C'est quelque chose que j'ai demandé à d'autres et qui a été ajouté il y a quelques mois. –

Questions connexes