![](/img/trans.png)
[英]How there is no affect of setting memory through System.setProperty?
[英]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的java客戶端本身使用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.