atesting.ru Блог 30 самых популярных вопросов и ответов на собеседовании TestNG

30 самых популярных вопросов и ответов на собеседовании TestNG

Самые популярные вопросы интервью TestNG:

В этом посте мы увидим вопросы интервью TestNG с ответами. Наше основное внимание уделяется вопросам для собеседований по Selenium TestNG, а также мы пишем некоторые вопросы для собеседований по Selenium. Прежде чем продолжить, давайте рассмотрим несколько неизбежных вопросов на собеседовании, таких как «Каковы причины выбора тестирования программного обеспечения в качестве своей карьеры» и «Объясните свою структуру автоматизации тестирования Selenium». Я не хочу отнимать у вас много времени, но я не мог бы двигаться дальше, не упомянув об этом неизбежном вопросе в любом интервью, то есть «Расскажи мне о себе». Щелкните ссылку, чтобы получить представление о том, как ответить «Расскажи мне о себе». Итак, перейдем к самой публикации.

 30 самых популярных вопросов и ответов на собеседовании TestNG

Не пропустите следующие сообщения:

  • 100+ вопросов и ответов на собеседовании по Selenium
  • Вопросы для собеседований по Java для тестировщиков Selenium
  • Вопросы для собеседований по Framework

Вот видеоурок « Вопросы и ответы на собеседовании по Selenium TestNG ”:

Наберитесь терпения. Видео загрузится через некоторое время.

Если вам понравилось это видео, подпишитесь на наш канал YouTube, чтобы увидеть больше видеоуроков.

1. Что такое TestNG?

TestNG — это среда тестирования, разработанная для упрощения широкого круга задач тестирования, от модульного тестирования до интеграционного тестирования. Для получения дополнительной информации.

2. В чем преимущества TestNG?

  1. TestNG обеспечивает параллельное выполнение методов тестирования.
  2. Он позволяет определять зависимость одного метода тестирования от другого метода.
  3. Он позволяет назначать приоритет методам тестирования.
  4. Позволяет группирование методов тестирования в группы тестов.
  5. Он поддерживает параметризацию тестовых примеров с помощью аннотации @Parameters.
  6. Он позволяет проводить тестирование на основе данных с использованием аннотации @DataProvider.
  7. Он имеет различные утверждения, помогающие проверить ожидаемые и фактические результаты.
  8. Подробные (HTML) отчеты

3. Какие аннотации доступны в TestNG?

@ BeforeTest
@AfterTest
@BeforeClass
@AfterClass < br /> @BeforeMethod
@AfterMethod
@BeforeSuite
@AfterSuite
@BeforeGroups
@AfterGroups
@Test

Практический пример

4. Можете ли вы расположить указанные ниже теги testng.xml от родительского к дочернему?

12345 & lt; test & gt; & lt; suite & gt; & lt; class & gt; & lt; methods & gt; & lt; classes & gt;

< p>Правильный порядок тегов TestNG следующий:

12345 & lt; suite & gt; & lt; test & gt; & lt; classes & gt; & lt; class & gt; & lt; methods & gt;

5. Как создать и запустить testng.xml ?

В среде TestNG нам нужно создать файл testng.xml для создания и обработки нескольких тестовых классов. Мы настраиваем наш тестовый прогон, устанавливаем тестовую зависимость, включаем или исключаем любой тест, метод, класс или пакет и устанавливаем приоритет и т. Д. В XML-файле.

Просмотреть полную публикацию

6. В чем важность testng.xml ?

В проекте Selenium TestNG мы используем файл testng.xml для настройки полного набора тестов в одном файле. Некоторые из функций следующие.

  • Файл testng.xml позволяет включать или исключать выполнение методов тестирования и групп тестов
  • Позволяет передавать параметры тестовым примерам.
  • Позволяет добавлять групповые зависимости.
  • Позволяет добавлять приоритеты в тестовые примеры.
  • Позволяет настроить параллельное выполнение тестовых примеров.
  • Позволяет параметризовать тестовые примеры.

7. Как передать параметр через файл testng.xml в тестовый пример?

Мы могли бы определить параметры в файле testng.xml а затем укажите эти параметры в исходных файлах.

Создайте тестовый класс Java, скажем, ParameterizedTest.java и добавьте тестовый метод, скажем, parameterizedTest () в тестовый класс. Этот метод принимает строку в качестве входного параметра. Добавьте к этому методу аннотацию @Parameters («браузер»).

123456789101112 //TestNG Interview Questionspublic class ParameterizedTest {@Test @Parameters (& # 34; browser & # 34;) public void parameterizedTest (String browser) {if (browser.equals (& # 34; firefox & # 34;)) {System.out .println (& # 34; Открыть драйвер Firefox & # 34;); } else if (browser.equals (& # 34; chrome & # 34;)) {System.out.println (& # 34; Открыть драйвер Chrome & # 34;); }}}

Параметру будет передано значение из testng.xml, которое мы увидим на следующем шаге.

Мы могли бы установить параметр, используя приведенный ниже синтаксис в файле testng.xml.

1 & lt; имя параметра = & # 34; browser & # 34; value = & # 34; firefox & # 34;/& gt;

Здесь атрибут name представляет имя параметра, а значение представляет значение этого параметра.

Практический пример

8. Что такое TestNG Assert и список общих утверждений TestNG?

TestNG Asserts помогает нам проверить состояние теста в середине его выполнения. Основываясь на утверждениях TestNG, мы будем считать успешным тест только в том случае, если он завершит тестовый прогон без выдачи каких-либо исключений.

Некоторые из распространенных утверждений, поддерживаемых TestNG:

  • assertEqual (Фактическая строка, ожидаемая строка)
  • assertEqual (фактическая строка, ожидаемая строка, сообщение String)
  • assertEquals (фактическое логическое значение, ожидаемое логическое значение)
  • assertTrue (условие)
  • assertTrue (условие, сообщение)
  • assertFalse (условие)
  • assertFalse (условие, сообщение)

Для полной публикации

9. Что такое Soft Assert в TestNG?

Soft Assert собирает ошибки во время @Test . Soft Assert не генерирует исключение, когда утверждение не выполняется, и продолжит выполнение следующего шага после утверждения утверждения.

Если есть какое-либо исключение, и вы хотите его выбросить, вам необходимо использовать assertAll () в качестве последнего оператора в @Test, и снова перейдите к следующему @Test как есть.

Практический пример

10. Что такое Hard Assert в TestNG?

Hard Assert генерирует AssertException сразу же, когда оператор assert терпит неудачу и набор тестов продолжается со следующим @Test

Практический пример

11. Что такое тест исключений в TestNG?

TestNG дает возможность отслеживать обработку исключений в коде. Вы можете проверить, генерирует ли код ожидаемое исключение или нет. Ожидаемое исключение для проверки при выполнении тестового примера упоминается с использованием значения атрибута expectedExceptions вместе с аннотацией @Test.

Практический пример

12. Как установить приоритет тестового примера в TestNG?

Мы используем атрибут priority для @Test аннотации. Если приоритет не установлен, тестовые сценарии выполняются в алфавитном порядке.

12345678910111213 //TestNG Interview Questionspackage TestNG; import org.testng.annotations. *; Public class PriorityTestCase {@Test (priority = 0) public void testCase1 () {system.out.println (& # 34; Test Case 1 & # 34;) ; } @Test (priority = 1) public void testCase2 () {system.out.println (& # 34; Тестовый пример 2 & # 34;); }}

Вывод:

12 Тестовый пример 1 Тестовый пример 2

13. Что такое параметризованное тестирование в TestNG?

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

Там установить эти параметры двумя способами:

  • с помощью testng.xml — практический пример
  • с использованием поставщиков данных — практический пример

14. Как мы можем создать структуру, управляемую данными, с помощью TestNG?

Используя аннотацию @DataProvider , мы можем создать структуру, управляемую данными.

123456789101112131415 //Вопросы на собеседовании TestNG @ DataProvider (name = & # 34; getData & # 34;) public Object [] [] getData () {//Object [] [] data = new Object [rowCount] [colCount]; Объект [] [] данные = новый объект [2] [2]; данные [0] [0] = & # 34; FirstUid & # 34 ;; данные [0] [1] = & # 34; FirstPWD & # 34 ;; данные [1] [0] = & # 34; SecondUid & # 34 ;; данные [1] [1] = & # 34; SecondPWD & # 34 ;; вернуть данные; }

Практический пример

15. Как запустить группу тестовых примеров с помощью TestNG?

TestNG позволяет выполнять сложные группировки методов тестирования. Вы можете не только объявить, что методы принадлежат группам, но также можете указать группы, которые содержат другие группы. Затем можно вызвать TestNG и попросить включить определенный набор групп (или регулярных выражений), исключив другой набор. Это дает вам максимальную гибкость в том, как вы разбиваете тесты, и не требует перекомпиляции, если вы хотите запустить два разных набора тестов один за другим.

Группы указаны в файле testng.xml, и их можно найти в разделе & lt; test & gt; или & lt; suite & gt; ярлык. Группы, указанные в & lt; suite & gt; применяется ко всем тегам & lt; test & gt; теги внизу.

1234 @ Test (groups = {& # 34; smokeTest & # 34 ;, & # 34; financialTest & # 34;}) public void loginTest () {System.out. println (& # 34; Авторизован успешно & # 34;);}

Практический пример

TestNG Interview Questions 16–33

16. Как создать группу групп в TestNG?

Группы также могут включать в себя другие группы. Эти группы называются MetaGroups . Например, вы можете определить группу all , которая включает SmokeTest и functionTest . Давайте изменим наш файл testng.xml следующим образом:

123456789 & lt; groups & gt; & lt; define name = & # 34; all & # 34; & gt; & lt; include name = & # 34; smokeTest & # 34;/& gt; & lt; include name = & # 34; functionTest & # 34;/& gt; & lt;/define & gt; & lt; run & gt; & lt; include name = & # 34; all & # 34;/& gt; & lt;/run & gt; & lt;/groups & gt;

Практический пример

17. Как запустить тестовые примеры параллельно с помощью TestNG?

мы можем использовать атрибут «parallel» в testng.xml для выполнения параллельного выполнения теста в TestNG

Атрибут parallel файла Тег набора может принимать четыре значения:

tests — все тестовые примеры внутри & lt; test & gt; тег файла testng.xml будет запускать параллельные
классы — Все тестовые примеры внутри класса java будут выполняться параллельно
методы — Все методы с @Test аннотация будет выполняться параллельно
экземпляры — тестовые случаи в одном экземпляре будут выполняться параллельно, но два метода двух разных экземпляров будут выполняться в разных потоках.

1 & lt; suite name = & # 34; материал для тестирования программного обеспечения & # 34; parallel = & # 34; methods & # 34; & gt;

Практический пример

18. Как исключить конкретный тестовый метод из выполнения тестового примера?

путем добавления тега exclude в testng.xml

1234567 & lt; классы & gt; & lt; class name = & # 34; TestCaseName & # 34; & gt; & lt; методы & gt; & lt; exclude name = & # 34; TestMethodNameToExclude & # 34;/& gt; & lt;/methods & gt; & lt;/class & gt; & lt;/classes & gt;

19. Как исключить конкретную тестовую группу из выполнения тестового примера?

путем добавления тега exclude в testng.xml

12345 & lt; groups & gt; & lt; run & gt; & lt; exclude name = & # 34; TestGroupNameToExclude & # 34;/& gt; & lt;/run & gt; & lt;/groups & gt;

Практический пример

20. Как отключить тестовый пример в TestNG?

Чтобы отключить тестовый пример, мы используем параметр enabled = false в аннотации @Test.

1 @ Test (enabled = false)

21. Как пропустить метод @Test из выполнения в TestNG?

Используя throw new SkipException ()

Once SkipException ( ) , оставшаяся часть этого тестового метода не будет выполнена, и управление перейдет непосредственно к выполнению следующего тестового метода.

1 выбросить новое исключение SkipException (& # 34; Пропуск — это не готово для тестирования & # 34;);

Практический пример

22. Как игнорировать тестовый пример в TestNG?

Чтобы игнорировать тестовый пример, мы используем параметр enabled = false в аннотации @Test.

1 @ Test (enabled = false)

Практический пример

23. Как TestNG позволяет указывать зависимости?

TestNG позволяет двумя способами объявить зависимости.

Использование атрибутов supportsOnMethods в аннотациях @Test — практический пример
Использование атрибутов dependsOnGroups в аннотациях @Test — практический пример

24. Какие существуют способы создания отчетов по результатам TestNG?

TestNG предлагает два способа создания отчета.

Слушатели реализуют интерфейс org.testng.ITestListener и получают уведомления в реальном времени о запуске теста. , проходит, терпит неудачу и т. д.

Репортеры реализуют интерфейс org.testng.IReporter и получают уведомление, когда все комплекты были запущены TestNG. Экземпляр IReporter получает список объектов, описывающих весь тестовый прогон.

25. Какая польза от аннотации @Listener в TestNG?

Слушатели TestNG используются для настройки отчетов и ведения журнала. Одним из наиболее широко используемых слушателей в testNG является интерфейс ITestListener . У него есть такие методы, как onTestStart, onTestSuccess , onTestFailure , onTestSkipped и т. Д. Мы должны реализовать этот интерфейс, создав собственный класс слушателя. Затем мы должны добавить аннотацию слушателей ( @Listeners ) в созданный класс.

Практический пример

26. Как написать регулярное выражение В файле testng.xml для поиска методов @Test, содержащих ключевое слово «дым». Регулярное выражение для поиска методов @Test, содержащих ключевое слово «дым», указано ниже.

123 & lt; methods & gt; & lt; include name = & # 34;. * smoke. * & # 34;/& gt; & lt;/methods & gt;

27. Какую единицу времени мы указываем в тестовых наборах и тестовых примерах? Мы указываем единицу времени в тестовых наборах, а тестовые примеры — в миллисекундах .

28. Перечислите различные способы вызова TestNG?

TestNG можно вызвать следующими способами

  • Использование Eclipse IDE
  • Использование инструмента сборки ant
  • Из командной строки
  • Использование IntelliJ IDEA

29 . Как запустить TestNG с помощью командной строки?

Запустить TestNG с помощью командной строки

Откройте командную строку и используйте приведенный ниже код

12345 C: Users Admin Desktop STMSeleniumTutorial workspace SoftwareTestingMaterial установить путь к классу = C: Users Admin Desktop STMSeleniumTutorial workspace SoftwareTestingMaterial bin; C: Users Admin Desktop STMSeleniumTutorial workspace SoftwareTestingMaterial lib * Java org.testng.TestNG C: Users Admin Desktop STMSeleniumTutorial workspace SoftwareTestingMaterial testng.xml

30. Какая польза от @Test (invocationCount = x)?

invocationcount атрибут сообщает, сколько раз TestNG должен запускать тестовый метод

12 @Test (invocationCount = 10) public void testCase1 () {

В этом примере метод testCase1 будет вызываться десятью раз

31. Какая польза от @Test (threadPoolSize = x)?

Атрибут threadPoolSize указывает, что нужно сформировать пул потоков для запуска метода тестирования через несколько потоков.

Примечание. Этот атрибут игнорируется, если invocationCount не указан

1 @Test (threadPoolSize = 3, & lt; code class = & # 34; plain & # 34; & gt; invocationCount = & lt;/code & gt; & lt; code class = & # 34; value & # 34; & gt; 10 & lt;/code & gt;) public void testCase1 () {

В этом примере метод testCase1 будет вызываться из трех разных потоков

32. Что означает тайм-аут теста в TestNG?

Максимальное количество миллисекунд, которое должен занять тестовый пример.

12 @ Test (threadPoolSize = 3, invocationCount = 10, timeOut = 10000) public void testCase1 () {

< p>В этом примере функция testCase1 будет вызываться десять раз из трех разных потоков. Кроме того, тайм-аут в десять секунд гарантирует, что ни один из потоков не заблокируется в этом потоке навсегда.

33. Что такое аннотации @Factory и @DataProvider?

@Factory: Фабрика будет выполнять все тестовые методы, присутствующие внутри тестового класса, используя отдельный экземпляр соответствующего класса с другим набором данных.

@DataProvider: метод тестирования, использующий DataProvider, будет выполнять определенные методы несколько раз в зависимости от данных, предоставленных DataProvider. Тестовый метод будет выполнен с использованием того же экземпляра тестового класса, к которому принадлежит тестовый метод.

Я хотел бы завершить здесь этот пост «Вопросы на собеседовании TestNG».

Final слова, добавьте этот пост в закладки «Вопросы на собеседовании TestNG» для дальнейшего использования. После прочтения этого поста «Вопросы на собеседовании TestNG», если вы обнаружите, что мы пропустили некоторые важные вопросы, прокомментируйте ниже, мы постараемся включить те, у которых есть ответы.

Следующие уроки могут оказаться полезными для вас.

  • Учебное пособие по TestNG
  • Учебное пособие по Selenium
  • Учебное пособие по Java

Здесь я отобрал несколько сообщений, которые помогут вам узнать больше о собеседовании:

  • 100+ вопросов и ответов на собеседовании по Selenium
  • Вопросы для собеседований по Java для тестировщиков Selenium
  • Вопросы для собеседований по Framework

TAG: qa