web-dev-qa-db-fra.com

Selenium peut-il utiliser le filetage multiple dans un seul navigateur?

Je veux tester un site Web en multi-threading mais quand j'ouvre trop de chromedrivers, ils utilisent trop de mémoire. Puis-je utiliser le filetage multiple dans un seul navigateur?

19
Roy

WebDriver n'est pas thread-safe. Le problème de thread-safety n'est pas dans votre code mais dans les liaisons réelles du navigateur. Ils supposent tous qu'il n'y aura qu'une seule commande à la fois (par exemple, comme un véritable utilisateur), mais vous pouvez en revanche instancier une instance WebDriver pour chaque thread, mais cela lancera plusieurs navigateurs qui consommeront plus de mémoire ...

J'espère que cela vous aidera .... Veuillez revenir si vous avez des questions

19
Vicky

Le multithreading doit être effectué sur différentes instances de Webdriver car Webdriver lui-même est un seul thread.

Différents threads peuvent être exécutés sur le même Webdriver, mais les résultats des tests ne correspondraient pas à ce que vous attendiez. Permettez-moi de l'expliquer.

Lorsque vous utilisez le multithreading pour exécuter différents tests sur différents onglets (ce n'est pas impossible, un peu de codage est requis), les actions que vous effectuerez comme les touches de clic ou d'envoi iront à l'onglet ouvert qui est actuellement concentré quel que soit le test. fonctionnement. Cela signifie que tout le test s'exécutera simultanément sur le même onglet qui a le focus et non sur l'onglet prévu.

Vous pouvez lire multithreading dans Webdriver .

13
Manu