我为Opening Chrome添加了以下依赖项和代码,但浏览器未打开。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.50.0</version>
</dependency>
我的代码: -
package example;
import org.openqa.selenium.WebDriver;`
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class DepChrome {
@Test
public void testBrowser() {
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
}
}
答案 0 :(得分:7)
有两种方法。
最简单的方法是从此位置下载chromedriver
然后在您的项目中创建一个源文件夹。 (例如:BrowserDrivers),然后将下载的库添加到其中。
然后使用setProperty命令在自动化脚本中设置chrome驱动程序路径,如下所示。
System.setProperty("webdriver.chrome.driver", "BrowserDrivers/chromedriver.exe");
但是还有另一种方法。这更适合于Maven构建。 将以下依赖项添加到POM.xml文件中。
有2个依赖项。一个用于Chrome驱动程序。但是要使用chrome驱动程序依赖性,您必须添加webdrivermanager依赖性。浏览器驱动程序是强制性依赖项。因此,总是必须将它们都添加。 有关更多详细信息,请参见此链接Github Webdriver manager link
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>2.2.5</version>
</dependency>
并添加chrome驱动程序依赖项。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.50.0</version>//Your chrome driver version
</dependency>
然后在自动化脚本中使用此行而不是System.setProperty命令来声明chrome驱动程序。
ChromeDriverManager.getInstance().setup();
更新: the use of ChromeDriverManager is deprecated,请改用它:
import static io.github.bonigarcia.wdm.DriverManagerType.CHROME;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
WebDriverManager.getInstance(CHROME).setup();
答案 1 :(得分:6)
您的依赖项很好,但您还需要提供chrome binary的路径
System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
从selenium网站下载chrome的二进制文件,如下所示: - http://chromedriver.storage.googleapis.com/index.html?path=2.21/
现在将二进制路径提供给selenium: -
System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
还有一件事需要注意。如果您使用的是Windows,则使用反斜杠\\
,如果您使用的是mac或linux,则使用正斜杠//
来设置路径。
希望它会对你有所帮助:)。
答案 2 :(得分:2)
检查以下代码 -
package example;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import io.github.bonigarcia.wdm.WebDriverManager;
public class DepChrome {
@Test
public void testBrowser() {
WebDriver driver;
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.get("https://google.com");
String title = driver.getTitle();
System.out.println(title);
driver.quit();
}
}
答案 3 :(得分:1)
具有以下两个maven依赖项,您完全不需要设置系统属性,这应该可以工作
<!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager -->
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>${webdriver-manager.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>${selenium-chrome-driver}</version>
</dependency>
WebDriver driver;
@BeforeSuite
public void setUp(){
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.get("http://www.ebay.in");
driver.manage().timeouts().implicitlyWait(5000, TimeUnit.MILLISECONDS);
}
答案 4 :(得分:0)
在Maven中,使用ChromeDriver.exe
:
import static io.github.bonigarcia.wdm.DriverManagerType.CHROME;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
import org.testng.annotations.Test;
public class MavenTest {
@Test
public void TestMaven()
{
System.setProperty("webdriver.chrome.driver", "D:\\Sumit_Backup\\Automation\\Workspace\\Maven\\src\\Browser\\chromedriver.exe");
WebDriver driver= new ChromeDriver();
driver.get("http://testng.org/doc/maven.html");
driver.manage().window().maximize();
}
}