Wie ändere ich die Sprache eines WebDrivers?
Möchte ich ausführen, meine Selenium tests in verschiedenen Sprachen. Ist es möglich, ändern Sie die Sprache auf einer vorhandenen WebDriver zur Laufzeit, oder muss ich wieder den browser-Instanz?
Momentan bin ich nur mit Firefox, aber ich möchte zum ausführen von tests in verschiedenen Browsern zu einem späteren Zeitpunkt.
In Firefox ich die Sprache so:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("intl.accept_languages", "de");
WebDriver driver = new FirefoxDriver(profile);
Ich auch umgesetzt WebDriverPool, die hat einen WebDriver-Instanz, so kann er geteilt werden tests. Wenn die Sprache kann nur bei der Erstellung Zeit, die ich halten konnte, eine Instanz für jedes Gebietsschema.
Alles in allem Frage ich mich, ob ich was verpasst hier. Warum ist es so schwer, die Sprache zu ändern? müsste es nicht eine Methode wie WebDriver.setAcceptLanguages(Locale)
?
Kurz gesagt habe ich folgende Fragen:
- Warum gibt es keine
WebDriver.setAcceptLanguages(Locale)
? - So ändern Sie die Sprache für die dirrerent WebDrivers?
- Kann ich die Sprache ändern zur Laufzeit?
- Wie haben Sie die Jungs setzen Ihre WebDriverPool oder muss Sie neu erstellen jedes mal?
InformationsquelleAutor der Frage Tim Büthe | 2012-03-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich landete ein WebDriverPool, erstellt eine Instanz für jede Kombination von WebDriver-Typ (z.B. FirefoxDriver.class) und lokale (z.B. de_de). Vielleicht ist das usful für jemanden.
InformationsquelleAutor der Antwort Tim Büthe
Kann man es auch über about:config in firefox. Aber Sie müssen verwenden Sie Aktionen, um es zu manipulieren.
Unten ein java-Codeabschnitt
InformationsquelleAutor der Antwort Cedric
Ich fürchte, dass die ganze Idee von WebDriver ist zu handeln, wie browser - so ändern Sie die Sprache des Browsers, aber Sie müssen ändern Sie die Ländereinstellung des Betriebssystems, oder die Hoffnung, dass die Anwendung wird es für Sie tun.
Beispielsweise die Deutsche Nummer format trennt Dezimalzahl mit Komma und Englisch einer nach dot. Wenn Sie testen möchten, wie das Zahlenformat verhält sich in der lokalen englischen und im deutschen Gebietsschema, die Sie tun können, es nur durch diese zwei Ansätze:
Ihre Fragen zu beantworten:
Ich würde es so machen (Java-code):
Ich fürchte, Sie müssen den browser schließen und öffnen Sie es erneut mit einer anderen Sprache.
BTW der obige code geht davon aus, dass die web-Anwendung ändert die Art und Weise, wie show-Nummern an den Benutzer basierend auf der browser-Sprache.
InformationsquelleAutor der Antwort Pavel Janicek