【问题标题】:JUnit (Selenium WebDriver) to open www.google.co.uk in Chrome BrowserJUnit (Selenium WebDriver) 在 Chrome 浏览器中打开 www.google.co.uk
【发布时间】:2012-04-08 23:47:40
【问题描述】:

我曾尝试在 JUnit (Selenium WebDriver) 测试用例下运行以在 Chrome 浏览器中打开 Google,但失败并显示错误消息为

"ChromeDriver 可执行文件的路径必须由 webdriver.chrome.driver 系统属性;有关详细信息,请参阅 http://code.google.com/p/selenium/wiki/ChromeDriver。”

按照那个网站的说明,我下载了 ChromeDriver.exe 但不知道, 我应该放置哪个PATH?要么 如何在 webdriver.chrome.driver 中设置 ChromeDriver 路径?

请指教。

我的 JUnit 测试用例(将 Firefox 驱动改为 Chrome 驱动):

import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.*;
public class Chrome_Open_Google {
    private WebDriver driver;
    private String baseUrl;
    @Test
    public void Test_Google_Chrome() throws Exception {
        driver = new ChromeDriver();
        baseUrl = "http://www.google.co.uk/";
        driver.get(baseUrl);
    }
    @After
    public void tearDown() throws Exception {
        driver.quit();
    }
}

【问题讨论】:

    标签: selenium webdriver junit4


    【解决方案1】:

    System.setProperty("webdriver.chrome.driver", "your\path\to\it");
    例如:

                System.setProperty("webdriver.chrome.driver",  "C:\\Selenium\\driver\\chromedriver.exe");
                driver = new ChromeDriver();
                driver.manage().window().maximize();
    

    【讨论】:

      【解决方案2】:

      我相信你有几个选择:

      在 PATH 系统变量中指定文件夹(您的 chromedriver 二进制文件所在的文件夹) - here's how

      或者通过使用-Dwebdriver.chrome.driver=the/path/to/it 参数调用应用程序webdriver.chrome.driver 作为系统属性。

      或以编程方式相同:System.setProperty("webdriver.chrome.driver", "your/path/to/it");

      或者这个:

      private static ChromeDriverService service;
      private WebDriver driver;
      
      @BeforeClass
      public static void createAndStartService() {
          service = new ChromeDriverService.Builder()
                  .usingChromeDriverExecutable(new File("path/to/my/chromedriver"))
                  .usingAnyFreePort()
                  .build();
                  service.start();
      }
      
      @Before
      public void createDriver() {
          driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome());
      }
      
      @After
      public void tearDown() throws Exception {
          driver.quit();
      }
      
      @AfterClass
      public static void createAndStopService() {
          service.stop();
      }
      

      【讨论】:

      • 谢谢彼得。我尝试了第 1、第 3 和第 4 个选项,但仍然无法正常工作。而且我无法获得第二个选项。对不起,我是 Selenium 的新手。我已经编写了 JUnit 代码并尝试从 Eclipse 中执行。在我按照第一个选项中的指定设置 PATH 后,eclipse 没有打开。它说要设置 JRE 或 JDK,我相信 JRE 已经在我的系统中运行。对于第 3 和第 4 选项,程序在代码中显示错误消息。例如,我将 chromedriver.exe 放在“C:/Selenium”文件夹中,如果我在代码中指定为 System.setProperty("webdriver.chrome.driver", "C:/Selenium");然后它会抛出错误消息。
      • 嗯。尝试包括文件名在内的整个路径?否则,我也几乎一无所知。
      • 嗯...终于找到了。感谢您的帮助@Petr。我在 google 中搜索过语法,你给出了 System.setProperty("webdriver.chrome.driver",)。正确的写法是 System.setProperty("webdriver.chrome.driver", "C://Selenium//chromedriver.exe");所以实际上我们应该用“//”而不是“/”来编码。那是我犯的错误。它终于奏效了。非常感谢...
      猜你喜欢
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 2017-08-25
      • 1970-01-01
      • 2022-10-02
      相关资源
      最近更新 更多