簡體   English   中英

如何通過 System.setProperty() 啟動多個版本的 Geckodriver

[英]How to initiate multiple versions of Geckodriver through System.setProperty()

我不知道我是否在監督某些事情,但是是否可以在同一個 JVM 中使用多個 geckodriver 版本?

問題在於

System.setProperty("webdriver.gecko.driver", "path of the geckodriver1");
driver1 = new FirefoxDriver();

System.setProperty("webdriver.gecko.driver", "path of the geckodriver2");
driver2 = new FirefoxDriver();

我將在其中定義系統屬性。 對於單個實例,這沒有問題並且工作正常,但是如何使用另一個 geckodriver 定義 FirefoxDriver。 進程將並行運行,因此全局設置會相互干擾。

我知道,您可以使用相同的驅動程序啟動多個 Firefox 會話,但我需要支持不同的 Firefox 版本,因此我也在尋找具有多個 geckodrivers 的解決方案。

謝謝指教。

系統屬性

程序可以使用系統屬性對象在其整個生命周期內維護其配置。 Selenium客戶端本身使用Properties對象來維護自己的配置。 System類維護一個Properties對象,該對象描述當前工作環境的配置。 系統屬性包括有關當前用戶、Java 運行時的當前版本以及用於分隔文件路徑名組成部分的字符的信息。

因此,您將無法在單個程序中使用多個GeckoDriver版本。


示范

提取一些最重要的系統屬性的演示:

  • 代碼塊:

     package Java_Experiments; public class system_getProperty { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\\\\Utility\\\\BrowserDrivers\\\\chromedriver.exe"); System.out.println(System.getProperty("webdriver.chrome.driver")); System.out.println(System.getProperty("subliminal.message", "Selenium WebDriver!")); System.out.println("Java Runtime Environment version: "+System.getProperty("java.version")); System.out.println("Java Runtime Environment vendor: "+System.getProperty("java.vendor")); System.out.println("Java vendor URL: "+System.getProperty("java.vendor.url")); System.out.println("Java installation directory: "+System.getProperty("java.home")); } }
  • 控制台輸出:

     C:\\Utility\\BrowserDrivers\\chromedriver.exe Selenium WebDriver! Java Runtime Environment version: 1.8.0_172 Java Runtime Environment vendor: Oracle Corporation Java vendor URL: http://java.oracle.com/ Java installation directory: C:\\Program Files\\Java\\jdk1.8.0_172\\jre

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM