【问题标题】:My question is that I am getting an error(Timed out waiting for driver server to start for chrome browser)我的问题是我收到一个错误(等待驱动程序服务器为 Chrome 浏览器启动超时)
【发布时间】:2019-05-15 14:10:03
【问题描述】:

我正在使用带有 windows 10-64 位、selenium-server-standalone-3.141.59 和 selenium-java-3.141.59 的 Eclipse Luna。
我已经编写了一个简单的程序来点击网址。但是我收到了这个错误:

[13552:3540:0515/184943.562:ERROR:cache_util_win.cc(21)] 无法 移动缓存:0 [13552:3540:0515/184943.562:ERROR:cache_util.cc(141)] 无法移动 缓存文件夹 C:\Users\RChauh\AppData\Local\Google\Chrome\User 数据\ShaderCache\GPUCache 到 C:\Users\RChauh\AppData\Local\Google\Chrome\User 数据\ShaderCache\old_GPUCache_000 [13552:3540:0515/184943.562:ERROR:disk_cache.cc(185)] 无法创建 缓存 [13552:3540:0515/184943.562:ERROR:shader_disk_cache.cc(623)] 着色器缓存创建失败:-2 在现有浏览器会话中打开。 线程“主”org.openqa.selenium.WebDriverException 中的异常: 等待驱动程序服务器启动超时。构建信息: 版本: '3.141.59',修订版:'e82be7d358',时间:'2018-11-14T08:25:53' 系统 信息:主机:'LAPTOP-3VFBUTNB',ip:'192.168.1.102',os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'1.8.0_211' 驱动程序信息:driver.version:ChromeDriver at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:202) 在 org.openqa.selenium.remote.service.DriverService.start(DriverService.java:188) 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:181) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:168) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:123) 在 helloWorld.java.main(java.java:11) 引起: org.openqa.selenium.net.UrlChecker$TimeoutException:等待超时 [http://localhost:32149/status] 在 20016 毫秒后可用 org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100) 在 org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:197) ... 9 更多原因:java.util.concurrent.TimeoutException at java.util.concurrent.FutureTask.get(未知来源)在 com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156) 在 org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75) ... 10 更多

package helloWorld;

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

public class java {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
        WebDriver driver=new ChromeDriver();
        driver.get("https://www.facebook.com/");
        System.out.println("LoginPage");
        driver.quit();
    }

}

【问题讨论】:

    标签: selenium webdriver selenium-chromedriver


    【解决方案1】:

    您应该将webdriver.chrome.driver 属性设置为指向chromedriver.exe,而不是chrome.exe

    1. 为您的 Chrome 浏览器版本下载相关的 ChromeDriver
    2. 在某处解压存档
    3. 修改webdriver.chrome.driver 属性以指向步骤2 中的chromedriver.exe
    4. 就是这样,你现在应该可以走了

    如果需要,请查看ChromeDriver - WebDriver for Chrome -> Getting Started 以获取更多详细信息。


    直到知道Page Object design pattern 为时不晚,它是某种形式的 Selenium 脚本最佳实践,它允许将测试逻辑与 UI 元素定义分开,从而使您的测试更易于开发,尤其是维护。查看Design Patterns - Page Object Model 了解更多详细信息和示例测试项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      • 2021-05-08
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多