JavaScript Selenium սկրիպտը WebDriver հրամաններն ուղարկում է հեռավոր սերվերին նախքան այդ սերվերի բրաուզերը կկարողանա որևէ տեղ անցնել։ Եթե հրամանների կապը պետք է անցնի HTTP proxy-ով, կարգավորեք Builder-ի WebDriver proxy-ն․

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 proxy-ների ցանկը usingWebDriverProxy-ի համար թեկնածուներ է տրամադրում։ Գործարկեք հատվածը async CommonJS ֆունկցիայի ներսում։ Ավարտեք driver-ը, երբ թեստային սեսիան ավարտվի։

usingWebDriverProxy-ը կառավարում է JavaScript կապի HTTP միացումները։ Այն չի սահմանում Chrome-ի proxy հնարավորությունը կամ Chrome-ի գործարկման արգումենտ։

Եթե բրաուզերի տրաֆիկին նույնպես միջնորդ է անհրաժեշտ, նախատեսված Chrome ընտրանքները տրամադրեք առանձին։ Այդ բրաուզերն աշխատում է հեռավոր մեքենայում, ուստի նրա proxy վերջնակետը պետք է հասանելի լինի այնտեղ։ Սկրիպտի մեքենայի loopback հասցեն ինքնաբերաբար հեռավոր բրաուզերի համար հասանելի loopback ծառայություն չէ։

Որոշեք՝ արդյոք ձախողումը տեղի է ունենում WebDriver սեսիա ստեղծելիս, թե կայքում նավարկելիս։ Երկու ձախողումները կարող են ներառել տարբեր ցանցային հաճախորդներ և տարբեր proxy քաղաքականություններ։

Առնչվող հոդվածներ