Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading Selenium能否在一个浏览器中使用多线程?_Multithreading_Selenium_Selenium Grid2 - Fatal编程技术网

Multithreading Selenium能否在一个浏览器中使用多线程?

Multithreading Selenium能否在一个浏览器中使用多线程?,multithreading,selenium,selenium-grid2,Multithreading,Selenium,Selenium Grid2,我想在多线程中测试一个web,但当我打开太多ChromeDriver时,它们会占用太多内存。我可以在一个浏览器中使用多线程吗?WebDriver不是线程安全的。线程安全问题不在代码中,而在实际的浏览器绑定中。他们都假设一次只有一个命令(例如,像真正的用户一样)。但另一方面,您可以为每个线程实例化一个WebDriver实例,但它将启动多个浏览器,这将消耗更多内存。多线程应该在WebDriver的不同实例上执行,因为WebDriver本身是一个单线程 不同的线程可以在同一个Webdriver上运行,

我想在多线程中测试一个web,但当我打开太多ChromeDriver时,它们会占用太多内存。我可以在一个浏览器中使用多线程吗?

WebDriver不是线程安全的。线程安全问题不在代码中,而在实际的浏览器绑定中。他们都假设一次只有一个命令(例如,像真正的用户一样)。但另一方面,您可以为每个线程实例化一个WebDriver实例,但它将启动多个浏览器,这将消耗更多内存。

多线程应该在WebDriver的不同实例上执行,因为WebDriver本身是一个单线程

不同的线程可以在同一个Webdriver上运行,但是测试的结果将不是您所期望的。让我解释一下

当您使用多线程在不同的选项卡上运行不同的测试时(这并非不可能,需要一点编码),您将执行的操作(如单击或发送键)将转到打开的选项卡,该选项卡当前处于焦点位置,而不管测试运行如何。这意味着所有测试将在具有焦点的同一选项卡上同时运行,而不是在预期的选项卡上运行


您可以阅读。

您好……您的意思是希望在不同的选项卡中同时运行测试,但在单个浏览器(实例)窗口中运行测试是的,并且每个选项卡都可以作为线程运行,然后我可以同时打开url。我该如何做。Thx.相关问题