2017-02-08 1 views
1

Je souhaite exécuter plusieurs instances IE (via Selenium).Proxy différent par fenêtre de navigateur

Mon plan est d'avoir plusieurs instances FiddlerCore lancées et démantelées pour chaque test afin que je puisse voir exactement quel trafic HTTP il y a par test. Chaque instance créée via WebDriver doit avoir son proxy à l'instance de FiddlerCore créée pour ce test.

  1. Est-ce possible?
  2. Comment je m'y prendrais?

Si c'est impossible, des suggestions sur une stratégie alternative?

par exemple. Serait-il possible d'obtenir le PID des fenêtres du navigateur et de filtrer chaque instance de FiddlerCore pour écouter uniquement ce processus? J'utilise .NET Selenium et le IEWebDriver.exe standard.

Répondre

0

La réponse courte est que ce n'est généralement pas facile mais c'est souvent possible. Le "meilleur" moyen de le faire serait d'avoir une seule instance de FiddlerCore qui détermine d'où provient le trafic en fonction de l'ID du processus, en triant le trafic de chaque processus dans sa propre liste ou autre. Le défi que vous rencontrez est que différentes "instances" d'IE peuvent finir par fusionner en un seul processus; avez-vous essayé d'exécuter une instance complète de Fiddler tout en exécutant votre test pour voir si les PID sont divisés comme vous l'espérez?

+0

Je peux désactiver la fusion de trames, en supposant que Selenium me permette de transmettre des arguments aux processus qu'il crée, mais même si j'ai dépassé cet obstacle, il est impossible d'obtenir les PID des processus créés par WebDriver. Je vais maintenant à la racine d'une solution sur mesure. Si cela fonctionne, je l'afficherai ici. – BanksySan

+0

L'autre option que je considérais était d'avoir FiddlerCore en cours d'exécution tout le temps, mais je ne sais pas si il va écouter plusieurs ports et si c'est le cas, je peux filtrer sur quel trafic il obtient de quel port. – BanksySan