Автоматизированное тестирование переводов с использованием Selenium - PullRequest
0 голосов
/ 22 марта 2020

Я хочу проверить перевод на странице

Я написал класс своей страницы и создал тестовый файл, в котором я тестирую свою страницу, используя JUnit.

И я создал файл свойств " en.properties"для языка, и этот файл находится внутри моего Java проекта, в папке« src / main / resources / languages ​​».

Затем я добавил переведенный текст в виде «ключ = значение»

  • логин = логин

  • пароль = пароль

  • button.login = login

В тестовом файле я написал метод, который открывает файл и считывает значение из файла

public String getTranslation(String key, String language) throws IOException {
        Properties prop = new Properties();
        FileInputStream input = new FileInputStream("src/main/resources/languages/" + language + ".properties");
        prop.load(new InputStreamReader(input, Charset.forName("UTF-8")));
        input.close();
        return prop.getProperty(key);
    }

И этот метод нажимает на языковая кнопка, чтобы изменить язык, и затем она должна проверить перевод, но я получаю ошибку

@Test
    public void changeLanguageEng(){
        mainPage.clickLanguageButton("Eng");
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        try {
            Assert.assertEquals(mainPage.getHeadingText(),getTranslation("heading","en"));
            Assert.assertEquals(mainPage.getLanguageButtonText(),getTranslation("button.language","en"));
            Assert.assertEquals(mainPage.getLoginButtonText(),getTranslation("button.login","en"));
            Assert.assertEquals(mainPage.getLoginFieldText(),getTranslation("login","en"));
            Assert.assertEquals(mainPage.getPasswordFieldText(),getTranslation("password","en"));
            Assert.assertEquals(mainPage.getErrorText(),getTranslation("error","en"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

java .io.FileNotFoundException: src \ main \ resources \ languages ​​\ en.properties ( Система не может найти указанный файл)

Вот мой полный путь

D: \ Intellij IDEA \ pageobjec tseleniumtest \ SRC \ Главная \ Resources \ языки

1 Ответ

0 голосов
/ 22 марта 2020

мы можем получить доступ к файлу из папки ресурсов с помощью ClassLoader. Пожалуйста, попробуйте следующий код, чтобы разрешить ваш файл не найден исключение

public String getTranslation(String key, String language) throws IOException, FileNotFoundException {
        Properties prop = new Properties();
        InputStream inputStream = getClass().getClassLoader().getResourceAsStream("languages/languages.properties");
        prop.load(new InputStreamReader(inputStream, Charset.forName("UTF-8")));
        inputStream.close();
        return prop.getProperty(key);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...