您好,登錄后才能下訂單哦!
1)Firefox 45.0
下載地址:http://ftp.mozilla.org/pub/firefox/releases
2)harexporttrigger-0.5.0-beta.10.xpi
下載地址:http://www.softwareishard.com/blog/har-export-trigger/
https://github.com/firebug/har-export-trigger/releases
3)selenium-java-2.53.1.jar
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
public static String BROWSER_PATH = "C:\\Program Files\\Mozilla Firefox\\firefox.exe";
public static String HAR_EXPORTTRIGGER_PATH = "D:\\firefoxxpi\\harexporttrigger-0.5.0-beta.10.xpi" ;
private final static String HARDIR = "d:\\firefoxharlog";
public void init() {
System.setProperty("webdriver.firefox.bin", BROWSER_PATH);
}
private FirefoxProfile buildNetmonitorProfile() throws IOException {
FirefoxProfile profile = new FirefoxProfile();
// Load extensions
File harExport = new File(HAR_EXPORTTRIGGER_PATH); //adjust path as needed
profile.addExtension(harExport);
// Enable the automation without having a new HAR file created for every loaded page.
profile.setPreference("extensions.netmonitor.har.enableAutomation", true);
// Set to a token that is consequently passed into all HAR API calls to verify the user.
profile.setPreference("extensions.netmonitor.har.contentAPIToken", "test");
// Set if you want to have the HAR object available without the developer toolbox being open.
profile.setPreference("extensions.netmonitor.har.autoConnect", true);
// Enable netmonitor
profile.setPreference("devtools.netmonitor.enabled", true);
// If set to true the final HAR file is zipped. This might represents great disk-space optimization especially if HTTP response bodies are included.
profile.setPreference("devtools.netmonitor.har.compress", false);
// Default name of the target HAR file. The default file name supports formatters
profile.setPreference("devtools.netmonitor.har.defaultFileName", "Autoexport_%y%m%d_%H%M%S");
// Default log directory for generate HAR files. If empty all automatically generated HAR files are stored in <FF-profile>/har/logs
profile.setPreference("devtools.netmonitor.har.defaultLogDir", HARDIR);
// If true, a new HAR file is created for every loaded page automatically.
profile.setPreference("devtools.netmonitor.har.enableAutoExportToFile", true);
// The result HAR file is created even if there are no HTTP requests.
profile.setPreference("devtools.netmonitor.har.forceExport", true);
// If set to true, HTTP response bodies are also included in the HAR file (can produce significantly bigger amount of data).
profile.setPreference("devtools.netmonitor.har.includeResponseBodies", false);
// If set to true the export format is HARP (support for JSONP syntax that is easily transferable cross domains)
profile.setPreference("devtools.netmonitor.har.jsonp", false);
// Default name of JSONP callback (used for HARP format)
profile.setPreference("devtools.netmonitor.har.jsonpCallback", false);
// Amount of time [ms] the auto-exporter should wait after the last finished request before exporting the HAR file.
profile.setPreference("devtools.netmonitor.har.pageLoadedTimeout", "2500");
//to prevent Firefox >= 65 from automatically updating whilst under automation.
//profile.setPreference("app.update.disabledForTesting", "true");
//profile.setPreference("devtools.console.stdout.content", "true");
return profile ;
}
public void resovle(String url) throws Exception {
WebDriver driver = null;
try {
FirefoxProfile profile = buildNetmonitorProfile() ;
driver = new FirefoxDriver(profile);
//存放Har數據的路徑(目錄)
final File harDir = new File(HARDIR);
//獲取當前的文件數[用于下面判斷文件是否生成]
final int numFiles = harDir.listFiles().length;
//訪問資源
driver.get(url);
// 等待創建好HAR文件
for (int c=0; c<30; c++) {
if (harDir.listFiles().length > numFiles) {
break;
}
Thread.sleep(1000L);
}
}
catch (Exception exc) {
System.err.println("error --> " + exc);
}
if (driver != null) {
driver.quit();
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。