ഒരു JavaScript Selenium സ്ക്രിപ്റ്റ്, ആ സർവറിന്റെ ബ്രൗസർ എവിടേക്കും നാവിഗേറ്റ് ചെയ്യുന്നതിന് മുമ്പ് WebDriver കമാൻഡുകൾ റിമോട്ട് സർവറിലേക്ക് അയക്കുന്നു. കമാൻഡ് കണക്ഷൻ HTTP പ്രോക്സി വഴി കടക്കേണ്ടതുണ്ടെങ്കിൽ, Builder-ന്റെ WebDriver പ്രോക്സി കോൺഫിഗർ ചെയ്യുക:

const { Builder, Browser } = require("selenium-webdriver");

const driver = await new Builder()
  .forBrowser(Browser.CHROME)
  .usingServer(gridUrl)
  .usingWebDriverProxy("http://proxy.example.net:8080")
  .build();

gridUrl എന്നത് യഥാർത്ഥ Selenium സർവറോ ഹോസ്റ്റ് ചെയ്ത WebDriver എൻഡ്‌പോയിന്റോ ആണ്. ആ പാത അനുവദനീയമായ പൊതുവായി എത്തിച്ചേരാവുന്ന എൻഡ്‌പോയിന്റിന് HTTP പ്രോക്സി പട്ടിക usingWebDriverProxy-ക്ക് സ്ഥാനാർത്ഥികൾ നൽകുന്നു. ഈ ഭാഗം ഒരു async CommonJS ഫംഗ്ഷനുള്ളിൽ പ്രവർത്തിപ്പിക്കുക. ടെസ്റ്റ് സെഷൻ അവസാനിക്കുമ്പോൾ driver അവസാനിപ്പിക്കുക.

usingWebDriverProxy JavaScript ബൈൻഡിംഗിന്റെ HTTP കണക്ഷനുകൾ നിയന്ത്രിക്കുന്നു. അത് Chrome-ന്റെ പ്രോക്സി കഴിവോ Chrome ലോഞ്ച് ആർഗ്യുമെന്റോ സജ്ജമാക്കുന്നില്ല.

ബ്രൗസർ ട്രാഫിക്കിനും ഇടനിലക്കാരൻ വേണമെങ്കിൽ, ഉദ്ദേശിച്ച Chrome ഓപ്ഷനുകൾ വെവ്വേറെ നൽകുക. ആ ബ്രൗസർ റിമോട്ട് മെഷീനിൽ പ്രവർത്തിക്കുന്നു, അതിനാൽ അതിന്റെ പ്രോക്സി എൻഡ്‌പോയിന്റ് അവിടെ എത്തിച്ചേരാവുന്നതായിരിക്കണം. സ്ക്രിപ്റ്റിന്റെ മെഷീനിലെ loopback വിലാസം റിമോട്ട് ബ്രൗസറിന് ലഭ്യമായ loopback സേവനമല്ല.

WebDriver സെഷൻ സൃഷ്ടിക്കുമ്പോഴാണോ ഒരു വെബ്‌സൈറ്റിൽ നാവിഗേറ്റ് ചെയ്യുമ്പോഴാണോ പരാജയം സംഭവിക്കുന്നതെന്ന് കണ്ടെത്തുക. ഈ രണ്ട് പരാജയങ്ങളിൽ വ്യത്യസ്ത നെറ്റ്‌വർക്ക് ക്ലയന്റുകളും വ്യത്യസ്ത പ്രോക്സി നയങ്ങളും ഉൾപ്പെടാം.

അനുബന്ധ ലേഖനങ്ങൾ