2013-08-05 72 views
2

我有自己的應用程序,它有大約70多個腳本,並且可以針對其他應用程序也可以運行的Selenium Grid運行。Selenium Webdriver連接池

我的問題是,有WebDriver的任何連接池api?這樣我就可以在我的腳本中有效地使用webdriver對象。我不希望我的腳本等待IE插槽,並且因爲超時錯誤而失敗,如果它們無法獲得。

另外,我相信它會提高腳本執行的性能。

謝謝。

回答

0

我同意WebDriver池可以提高應用程序的性能。另一方面,如果您使用的是硒驅動器,則驅動程序變爲有狀態,從而使其不易重用。我做了一個邏輯是這樣的:

  1. 創建一個驅動器工廠,封裝尺寸的鏈表說10(它實現了一個列表和隊列)。

  2. 當問及一個實例提供中間(我== 5)從列表中

  3. 使用另一個線程來回收在隊列中的驅動程序,從頭部取出一和添加新的到尾巴。

這樣你可以實現一個不斷回收的池,你的代碼不必在driver.create或driver.quit上阻塞。