我曾嘗試在主要方法中使用System.setProperty
,但沒有問題,但是當我作爲Selenium學習的一部分切換到TestNG
時,我意識到我們不能在Class級別編寫System.setProperty
。它應該在方法級別或在static
塊中。 我只是想了解什麼是強迫我們這樣做的Java功能。爲什麼不能在Class級別使用System.setProperty?
public class NewTest {
public String baseUrl = "http://newtours.demoaut.com/";
static {
System.setProperty("webdriver.chrome.driver","D:\\paths\\chromedriver.exe");
}
WebDriver driver = new ChromeDriver();
@Test
public void f1() {
...}
}
寫這篇靜態塊外顯示編譯錯誤,如 「在這一行多個標記,語法錯誤」
如果它不在「靜態」塊中,那麼你想在什麼時候執行它?編譯器要求您使用正確的語法來指定代碼的運行時間。 – 4castle
根據Java語法,「Statement」只能出現在方法或靜態塊中。在課堂級別,你只能寫出聲明。否則沒有任何意義,當你在課堂上寫下這個陳述的時候,陳述會被執行嗎? – Henry
你能澄清一下,究竟是你的目標嗎?使用標準的Java語法很可能有一個合理的方法。 – dimo414