ChromeDriver 无法在 Eclipse 中导航到 URL

ChromeDriver cannot navigate to URL in eclipse

我是 Cucumber 的新手,使用 ChromeDriver 请求 URL 时出现以下错误:

java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html at com.google.common.base.Preconditions.checkState(Preconditions.java:177)

我的代码:

package cucumber.features;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

public class AddToList {

    WebDriver driver = null;

    @Given("^I am on Todo site$")
    public void onSite() throws Throwable {
        driver = new ChromeDriver();
        driver.navigate().to("http://localhost");
        System.out.println("on todo site");

    }

    @When("^Enter a task in todo textbox$")
    public void enterTask() throws Throwable {
        driver = new ChromeDriver();
        driver.findElement(By.name("task")).sendKeys("Test Unit Using Cucumber");
        ;
        System.out.println("task entered");
    }

    @Then("^I click on add to todo$")
    public void clickAddToTodo() throws Throwable {
        driver = new ChromeDriver();
        driver.findElement(By.xpath("//input[@value='Add to Todo' and @type='button']"));
        System.out.println("add button clicked");

    }

}

我在使用 selenium 库时遇到了类似的问题。我在创建我的驱动程序之前发现了这一行修复它。

System.setProperty("webdriver.chrome.driver", PATH_TO_CHROME_DRIVER);

Here is simple project that could help you.

this.driver.get(URL);

此外,我认为您的 When and Then 不应该创建新的 ChromeDriver。只有给定的。我使用setUp方法来实例化它

@Before
public void setUp() {       
    System.setProperty("webdriver.chrome.driver", "..//..//files//drivers//chromedriver.exe");
    this.driver = new ChromeDriver();       
}