我曾经尝试过在主要方法中使用System.setProperty时没有问题,但是当我在进行Selenium学习时切换到TestNG时,我意识到我们无法在课程级别编写System.setProperty。它应该在方法级别或在static块中。我只想了解Java的功能是什么促使我们这样做。

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() {
      ...}
   }


在静态块之外编写此代码将显示编译错误,例如
“此行有多个标记,语法错误”

最佳答案

我只想了解Java的功能是什么促使我们这样做。


“ Java的功能”是您只能在类级别编写方法和声明,而System.setProperty()都不是:这是一个方法调用。

10-06 01:10