Selenium നാവിഗേഷന് മുമ്പ് BrowserMob HAR ക്യാപ്ചർ ആരംഭിക്കുക
BrowserMob ബ്രൗസറിന്റെ പാതയിൽ വയ്ക്കുക, നാവിഗേഷന് മുമ്പ് HAR ക്യാപ്ചർ ആരംഭിക്കുക, പ്രോക്സി നിർത്തുന്നതിന് മുമ്പ് ക്യാപ്ചർ എടുക്കുക.
BrowserMob തന്റെ listener വഴി യഥാർത്ഥത്തിൽ കടന്നുപോകുന്ന ട്രാഫിക് മാത്രമേ രേഖപ്പെടുത്തുന്നുള്ളൂ. Selenium ബ്രൗസറിനരികിൽ പ്രോക്സി ആരംഭിക്കുന്നത് ആ ബ്രൗസറിനെ പാതയിൽ എത്തിക്കുന്നില്ല.
BrowserMob രേഖപ്പെടുത്തിയ 2.1.5 എംബെഡഡ് APIയ്ക്ക്, നിലവിലുള്ള ഒരു Java Selenium ക്രമീകരണത്തിന് ഈ ക്രമം ഉപയോഗിക്കാം:
BrowserMobProxy proxy = new BrowserMobProxyServer();
proxy.start(0);
try {
ChromeOptions options = new ChromeOptions();
options.setProxy(ClientUtil.createSeleniumProxy(proxy));
WebDriver driver = new ChromeDriver(options);
try {
proxy.newHar("example-page");
driver.get("http://www.example.com/");
Har capture = proxy.getHar();
capture.writeTo(new java.io.File("page.har"));
} finally {
driver.quit();
}
} finally {
proxy.stop();
}പോർട്ട് 0 ഒരു ലഭ്യമായ പോർട്ട് ആവശ്യപ്പെടുന്നു. ClientUtil ആ listener-ൽ നിന്ന് Selenium പ്രോക്സി ക്രമീകരണം നിർമ്മിക്കുന്നു. ക്യാപ്ചർ നാവിഗേഷന് മുമ്പ് ആരംഭിക്കുന്നു, പ്രോക്സി ഇപ്പോഴും ലഭ്യമായിരിക്കുമ്പോൾ തന്നെ എടുക്കുന്നു.
ഈ ഭാഗം പ്രോജക്ടിന്റെ BrowserMob, HAR, Selenium ടൈപ്പുകൾ ഇതിനകം ലഭ്യമാണെന്ന് അനുമാനിക്കുന്നു. അഭ്യർത്ഥനയുടെയോ പ്രതികരണത്തിന്റെയോ ബോഡിയുടെ വിശദമായ ക്യാപ്ചർ അധിക CaptureType തിരഞ്ഞെടുപ്പാണ്. HTTPS തടയലിനും അതിന്റെ ഉദ്ദേശിച്ച സർട്ടിഫിക്കറ്റ് വിശ്വാസ ക്രമീകരണം ആവശ്യമാണ്.
വിദൂര Grid ബ്രൗസറിന്, ആ ബ്രൗസറിന്റെ മെഷീനിൽ നിന്ന് എത്താവുന്ന വിലാസം പ്രഖ്യാപിക്കുക. ടെസ്റ്റ് റണ്ണറിലെ loopback വിലാസം അവിടെ മറ്റൊരു മെഷീന്റെ loopback-നെ സൂചിപ്പിക്കുന്നു.
ഇത് ബ്രൗസറിന്റെ കോൺഫിഗർ ചെയ്ത HTTP പാത ക്യാപ്ചർ ചെയ്യുന്നു. മറ്റെല്ലാ പുറത്തേക്കുള്ള കണക്ഷനുകളെയും തടയുന്ന ഒരു ഓപ്പറേറ്റിംഗ്-സിസ്റ്റം നിയമം ഇത് സ്ഥാപിക്കുന്നില്ല.