Can Selenium use multi threading in one browser?

假如想象 提交于 2019-12-17 06:09:38

问题


I want to test a web in multi threading but when I open too many chromedrivers they use too much memory. Can I use multi threading in one browser?


回答1:


WebDriver is not thread-safe.The issue of thread-safety isn't in your code but in the actual browser bindings. They all assume there will only be one command at a time (e.g. like a real user).But you can on the other hand instantiate one WebDriver instance for each thread but it will launch multiple browsers which will consume more memory...

Hope this helps you....Kindly get back if you have any queries




回答2:


The multithreading should be done on different instances of Webdriver as Webdriver itself is a single thread.

Different threads can be run on same Webdriver, but then the results of the tests would not be what you expected. Let me explain it.

When you use multithreading to run different tests on different tabs(that't not impossible, little bit of coding is required), the actions you will perform like click or send keys will go to the opened tab that is currently focused regardless of the test running. That means all the test will run simultaneously on the same tab that has focus and not on intended tab.

You can read about multithreading in Webdriver.



来源:https://stackoverflow.com/questions/30808606/can-selenium-use-multi-threading-in-one-browser

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!