2009-01-14 8 views
1

J'ai créé un script de test Ruby qui utilise Selenium RC pour tester mon application web directement dans 2 navigateurs (IE, Firefox). Mon script s'exécute - d'abord sur IE puis continue sur Firefox et devrait ensuite être poursuivi et terminé dans le navigateur IE déjà ouvert. Mon problème est: je ne peux pas continuer (reconnecter) pour exécuter mon script dans le navigateur IE déjà ouvert. J'utilise:Exécuter le script directement dans 2 différents navigateurs

@browser = RSpecSeleniumHelper.connect_browser("URL") 

mais il s'ouvre avec une nouvelle session (il doit conserver la session précédente).

Répondre

1

Y a-t-il une raison particulière pour laquelle vous devez basculer d'un navigateur à l'autre? Je ne sais pas comment résoudre le problème, mais il semble que le mieux serait de le faire en exécutant les tests dans un navigateur à la fois.

1

Je ne sais pas non plus pourquoi vous devez basculer dans vos navigateurs. Quoiqu'il en soit, je fais quelque chose de similaire, mais à la place j'utilise une bibliothèque différente. J'utilise la gemme "Selenium". (gem install sélenium) et voici ce que je ferais dans votre situation.

@ie_driver = Selenium::SeleniumDriver.new(rc_host, port, "*iexplore", url, 1000) 
@ie_driver.start 
@ie_driver.whatever //Test code 
@ff_driver = Selenium::SeleniumDriver.new(rc_host, port, "*firefox", url, 1000) 
@ff_driver.start 
@ff_driver.whatever //Test code 
@ff_driver.stop 
@ie_driver.whatever //Continue test code with IE 
@ie_driver.stop 

En résumé, alors que je ne suis pas vraiment familier avec votre bibliothèque de sélénium, généralement je voudrais créer 2 instances du pilote de R/C, de cette façon, je ne vais pas interrompre la session.

Questions connexes