10

Zawsze zaleca się ustawienie profilu firefox w DesiredCapabilities i przekazanie go przez przewód, na którym działa hub. Jak poniżejJak ustawić profil firefox na końcu węzła w konfiguracji zdalnego webdriver/grid

DesiredCapabilities caps = DesiredCapabilities.firefox(); 

    FirefoxProfile profile=new FirefoxProfile(new File("Local Path to firefox profile folder")); 
    caps.setCapability(FirefoxDriver.PROFILE, profile); 

URL url = new URL("http://localhost:4444/wd/hub");  
WebDriver driver= new RemoteWebDriver(url,caps); 

Ale wysyłanie ogromnej 87-90 mb profilu informacji na piaście za pośrednictwem protokołu HTTP, dla każdego przypadku testowego selen spowalnia wykonywanie przypadków testowych.

Podjęto próbę skonfigurowania węzła siatki za pomocą właściwości "Dwebdriver.firefox.profile=E:\\Firefox_Profile_Location":"", w pliku konfiguracyjnym węzła json, jak poniżej.

{ 
"configuration": 
{ 
.//Other Settings 
.//Other Settings 
.//Other Settings 
"Dwebdriver.firefox.profile=E:\\Firefox_Profile_Location":"", 
"maxSession":7, 
"registerCycle":5000, 
"register":true 
}, 
"capabilities": 
[ 

{"browserName":"firefox", 
"seleniumProtocol":"WebDriver", 
"maxInstances":5, 
"platform":"VISTA" 
} 
] 
} 

Ale uruchomienie z powyższą konfiguracją rzuca poniżej błędu.

WebDriverException: profil Firefox 'E: \ Firefox_Profile_Location' nazwany na właściwości systemu 'webdriver.firefox.profile' Nie znaleziono

zaawansowane dzięki za wszelką pomoc, w jaki sposób skonfigurować profil z firefox strona węzła.

+0

Dlaczego używasz folderu profilu firefox, a nie ustawienia profilu przez kod selenu? Jaki jest wymagany profil firefox? –

+0

Ustawiając kod, musi zostać przesłany przez http do końca węzła, a to wymaga czasu. Chcę skrócić czas poprzez ustawienie konfiguracji profilu firefox na końcu węzła z ustawieniami konfiguracji conde. – Som

Odpowiedz

2

Myślę, że będziesz musiał użyć nazwy profilu firefox, a nie lokalizacji.

"webdriver.firefox.profile":"default" 

Wystarczy popatrzeć na this i this i this

Jeśli chcesz wiedzieć, jak stworzyć profil śledzić this i this

1

Musisz podać swój profil w obiekcie capabilities jako base64 kodowany zip:

var fs = require('fs'); 
capabilities: [ 
    { 
    browserName: 'firefox', 
    seleniumProtocol: 'WebDriver', 
    maxInstances: 5, 
    platform: 'VISTA', 
    firefox_profile: new Buffer(fs.readFileSync("./profile.zip")).toString('base64') 
    } 
] 

Ponadto Firefox tworzy brakujące pliki dla danego profilu. W związku z tym należy przechowywać tylko niezbędne pliki w profilu w zależności od potrzeb:

Preferences: user.js 
Passwords: key3.db 
       logins.json 
Cookies:  cookies.sqlite 
Certificate: cert8.sqlite 
Extensions: extensions/ 
Powiązane problemy