Selenium FirefoxDriver总结

新建一个

WebDriver driver = new FirefoxDriver();

Firefox目录变更

System.setProperty("webdriver.firefox.bin","D:/Program Files/Mozilla Firefox/firefox.exe");

开URL

Driver.get(url);
Driver.Navigation.to(url);

设置firefox

1.新建一个 firefox -p 一般默认在:

C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles

2.在代码里引用这个profile

File F = new File("C:\\Users\\Administrator\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\9xhxx9r7.Selenium");
FirefoxProfile profile = new FirefoxProfile(file);
WebDriver driver = new FirefoxDriver(profile);

加载插件

File file = new File("files/firebug-2.0.7-fx.xpi");
FirefoxProfile profile = new FirefoxProfile();
try{
    profile.addExtension(file);
}catch(Exception e){
   e.printStackTrace();
}
WebDriver driver = new FirefoxDriver(profile);

通过about:config可以看到firefox的设置,可以通过代码改变, 有些设置直接可以通过firefox profile来设置

        //设置代理参数
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http", proxyIp);
profile.setPreference("network.proxy.http_port", proxyPort);

        //设置默认下载路径
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.dir", "D:\\");

capabilities的设置

DesiredCapabilities capabilities = new DesiredCapabilities(); 
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);driver = new FirefoxDriver(capabilities);

这个capabilities是启动一个session必备的,是对所有driver都可以设置的,而firefoxprofile只有firefox只适用firefox

Driver的timeout设置

页面加载timeoutdriver.manage().timeouts().pageLoadTimeout(pageLoadTimeout, TimeUnit.SECONDS);找对象的timeout,动态找
driver.manage().timeouts().implicitlyWait(waitTimeout, TimeUnit.SECONDS);脚本执行的timeout
driver.manage().timeouts().setScriptTimeout(scriptTimeout, TimeUnit.SECONDS);

如果想在页面没有加载完成的情况下就点击或者识别元素,用finally

时间: 2024-10-03 22:40:32

Selenium FirefoxDriver总结的相关文章

selenium运行火狐报错FirefoxDriver : Unable to connect to host 127.0.0.1 on port 7055

摘要: 这是个常见的启动firefoxdriver的问题,具体的错误日志如下,其实原因很简单,就是你的Selenium版本和firefox 不兼容了. Firefox 版本太高了, 请及时查看你安装的firefox版本. 检查你的selenium jar包版本 ... 这是个常见的启动firefoxdriver的问题,具体的错误日志如下,其实原因很简单,就是你的Selenium版本和firefox 不兼容了. Firefox 版本太高了, 请及时查看你安装的firefox版本. 检查你的sele

org.openqa.selenium.remote.SessionNotFoundException: The FirefoxDriver cannot be used after quit() was called.

该问题已经困扰了我很多天 问题终于解决了,全局变量导致的,碰到这种问题很难再自己本身的机器上发现错误,所以,应该看一下自己写的方法是否涉及到了全局变量出现不一致的情况,让其统一即可.

关于在selenium 中 webdriver 截图操作

package prictce; import java.io.File; import java.io.IOException; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.We

selenium学习笔记(1) 搭建环境

1. 用Eclipse创建maven工程,在pom.xml中添加依赖 1 <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --> 2 <dependency> 3 <groupId>org.seleniumhq.selenium</groupId> 4 <artifactId>selenium-java</artifactId>

Selenium2(java)selenium常用API 四

WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.click(); 由元素对象调用click()方法:   2.清除操作 WebElement username = driver.findElement(By.id("username_input")); username.clear(); 调用之后,会把输入框的内容全部清空:   3.获得元素属性

Junit Test With Selenium Driver

Junits 和 Selenium Junits 处理的是unit level 的测试:Selenium 处理的是 functional leve 的测试.虽然它们是完全不同,但仍然可以用Junit 来写 Selenium 测试. 一个完整的例子 import java.util.concurrent.TimeUnit;   import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; im

Selenium 中文API

1.1   下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGuide:http://seleniumhq.org/docs/ 1.2   用webdriver打开一个浏览器 我们常用的浏览器有firefox和IE两种,firefox是selenium支持得比较成熟的浏览器.但是做页面的测试,速度通常很慢,严重影响持续集成的速度,这个时候建议使用HtmlUnit,不过HtmlUnitDirver运

selenium 如何处理table

qi_ling2005  http://jarvi.iteye.com/blog/1477837 andyguo  http://blog.csdn.net/gzh0222/article/details/7568490 以前在selenium RC 里面有一个getTable方法,是得到一个单元格中的文本.其详细描述如下: Java代码   /** Gets the text from a cell of a table. The cellAddress syntax <span style=

Selenium Webdriver元素定位的八种常用方式

在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><