資源簡介
Selenium Webdriver使用已打開的瀏覽器

代碼片段和文件信息
package?webtest;
import?org.openqa.selenium.firefox.FirefoxDriver;
import?java.io.IOException;
import?java.net.MalformedURLException;
import?java.net.URL;
import?java.util.Map;
import?org.openqa.selenium.Capabilities;
import?org.openqa.selenium.Platform;
import?org.openqa.selenium.remote.CapabilityType;
import?org.openqa.selenium.remote.Command;
import?org.openqa.selenium.remote.DesiredCapabilities;
import?org.openqa.selenium.remote.DriverCommand;
import?org.openqa.selenium.remote.HttpCommandExecutor;
import?org.openqa.selenium.remote.Response;
import?org.openqa.selenium.remote.internal.WebElementToJsonConverter;
import?com.google.common.collect.ImmutableMap;
import?com.google.common.collect.Iterables;
import?com.google.common.collect.Lists;
public?class?myFirefoxDriver?extends?FirefoxDriver{
private?Capabilities?mycapabilities;
public?myFirefoxDriver(String?localserverString?sessionID){
mystartClient(localserver);
mystartSession(sessionID);
}
protected?void?mystartClient(String?localserver)?{
HttpCommandExecutor?delegate?=?null?;
try?{
?URL?driverserver?=?new?URL(localserver);
?delegate?=?new?HttpCommandExecutor(driverserver);
}?catch?(MalformedURLException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
?
????try?{
????????//?TODO:?use?a?more?intelligent?way?of?testing?if?the?server?is?ready.
????????delegate.getAddressOfRemoteServer().openConnection().connect();
????????super.setCommandExecutor(delegate);
????System.out.println(“Connect?to?the?existing?browser“);
????
??????}?catch?(IOException?e)?{
???? ??System.out.println(e.getMessage());
???? ??System.out.println(“can?not?connect“?+?delegate.getAddressOfRemoteServer()?+?“??and??“?+?delegate);
??????}
}
????
??@Override
??protected?void?startClient()?{
??
??//?Do?nothing
??}
?? ??
??protected?void?mystartSession(String?sessionID)?{
??
??if(!sessionID.isEmpty()){
????super.setSessionId(sessionID);
????}
????
????Command?command?=?new?Command(super.getSessionId()?DriverCommand.GET_CAPABILITIES);
????Response?response;
try?{
response?=?super.getCommandExecutor().execute(command);
}?catch?(IOException?e1)?{
//?TODO?Auto-generated?catch?block
e1.printStackTrace();
System.out.println(“Can‘t?use?this?Session“);
return;
}
????Mapject>?rawCapabilities?=?(Mapject>)?response.getValue();
????DesiredCapabilities?returnedCapabilities?=?(DesiredCapabilities)?super.getCapabilities();
????if(returnedCapabilities?==?null){
???? returnedCapabilities?=?new?DesiredCapabilities();
????}
????for?(Map.Entryject>?entry?:?rawCapabilities.entrySet())?{
??????//?Handle?the?platform?later
??????if?(CapabilityType.PLATFORM.equals(entry.getKey()))?{
????????continue;
??????}
??????returnedCapabilities.setCapability(entry.getKey()?entry.getValue());
????}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????5565??2016-04-24?10:27??myFirefoxDriver.java
?????文件????????2968??2016-04-24?11:18??readme.txt
?????文件????????3407??2016-02-01?20:58??webtest01.jar
評論
共有 條評論