Java 类org.openqa.selenium.io.TemporaryFilesystem 实例源码
项目:GeoCrawler
文件:HttpWebClient.java
/**
* Function for obtaining the HTML BODY using the selected
* {@link org.openqa.selenium.WebDriver}.
* There are a number of configuration properties within
* <code>nutch-site.xml</code> which determine whether to
* take screenshots of the rendered pages and persist them
* as timestamped .png's into HDFS.
* @param url the URL to fetch and render
* @param conf the {@link org.apache.hadoop.conf.Configuration}
* @return the rendered inner HTML page
*/
public static String getHtmlPage(String url, Configuration conf) {
WebDriver driver = getDriverForPage(url, conf);
try {
if (conf.getBoolean("selenium.take.screenshot", false)) {
takeScreenshot(driver, conf);
}
String innerHtml = driver.findElement(By.tagName("body")).getAttribute("innerHTML");
return innerHtml;
// I'm sure this catch statement is a code smell ; borrowing it from lib-htmlunit
} catch (Exception e) {
TemporaryFilesystem.getDefaultTmpFS().deleteTemporaryFiles();
throw new RuntimeException(e);
} finally {
cleanUpDriver(driver);
}
}
项目:grid-refactor-remote-server
文件:DefaultSession.java
private DefaultSession(final DriverFactory factory, TemporaryFilesystem tempFs,
SessionId sessionId, final Capabilities capabilities) throws Exception {
this.knownElements = new KnownElements();
this.sessionId = sessionId;
this.tempFs = tempFs;
final BrowserCreator browserCreator = new BrowserCreator(factory, capabilities);
final FutureTask<EventFiringWebDriver> webDriverFutureTask =
new FutureTask<EventFiringWebDriver>(browserCreator);
executor = new ThreadPoolExecutor(1, 1,
600L, TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>());
// Ensure that the browser is created on the single thread.
EventFiringWebDriver initialDriver = execute(webDriverFutureTask);
if (!isQuietModeEnabled(browserCreator, capabilities)) {
// Memo to self; this is not a constructor escape of "this" - probably ;)
initialDriver.register(new SnapshotScreenListener(this));
}
this.driver = initialDriver;
this.capabilities = browserCreator.getCapabilityDescription();
updateLastAccessTime();
}
项目:GeoCrawler
文件:HttpWebClient.java
public static void cleanUpDriver(WebDriver driver) {
if (driver != null) {
try {
driver.quit();
TemporaryFilesystem.getDefaultTmpFS().deleteTemporaryFiles();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
项目:grid-refactor-remote-server
文件:UploadFile.java
@Override
public String call() throws Exception {
TemporaryFilesystem tempfs = getSession().getTemporaryFileSystem();
File tempDir = tempfs.createTempDir("upload", "file");
new Zip().unzip(file, tempDir);
// Select the first file
File[] allFiles = tempDir.listFiles();
if (allFiles == null || allFiles.length != 1) {
throw new WebDriverException("Expected there to be only 1 file. There were: " +
allFiles.length);
}
return allFiles[0].getAbsolutePath();
}
项目:grid-refactor-remote-server
文件:DefaultSession.java
public static Session createSession(DriverFactory factory,
SessionId sessionId, Capabilities capabilities)
throws Exception {
File tmpDir = new File(System.getProperty("java.io.tmpdir"), sessionId.toString());
if (!tmpDir.mkdir()) {
throw new WebDriverException("Cannot create temp directory: " + tmpDir);
}
TemporaryFilesystem tempFs = TemporaryFilesystem.getTmpFsBasedOn(tmpDir);
return new DefaultSession(factory, tempFs, sessionId, capabilities);
}
项目:grid-refactor-remote-server
文件:DefaultSession.java
@VisibleForTesting
public static Session createSession(DriverFactory factory, TemporaryFilesystem tempFs,
SessionId sessionId, Capabilities capabilities)
throws Exception {
return new DefaultSession(factory, tempFs, sessionId, capabilities);
}
项目:grid-refactor-remote-server
文件:DefaultSession.java
public TemporaryFilesystem getTemporaryFileSystem() {
return tempFs;
}
项目:grid-refactor-remote-server
文件:Session.java
TemporaryFilesystem getTemporaryFileSystem();