Самые популярные вопросы на собеседовании TestNG:
В этом посте мы увидим вопросы для собеседования TestNG с ответами. Наше основное внимание уделяется вопросам для собеседования по Selenium TestNG, а также мы пишем несколько вопросов для собеседования по Selenium. Прежде чем идти дальше, давайте рассмотрим некоторые неизбежные вопросы на собеседовании, такие как Каковы причины выбора тестирования программного обеспечения в качестве своей карьеры и Объяснение вашей платформы автоматизации тестирования Selenium. Я не хочу отнимать у вас много времени, но я не мог двигаться дальше, не упомянув в любом интервью об этом неизбежном вопросе, например Расскажите мне о себе. Нажмите на ссылку, чтобы получить представление о том, как ответить Расскажите мне о себе. Итак, давайте перейдем к самому посту.
Не пропустите следующие публикации:
- 100+ вопросов и ответов на собеседовании по Selenium
- Вопросы на собеседовании по Java для тестировщиков Selenium
- Вопросы на собеседовании по Framework
Вот видеоурок «Вопросы и ответы для собеседования по Selenium TestNG»:
Пожалуйста, проявите терпение. Видео загрузится через некоторое время.
Если вам понравилось это видео, подпишитесь на наш канал YouTube, чтобы получать больше видеоуроков.
1. Что такое TestNG?
TestNG — это среда тестирования, предназначенная для упрощения широкого спектра задач тестирования, от модульного тестирования до интеграционного тестирования. Для получения дополнительной информации.
2. Каковы преимущества TestNG?
- TestNG обеспечивает параллельное выполнение методов тестирования
- Он позволяет определить зависимость одного метода тестирования от другого метода
- Он позволяет назначать приоритет методов тестирования
- Он позволяет группировать методы тестирования в тестовые группы
- Он поддерживает параметризацию тестовых случаев с использованием аннотации @Parameters
- Он позволяет проводить тестирование на основе данных с использованием аннотации @DataProvider.
- Он имеет различные утверждения, которые помогают проверять ожидаемые и фактические результаты.
- Подробные отчеты (HTML)
3. Какие аннотации доступны в TestNG?
@BeforeTest
@AfterTest
@BeforeClass
@AfterClass
@BeforeMethod
@AfterMethod< br>@BeforeSuite
@AfterSuite
@BeforeGroups
@AfterGroups
@Test
Практический пример
4. Можете ли вы организовать приведенный ниже testng.xmlтеги от родительского элемента к дочернему?
<test> <люкс> <класс> <методы> <classes>
Правильный порядок тегов TestNG следующий: <suite> <тест> <классы> <класс> <методы>
5. Как создать и запустить testng.xml ?
В среде TestNG нам нужно создать testng.xmlфайл для создания и обработки нескольких тестовых классов. Мы настраиваем наш тестовый запуск, устанавливаем зависимость теста, включаем или исключаем любой тест, метод, класс или пакет, а также устанавливаем приоритет и т. д. в xml-файле.
Просмотреть полную публикацию
6. Какова важность файла testng.xml?
В проекте Selenium TestNG мы используем файл testng.xml для настройки полного набора тестов в один файл. Некоторые из функций заключаются в следующем.
- Файл testng.xml позволяет включать или исключать выполнение тестовых методов и тестовых групп.
- Он позволяет передавать параметры в тестовые примеры
- Позволяет добавлять групповые зависимости
- Позволяет добавлять приоритеты к тест-кейсам
- Позволяет настраивать параллельное выполнение тест-кейсов
- Позволяет параметризовать тест-кейсы
7. Как передать параметр через файл testng.xml в тестовый пример?
Мы могли бы определить параметры в файле testng.xml а затем сослаться на эти параметры в исходных файлах.
Создайте тестовый класс Java, скажем, ParameterizedTest.java , и добавьте тестовый метод, скажем параметризованныйTest() в тестовый класс. Этот метод принимает строку в качестве входного параметра. Добавьте к этому методу аннотацию @Parameters(“browser”). //Вопросы для собеседования TestNG ("firefox")){ System.out.println("Открыть драйвер Firefox"); }else if(browser.equals("chrome")){ System.out.println("Открыть драйвер Chrome"); } }
Параметру будет передано значение из testng.xml, которое мы увидим на следующем шаге.
Мы можем установить параметр, используя приведенный ниже синтаксис, в файле testng.xml. <parameter name="browser" value="firefox"/>
Здесь атрибут name представляет имя параметра, а значение представляет значение этого параметра.
Практический пример
8. Что такое TestNG Assert и перечислите распространенные TestNG Asserts?
Утверждения TestNG помогают нам проверить состояние теста в середине его выполнения. На основании утверждений TestNG мы будем считать тест успешным только в том случае, если он завершился без каких-либо исключений.
Некоторые из распространенных утверждений, поддерживаемых TestNG:
- assertEqual(фактическая строка, ожидаемая строка)
- assertEqual(фактическая строка, ожидаемая строка, строковое сообщение)
- assertEquals(фактическое логическое значение, ожидаемое логическое значение)
- assertTrue(условие)
- assertTrue (условие, сообщение)
- assertFalse(условие)
- AssertFalse(условие, сообщение)
Для полного сообщения
9. Что такое Soft Assert в TestNG?
Soft Assert собирает ошибки во время @Test. Soft Assert не генерирует исключение в случае сбоя утверждения и переходит к следующему шагу после утверждения утверждения.
Если есть какое-либо исключение и вы хотите его создать, вам нужно использовать assertAll () в качестве последнего оператора в @Test и наборе тестов снова продолжите следующий @Test как есть.
Практический пример
10. Что такое Hard Assert в TestNG?
Hard Assert выдает AssertException немедленно когда оператор утверждения завершается неудачно и набор тестов продолжается со следующего @Test
Практический пример
11. Что такое проверка исключений в TestNG?
TestNG предоставляет возможность отслеживать обработку исключений кода. Вы можете проверить, генерирует ли код ожидаемое исключение или нет. Ожидаемое исключение, которое необходимо проверить при выполнении тестового примера, упоминается с помощью значения атрибута expectedExceptions вместе с аннотацией @Test.
Практический пример
< сильный>12. Как установить приоритет тестового примера в TestNG?
Мы используем атрибут priority для @Testаннотации. Если приоритет не установлен, тестовые сценарии выполняются в алфавитном порядке. //TestNG Пакет вопросов для интервью TestNG; импортировать org.testng.annotations.*; общественный класс PriorityTestCase { @Test (приоритет = 0) public void testCase1 () { system.out.println ("Тестовый пример 1"); } @Test(priority=1) public void testCase2() { system.out.println("Тестовый пример 2"); }
Выход: Тестовый пример 1 Тестовый пример 2
13. Что такое параметризованное тестирование в TestNG?
Параметризированные тесты позволяют разработчикам запускать один и тот же тест снова и снова, используя разные значения.
Существует два способа установите эти параметры:
- с помощью testng.xml – практический пример
- с использованием поставщиков данных– Практический пример
14. Как мы можем создать платформу, управляемую данными, с помощью TestNG?
С помощью @DataProviderаннотацию, мы можем создать платформу, управляемую данными.//Вопросы для собеседования TestNG @DataProvider(name="getData") public Object[][] getData(){ //Object [][] data = new Object [rowCount][colCount]; Данные объекта [][] = новый объект [2][2]; данные [0][0] = "FirstUid"; данные [0][1] = "FirstPWD"; data[1][0] = "SecondUid"; data[1][1] = "SecondPWD"; возврат данных;
Практический пример
15. Как запустить группу тестовых случаев с помощью TestNG?
TestNG позволяет выполнять сложные группировки методов тестирования. Вы можете не только объявить, что методы принадлежат группам, но также указать группы, содержащие другие группы. Затем можно вызвать TestNG и попросить включить определенный набор групп (или регулярных выражений), исключив при этом другой набор. Это дает вам максимальную гибкость в разделении тестов и не требует ничего перекомпилировать, если вы хотите запустить два разных набора тестов подряд.
Группы указаны в файле testng.xml, и их можно найти. либо под тегом <test> или <suite>. Группы, указанные в теге <suite>, применяются ко всем тегам <test>, расположенным ниже. @Test (groups = { "smokeTest", "functionalTest" }) public void loginTest() { System.out.println("Вход выполнен успешно");
Практический пример
Вопросы для собеседования TestNG 16–33
16. Как создать группу групп в TestNG?
Группы также могут включать в себя другие группы. Эти группы называются Метагруппы. Например, вы можете определить группу all, включающую smokeTest и functionalTest.. Давайте изменим наш файл testng.xml следующим образом:<groups> <define name="all"> <include name="smokeTest"/> <include name="functionalTest"/> </определить> <запустить> <include name="all" /> </запустить> </groups>
Практический пример
17. Как параллельно запускать тестовые примеры с помощью TestNG?
мы можем использовать атрибут “параллельный” в testng.xml для параллельного выполнения теста в TestNG.
Атрибут параллельного тега suite может принимать четыре значения:< /p>
тесты Все тестовые примеры внутри тега <test> файла testng.xml будут выполняться параллельно
классы – Все тестовые примеры внутри класс Java будет запускать параллельные
методы– Все методы с аннотацией @Test будут выполнять параллельные
экземпляры. – Тестовые случаи в одном экземпляре будут выполняться параллельно, но два метода двух разных экземпляров будут выполняться в разных потоках. .<suite name="softwaretestingmaterial" Parallel="methods">
Практический пример
18. Как исключить определенный метод тестирования из выполнения тестового примера?
Добавив тег исключения в testng.xml<классы> <class name="TestCaseName"> <методы> <exclude name="TestMethodNameToExclude"/> </методы> </класс> </classes>
19. Как исключить определенную группу тестов из выполнения тестового набора?
Добавив тег исключения в файл testng.xml<groups> <запустить> <exclude name="TestGroupNameToExclude"/> </запустить> </groups>
Практический пример
20. Как отключить тестовый пример в TestNG?
Чтобы отключить тестовый пример, мы используем параметр Enabled = false в аннотации @Test.@Test(enabled = false)
21. Как пропустить выполнение метода @Test в TestNG?
С помощью throw new SkipException()
Once SkipException() выброшено, оставшаяся часть этого тестового метода не будет выполнена, и управление перейдет непосредственно к выполнению следующего тестового метода. Throw new SkipException("Skipping — This is not готовы к тестированию ");
Практично Пример
22. Как проигнорировать тестовый пример в TestNG?
Чтобы игнорировать тестовый пример, мы используем параметр Enabled = false в аннотации @Test.
@Test(enabled = false)
Практический пример
23. Как TestNG позволяет указывать зависимости?TestNG допускает два способа объявления зависимостей.
Использование атрибутов dependOnMethods в аннотациях @Test — практический пример
Использование атрибутов dependOnGroups в аннотациях @Test — практический пример
< сильный>24. Каковы различные способы создания отчетов о результатах TestNG?
TestNG предлагает два способа создания отчета.
Прослушиватели реализуют интерфейс org.testng.ITestListener и получают уведомление в режиме реального времени о том, когда тест запускается, проходит, завершается неудачно и т. д.
Reporters реализует интерфейс org.testng.IReporter и получает уведомление, когда TestNG запустил все пакеты. Экземпляр IReporter получает список объектов, описывающих весь запуск теста.
25. Какова польза аннотации @Listener в TestNG?
Слушатели TestNG используются для настройки отчетов и ведения журналов. Одним из наиболее широко используемых слушателей в testNG является интерфейс ITestListener. У него есть такие методы, как onTestStart, onTestSuccess, onTestFailure, onTestSkipped и т. д. Нам следует реализовать этот интерфейс, создав собственный класс прослушивателя. Далее нам нужно добавить аннотацию прослушивателей (@Listeners) в созданный класс.
Практический пример26. Как написать регулярное выражение в файле testng.xml для поиска методов @Test, содержащих ключевое слово “дым”.Регулярное выражение для поиска методов @Test, содержащих ключевое слово “дым”, указано ниже.<methods> <include name=".*smoke.*"/> </методы>27. Какую единицу времени мы указываем в наборах тестов и тестовых примерах? Мы указываем единицу времени в наборах тестов и тестовых примерах в миллисекундах.
28. Перечислите различные способы вызова TestNG?
TestNG можно вызывать следующими способами
- Использование Eclipse IDE
- Использование инструмента сборки ant
- Из командной строки
- Использование IntelliJ IDEA
29. Как запустить TestNG с помощью командной строки?
Запустите TestNG с помощью командной строки
Откройте командную строку и используйте приведенный ниже код
C:UsersAdminDesktopSTMSeleniumTutorialworkspaceSoftwareTestingMaterial set classpath=C:UsersAdminDesktopSTMSeleniumTutorialworkspaceSoftwareTestingMaterialbin;C:UsersAdminDesktopSTMSeleniumTutorialworkspaceSoftwareTestingMateriallib * java org.testng.TestNG C:UsersAdminDesktopSTMSeleniumTutorialworkspaceSoftwareTestingMaterialtestng.xml
30. Какая польза от @Test(infectionCount=x)?
Атрибут invocacycount сообщает, сколько раз TestNG должен запускать тестовый метод @Test(invocacyCount = 10) public void testCase1 (){
В этом примере метод testCase1 будет вызываться десять раз
31. Для чего используется @Test(threadPoolSize=x)?
The threadPoolSize Атрибут сообщает о необходимости формирования пула потоков для запуска тестового метода через несколько потоков.
Примечание. Этот атрибут игнорируется, если не указан invoctionCount @Test(threadPoolSize = 3, infectionCount = 10) public void testCase1(){
В этом примере метод testCase1 будет вызываться из трех разных потоков
32. Что означает тайм-аут теста в TestNG?
Максимальное количество миллисекунд, которое должно занять тестовый пример. @Test(threadPoolSize = 3, invoctionCount = 10, timeOut = 10000) public void testCase1(){
В этом примере функция testCase1 будет вызываться десять раз из трех разных потоки. Кроме того, тайм-аут в десять секунд гарантирует, что ни один из потоков не будет блокироваться в этом потоке навсегда.
33. Что такое аннотации @Factory и @DataProvider?
@Factory: Фабрика выполнит все тестовые методы, присутствующие внутри тестового класса, используя отдельный экземпляр соответствующего класса с другим набором данных.
@DataProvider: метод тестирования, использующий DataProvider, будет выполнять определенные методы несколько раз на основе данных, предоставленных DataProvider. Тестовый метод будет выполнен с использованием того же экземпляра тестового класса, к которому принадлежит тестовый метод.
Я хотел бы завершить этот пост «Вопросы для собеседования с TestNG» здесь.
Заключительные слова. Добавьте этот пост в закладки «Интервью с TestNG». Вопросы» для дальнейшего использования. Прочитав этот пост «Вопросы для собеседования с TestNG», если вы обнаружите, что мы пропустили некоторые важные вопросы, оставьте комментарий ниже, мы постараемся включить те, на которые есть ответы.
Следующие руководства могут оказаться полезными.
- TestNG Tutorial
- Selenium Tutorial
- Java Tutorial
Здесь я отобрал несколько постов, которые помогут вам узнать больше о собеседованиях:
- 100+ вопросов и ответов на собеседовании по Selenium
- Вопросы на собеседовании по Java для тестировщиков Selenium
- Вопросы на собеседовании по Framework
TAG: qa