Запускать одни и те же тестовые наборы на нескольких языках (локализация) - PullRequest
0 голосов
/ 09 мая 2019

Я новичок в мире тестирования и использую testNG.У меня есть набор тестов с несколькими классами, как показано ниже:

- LoginTest
- SignUpTest
...

Наш веб-сайт поддерживает 2 языка, и оба локализованных сайта идентичны (за исключением локализованных строк).Я настроил свой проект так, что у меня есть 2 пакета: английский и японский, которые содержат все те же тестовые классы, что и выше, но проверяются на соответствие различным строкам.То есть:

com.web.test.English
-- LoginTest
-- SignUpTest
-- EnglishStrings.json
com.web.test.Japanese
- LoginTest
- SignUpTest
- JapaneseStrings.json

Теперь, когда меняются страница входа или страница регистрации, мне нужно обновить локатор и методы проверки в английском и японском пакетах.Есть ли какой-нибудь аккуратный и более быстрый способ заставить каждый тестовый класс работать дважды с обеими версиями: EnglishStrings.json и JapaneseString.json?Спасибо.


1 Ответ

0 голосов
/ 10 мая 2019

Я думаю, что вам лучше всего использовать аннотацию параметров testNG

public class LoginTest {
   @Test
   @Parameters("localizedFile")
   public void parameterTest(String localizedFile) {
       // load localizedFile and run test
   }
}

Ваш файл testng.xml будет выглядеть примерно так:

<suite name = "Suite1">
   <test name = "EnglishTest">       
      <parameter name = "localizedFile" value="EnglishStrings.json"/>           
      <classes>
         <class name = "LoginTest" />
      </classes>          
   </test>
   <test name = "JapaneseTest">       
      <parameter name = "localizedFile" value="JapaneseStrings.json"/>           
      <classes>
         <class name = "LoginTest" />
      </classes>          
   </test>
</suite>

Вы можете узнать больше о TestNGпараметризованные тесты на tutorialspoint.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...