1、安装eclipse
2、导入Junit4.jar.
3、导入selenium-java-3.0.1.jar,selenium-server-standalone-3.0.1.jar
导入selenium-server-standalone-2.53.0.jar(导入这个jar包是因为,如果导出Test Case的时候选择了Java Junit4 Remote Control,会有一些引用的包无法引用,具体的原因不明。。。可能是包里的类不同的原因,有些方法被废掉了)
4、启动selenium服务。
我选择了一个省事的方法,selenium服务的jar包的文件目录下,新建一个.bat的文件,里面写上java -jar selenium-server-standalone-2.53.0.jar
之后双击运行就可以了。(在CMD里执行这个命令不知道为什么不成功)
5、测试
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
public class TT {
public static void main(String[] args) {
// 如果你的 FireFox 没有安装在默认目录,那么必须在程序中设置
System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
// 创建一个 FireFox 的浏览器实例
WebDriver driver = new FirefoxDriver();
// 让浏览器访问 Baidu
driver.get("http://www.baidu.com");
// 用下面代码也可以实现
// driver.navigate().to("http://www.baidu.com");
// 获取 网页的 title
System.out.println("1 Page title is: " + driver.getTitle());
// 通过 id 找到 input 的 DOM
WebElement element = driver.findElement(By.id("kw"));
// 输入关键字
element.sendKeys("zTree");
// 提交 input 所在的 form
element.submit();
// 通过判断 title 内容等待搜索页面加载完毕,Timeout 设置10秒
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
return d.getTitle().toLowerCase().endsWith("ztree");
}
});
// 显示搜索结果页面的 title
System.out.println("2 Page title is: " + driver.getTitle());
//关闭浏览器
driver.quit();
}
}
这个不是测试类,只是一个验证是否成功的方法。因为接上一条日志,最后还是因为火狐版本的原因报错了,所以先用这个简单测试下是否可以正常启动火狐。
6、报错:
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases
添加一行代码
System.setProperty("webdriver.firefox.marionette", "D:\\selenium\\geckodriver-v0.18.0-win64\\geckodriver.exe");
这样就可以解决了,如果没有geckodriver.exe,在这里下载:https://github.com/mozilla/geckodriver/releases
另外,如果报错:org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055
那么就是火狐和selenium版本不兼容的问题了,于是我重装了39.0的火狐,但是这样xPath Checker的版本不兼容了。。。有哪个大神知道一个最完美的火狐版本可以兼容这些插件。。。