Selenium JavaScript․ հեռավոր WebDriver-ի հրամանների կապի անցկացումը proxy-ով
Օգտագործեք usingWebDriverProxy-ը հեռավոր Selenium վերջնակետ ուղարկվող JavaScript WebDriver հրամանների համար։
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 քաղաքականություններ։