我正在将Eclipse Luna与Windows 10-64位,selenium-server-standalone-3.141.59和selenium-java-3.141.59一起使用。
我编写了一个简单的程序来访问url。但是出现此错误:
[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 Data \ 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',操作系统名称:'Windows 10',os.arch:'amd64',os.version:'10 .0',java.version:'1.8.0_211' 驱动程序信息:driver.version:ChromeDriver位于 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 ms之后在 org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100) 在 org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:197) ... 9更多原因:java.util.concurrent.TimeoutException 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();
}
}
答案 0 :(得分:1)
您应将webdriver.chrome.driver
属性设置为指向chromedriver.exe
,而不是chrome.exe
webdriver.chrome.driver
属性,使其指向第2步中的chromedriver.exe
如果需要,请查看ChromeDriver - WebDriver for Chrome -> Getting Started以获得更多详细信息。
直到为时不晚的Page Object design pattern为止,它是Selenium脚本最佳实践的一种形式,它允许将测试逻辑与UI元素定义分离开来,从而使测试更易于开发和维护。请查看Design Patterns - Page Object Model,以获取更多详细信息和示例测试项目。