2009-11-28 4 views
3

Je veux ajouter quelques fonctionnalités à webdriver, mais puisque je ne connais pas Java du tout, je veux comprendre la façon dont cela fonctionne en premier. Donc, comme je l'ai, il y a un plugin firefox (javascript) et il y a du code java qui démarre firefox avec cette extension installée, puis ce code java écoute un port local et quand il obtient une commande, java le signale au plugin firefox , qui fait le travail réel. Et le code python est juste un ensemble de raccourcis vers l'interface du port. C'est correct?Comment fonctionne le pilote web python?

Mise à jour:

Merci pour la réponse, malatio. Mais quelqu'un pourrait-il expliquer s'il vous plaît, pourquoi quand j'ajoute alert('Hello world!'); après FirefoxDriver.prototype.deleteCookie = function(respond, cookieString) { dans D:\webdriver-read-only\firefox\src\extension\components\firefoxDriver.js puis exécutez

from webdriver_firefox.webdriver import WebDriver 

wd = WebDriver() 
wd.delete_all_cookies() 

Je ne toujours pas voir l'alerte Hello world! (et obtenir un error, par la chemin)

Répondre

4

Oui, vous l'avez. Le serveur Java contrôle un navigateur avec un environnement JavaScript spécial qui permet au serveur de le contrôler. Le serveur écoute les commandes qui lui sont transmises via http, quand il reçoit des commandes, il tire les chaînes sur le navigateur pour le faire faire des choses. L'API Python pour webdriver est un code qui construit les bonnes commandes http à envoyer au serveur webdriver. Il peut y avoir ou non de bonnes descriptions ou diagrammes pour cela pour Webdriver, mais l'architecture est très similaire pour Selenium (en fait, Webdriver et Selenium sont fusionnés les uns avec les autres en tant que "Selenium 2"). Voici un aperçu de la même architecture des Sélénium docs: how-selenium-rc-works

alt text http://selenium.openqa.org/selenium-rc.png

Questions connexes