WebDriver总结-不同浏览器的启动方式

启动Firefox Browser。

1这种情况适用于Firefox安装在了默认路径下

WebDriver driver = new FirefoxDriver();//直接new一个FirefoxDriver

Navigation navigation = driver.navigate();

// 进入百度首页

navigation.to("http://www.baidu.com");

2 这种情况适用于Firefox未安装在默认路径下

System.out.println("start firefox browser...");

System.setProperty("webdriver.firefox.bin",     //指定firefox的安装路径

"D:/Program Files/Mozilla Firefox/firefox.exe");  

WebDriver driver = new FirefoxDriver();

Navigation navigation = driver.navigate();

navigation.to("http://www.baidu.com/");

3这种情况可以加载出Firefox的插件。

首先要知道我们为什么需要加载插件原因是webdriver在启动浏览器时启动的一个干净的没有任务、插件及cookies信息的浏览器(即使你本机的firefox安装了某些插件webdriver启动firefox也是没有这些插件的)但是有可能被测系统本身需要插件或者需要调试等等此时可以用如下方法在启动firefox时加载插件下面示例加载firebug插件

import java.io.File;

import java.io.IOException;

import org.openqa.selenium.Alert;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebDriver.Navigation;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.firefox.FirefoxProfile;

public class TestDemo {

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("start firefox browser...");

System.setProperty("webdriver.firefox.bin",

"C:/Program Files (x86)/Mozilla Firefox/firefox.exe");

File file = new File("/files/firebug-2.0.7-fx.xpi");

FirefoxProfile profile = new FirefoxProfile();

try {

profile.addExtension(file);

} catch (IOException e) {

e.printStackTrace();

}

profile.setPreference("extensions.firebug.currentVersion", "2.0.7");

//active firebug extensions

profile.setPreference("extensions.firebug.allPagesActivation", "on");

WebDriver driver = new FirefoxDriver(profile);

driver.get("http://www.baidu.com");

System.out.println("start firefox browser succeed...");

}

}

--------------------------------------

上述代码并未调通报如下异常

start firefox browser...

Exception in thread "main" org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(C:\Program Files (x86)\Mozilla Firefox\firefox.exe) on port 7055; process output follows:

null

Build info: version: ‘2.53.0‘, revision: ‘35ae25b‘, time: ‘2016-03-15 16:57:40‘

System info: host: ‘XL-20150414QGDQ‘, ip: ‘192.168.80.6‘, os.name: ‘Windows 7‘, os.arch: ‘amd64‘, os.version: ‘6.1‘, java.version: ‘1.7.0_80‘

Driver info: driver.version: FirefoxDriver

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:128)

at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271)

at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:119)

at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:218)

at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211)

at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:207)

at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:124)

at TestDemo.main(TestDemo.java:27)

Caused by: org.openqa.selenium.firefox.UnableToCreateProfileException: java.io.FileNotFoundException: \files\firebug-2.0.7-fx.xpi (系统找不到指定的路径。)

Build info: version: ‘2.53.0‘, revision: ‘35ae25b‘, time: ‘2016-03-15 16:57:40‘

System info: host: ‘XL-20150414QGDQ‘, ip: ‘192.168.80.6‘, os.name: ‘Windows 7‘, os.arch: ‘amd64‘, os.version: ‘6.1‘, java.version: ‘1.7.0_80‘

Driver info: driver.version: FirefoxDriver

at org.openqa.selenium.firefox.FirefoxProfile.layoutOnDisk(FirefoxProfile.java:427)

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:85)

... 7 more

Caused by: java.io.FileNotFoundException: \files\firebug-2.0.7-fx.xpi (系统找不到指定的路径。)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.<init>(Unknown Source)

at org.openqa.selenium.firefox.internal.FileExtension.obtainRootDirectory(FileExtension.java:80)

at org.openqa.selenium.firefox.internal.FileExtension.writeTo(FileExtension.java:59)

at org.openqa.selenium.firefox.FirefoxProfile.installExtensions(FirefoxProfile.java:443)

at org.openqa.selenium.firefox.FirefoxProfile.layoutOnDisk(FirefoxProfile.java:421)

... 8 more



4用第(3)种情况未调通。

每次启动如果都像上面那样在代码里面配置profile比较麻烦可以使用下面的方法启动本机器的firefox的配置换句话说就是我们可以事先配置本 机的firefox然后用webdriver启动它这样本机上的firefox安装了什么插件都可以直接使用了不需要在配置profile:

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("start firefox browser...");

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

ProfilesIni pi = new ProfilesIni();

FirefoxProfile profile = pi.getProfile("default");

WebDriver driver = new FirefoxDriver(profile);

driver.get("http://www.baidu.com");

System.out.println("start firefox browser succeed...");

}

启动IE Browser。

PS:Firefox已自带外其他浏览器均需从Selenium官网http://docs.seleniumhq.org/download/下载各自的Driver。

1启动本地IE Browser。

System.setProperty("webdriver.ie.driver",

"E:\\selenium\\IEDriverServer.exe");//IEDriverServer.exe所在本地路径

DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();

ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

WebDriver driver = new InternetExplorerDriver(ieCapabilities);

driver.get("http://www.baidu.com");

启动Chrome Browser。

1启动本地Chrome Browser。

public static void main(String[] args) {

// TODO Auto-generated method stub

System.setProperty("webdriver.chrome.driver",

"E:\\selenium\\chromedriver.exe");//chromedriver.exe所在本地路径

WebDriver driver = new ChromeDriver();

driver.get("http://www.baidu.com");

driver.findElement(By.id("kw")).sendKeys(Keys.chord(Keys.SHIFT,"webdriver"));

driver.findElement(By.id("su")).click();

driver.close();

}

时间: 2024-10-01 06:38:59

WebDriver总结-不同浏览器的启动方式的相关文章

chrome浏览器插件启动本地应用程序

chrome浏览器插件启动本地应用程序 2014-04-20 00:04:30|  分类: 浏览器插件|举报|字号 订阅 下载LOFTER我的照片书  | chrome的插件开发这里就不多讲了,本篇文章只讲如何调用谷歌浏览器的api启动本地的程序并与之通信 要启动本地的应用插件需要包括两部分的内容: 1)安装到浏览器的插件部分 2)放置在本地的json文件 第一部分就跟普通的谷歌浏览器插件是一样的,包括两个必须的文件: 1)background.js(名字不一定为background......

MySQL启动方式-LNMP安装与部署博客

第2章 mysql设置启动方式更改 1.修改启动方式 [[email protected] /application/mysql/bin]# cd /application/mysql [[email protected] /application/mysql]# cp support-files/mysql.server /etc/init.d/mysqld [[email protected] /application/mysql]# chmod +x /etc/init.d/mysqld

java项目部署Linux服务器几种启动方式总结经验

一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是jar包,下面小介绍两种包的区别: spring boot既可以打成war发布,也可以找成jar包发布.说一下区别: jar包:直接通过内置tomcat运行,不需要额外安装tomcat.如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置.内置tomcat没有自己的日志输出,全

服务【启动方式】生命周期 通讯

基本概念 Service通常总是称之为"后台服务",其中"后台"一词是相对于前台而言的,具体是指其本身的运行并不依赖于用户可视的UI界面,因此,从实际业务需求上来理解,Service的适用场景应该具备以下条件: 1.并不依赖于用户可视的UI界面(当然,这一条其实也不是绝对的,如前台Service就是与Notification界面结合使用的) 2.具有较长时间的运行特性 服务的两(三)种启动方式 1.startService方式启动服务 最核心的一句话:当Client

s5pv210的启动方式详解(三)

iROM中的BL0中具体是做了什么事? 根据Samsung的文档,BL0主要做了以下几件事: 注: iROM中的BL0是Samsung公司在出厂前已经烧写好了的代码,是不能改变的. BL0在将BL1复制到iRAM中后会根据BL1的内容计算出校验和并和BL1头部的校验和进行比较,如果正确则跳转到BL1中执行第一启动,否则会尝试去SD/MMC的通道2进行启动.(第一启动是可以根据OM pin来选择的,但是第二启动方式固定是SD/MMC的通道2,是不可选择的). iROM中关于初始化Block Dev

s5pv210的启动方式详解(一)

普通的PC机中: BIOS+硬盘来配合启动,见笔记“Linux基础知识->PC机的启动流程分析”. 嵌入式系统中: 可以用来作为启动的介质有:NorFlash.SRAM. 不能用来作为启动介质的有:NandFlash(数据和地址复用,需要发送命令才能读写数据,还要初始化寄存器).DRAM(需要初始化控制寄存器才能使用). 由此可以推出在嵌入式系统中,有如下几种启动方式: 1.NorFlash(存放bootloader)+NandFlash(存放操作系统内核镜像) 这种方式就是从NorFlash中

s5pv210的启动方式详解(二)

s5pv210的启动流程参考s5pv210_iROM_ApplicationNote_Preliminary_20091126.pdf这篇文档. s5pv210支持Moveinand/iNand.SD/MMC.NandFlash.eSSD.UART.USB等多种启动方式. s5pv210启动流程详解: 1.在cpu上电后,首先执行iROM(类似于NorFlash,可以直接读数据)中的代码,iROM中的代码被称为BL0,BL0会初始化一些SoC内部的硬件资源. 2.BL0会根据OM pin上的电平

mysql的四种启动方式

mysql的四种启动方式: 1.mysqld 启动mysql服务器:./mysqld --defaults-file=/etc/my.cnf --user=root 客户端连接: mysql --defaults-file=/etc/my.cnf or mysql -S /tmp/mysql.sock 2.mysqld_safe 启动mysql服务器:./mysqld_safe --defaults-file=/etc/my.cnf --user=root & 客户端连接: mysql --de

Redis的三种启动方式

Part I. 直接启动 下载 官网下载 安装 tar zxvf redis-2.8.9.tar.gz cd redis-2.8.9 #直接make 编译 make #可使用root用户执行`make install`,将可执行文件拷贝到/usr/local/bin目录下.这样就可以直接敲名字运行程序了. make install 启动 #加上`&`号使redis以后台程序方式运行 ./redis-server & 检测 #检测后台进程是否存在 ps -ef |grep redis #检测