Автоматизация NonEnglish сайт, используя WebDriver

1

Я пытаюсь автоматизировать веб-сайт, который также имеет ссылку на его французский сайт. Когда я запускаю этот французский сайт, все описание продукта, валюта и т.д. Превращается в французский. Мой вопрос связан с автоматизацией этого французского сайта с помощью WebDriver.

В настоящее время я передаю французские слова (название продукта/его описание и т.д.) В качестве обычной строки для моего кода Java Selenium и, похоже, работает.

Тестовый код, который, похоже, работает:

WebElement el = driver.findElement(By.id("nav-nouveautes"));
String str = el.findElement(By.className("highlight")).getText();

String searchItem = "Tri, table d'appoint, frêne naturel";
driver.findElement(By.id("search")).sendKeys(searchItem);
driver.findElement(By.className("btns search")).click();

Это правильный способ автоматизировать неанглийский сайт - передать строки так, как есть, и получить текст таким же образом? В некоторых ссылках они упоминают об изменении языка браузера на конкретный язык. Это необходимо? Пробовал поиск по Google, но не смог найти хороший ответ.

Я думаю об использовании FitNesse для написания тестов

Вот пара фрагментов источника html:

 <label for="search" style="display:none;">Recherche :</label>
    <input id="search" name="q" value="" class="input-text" />
    <!--
    <button type="submit" title="Recherche" class="button"><span><span>Recherche</span></span></button>
    -->
    <button class="btns search" type="submit">
    </button>


 <div id="slide_one" class="xxxxxxWorksSlide">
        <p id="slideOne_title">En boutique, un fauteuil de designer <br> se vend en général</p>
        <span class="price-dashed" id="slideOne_left"></span>        
            <p id="slideOne_price">1 500 €</p>        
        <span class="price-dashed" id="slideOne_right"></span>
        <p id="slideOne_copy">Son design a de quoi vous xxx. Mais sa fabrication coûte seulement 250 €. Soit une marge de 500 %.</p>
        <a id="slideOne_btns" class="btns" title="" href="#"><span class="button_label">xxx change les règles<span class="chevron">»</span></span></a>
    </div>

Извините, если это действительно глупый вопрос. Спасибо, что посмотрел мой пост.

Теги:
selenium
webdriver

3 ответа

0

Для поддержки нескольких языков вы можете использовать API-интерфейс Java Resource Bundle. Таким образом вам просто нужно добавить новый файл пакета ресурсов для каждого нового языка без изменения какого-либо кода.

ШАГ 1) Отправьте САЙТ-LANG как vmArguments к вашему тесту.

java -DSITE-LANG=fr 

ШАГ 2) Определите файл набора ресурсов MyResources_fr.properties в пути к классам.

mySearchItemKey=Tri, table d'appoint, frêne naturel

ШАГ 3) Загрузите пакет ресурсов во время beforeSuite или beforeTest на основе свойства System.

String siteLanguage = System.getProperty("SITE-LANG");
ResourceBundle myResources = ResourceBundle.getBundle("MyResources", new Locale(siteLanguage ));

ШАГ 4) Удалите жесткое кодирование текста и выберите значение из комплекта ресурсов.

// Your code will become  
String searchItem = myResources.getString("mySearchItemKey");
driver.findElement(By.id("search")).sendKeys(searchItem);
0

В некоторых ссылках они упоминают об изменении языка браузера на конкретный язык. Это необходимо?

Установка языкового стандарта в браузере приведет к изменению заголовка Accept-Language который отправляется с каждым запросом.

Независимо от того, будет ли это иметь значение, дело доходит до места вашего тестирования - в то время как большинство сайтов не перенаправят вас от конкретной версии, если вы попросите его конкретно, они могут использовать ваш язык, почерпнутый из этого заголовка, чтобы представить такие вещи, как валюта или даты в разных форматах.

Некоторые сайты идут дальше, например, новый радиопроигрыватель BBC, который использует только локаль для представления переведенного контента, а не имеет несколько URL-адресов.

Короче говоря, важность сводится к тому, что вы тестируете (надеюсь, вы заранее знаете функциональность :))

  • 0
    - Спасибо за ценную информацию.
0

Это правильный способ автоматизировать неанглийский сайт - передать строки так, как есть, и получить текст таким же образом?

Это не так. Лично я считаю это самым простым способом, но вам нужно убедиться, что у вас есть UTF-8 в качестве кодировки для всех файлов, иначе вы столкнетесь с проблемами с другими людьми, просматривающими ваши файлы.

В некоторых ссылках они упоминают об изменении языка браузера на конкретный язык. Это необходимо?

Это необходимо только в том случае, если вы явно тестируете, make sure that the language works when the browsers locale is fr

Разумеется, вы могли бы подумать, что лучше всего использовать открытый язык, используя язык. Например: http://example.com?lang=fr

  • 0
    Спасибо сиркапсалот

Ещё вопросы

Сообщество Overcoder
Наверх
Меню