webdrivermanager.chromedriver().setup() ".", { 预期

webdrivermanager.chromedriver().setup() ".", { expected

我在maven3.6.1项目中用下面的代码写了一个class。我正在使用 JDK 1.8.201 并在 Maven 插件部分声明使用 JDK 1.8 作为源和目标。

 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;

public class MySeleniumTest {
    WebDriverManager.chromedriver().setup();//Syntax error on token ".", { expected
    WebDriver driver = new ChromeDriver();
    driver.get("http://www.google.com");//Syntax error, insert "}" to complete Class
    driver.quit();
 }

如上所示,我在与代码同一行的注释中收到语法错误。即使在 运行 maven 在 Eclipse 中多次清理和更新项目后,这些错误也不会消失。我不明白为什么会出现这些错误。

您必须将代码放在一个方法中,并且不能 运行 直接从 class 作用域

所以像下面这样修改你的 运行

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;

public class MySeleniumTest {
   public static void main(String[] args) {
      WebDriverManager.chromedriver().setup();
      WebDriver driver = new ChromeDriver();
      driver.get("http://www.google.com");
      driver.quit();
   }
}

另请检查 here 以获取示例代码

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;

public class MySeleniumTest {
    public WebDriver driver;
    @Test
    void testMethodName(){
    WebDriverManager.chromedriver().setup();
    driver = new ChromeDriver();
    driver.get("http://www.google.com");
    driver.quit();
    }
    
 }

所以在class这里我们可以声明一个public驱动,这样我们就可以在这个class的所有方法中使用这个驱动。此外,我创建了一个 运行 测试方法,因为它需要包含在 class 到 运行 测试中。