Обязательно прочитайте 30 вопросов и ответов из интервью с Selenium: Ultimate Guide 2022
Опубликовано: 2021-01-04Вы идете на важное собеседование и задаетесь вопросом, какие вопросы на собеседовании по Selenium вы ответите?
Мы создали это руководство по самым читаемым вопросам и ответам на интервью с Selenium, чтобы помочь вам понять всю глубину вопросов и уверенно встретить их.
Кроме того, поскольку они выполняются вручную, они подвержены ошибкам. Ручное тестирование не помогает в долгосрочной перспективе, поэтому автоматизированное тестирование, такое как Selenium, набирает спрос в отрасли. Если вы планируете свою карьеру в области автоматизированного тестирования и у вас впереди собеседование по Selenium, этот блог предназначен для вас.
В этом блоге мы обсудим наиболее распространенные вопросы на собеседованиях по Selenium. Они предназначены как для начинающих , так и для опытных.
Selenium Интервью Вопросы и ответы 2022
Q.1) Почему лучше выбрать Selenium, чем другие инструменты автоматизированного тестирования?
Селен с открытым исходным кодом. Его очень легко адаптировать по сравнению с другими автоматизированными инструментами на рынке. По этой причине многие компании предпочитают автоматизированное тестирование Selenium другим традиционным методам.

Q.2) Перечислите некоторые преимущества Selenium по сравнению с такими инструментами, как TestComplete и QTP. Кроме того, какие недостатки?
Selenium не требует лицензии, в отличие от TestComplete и QTP, что удобно для карманов. Интернет-сообщество предлагает массовую поддержку. Циклы выпуска меньше, а обратная связь оперативна по сравнению с TestComplete и QTP. Кроме того, Selenium также работает на Mac, Linux и Windows.
Наоборот, Selenium требует от разработчика высоких навыков программирования. Принимая во внимание, что QTP и TestComplete требуют навыков кодирования от низкого до среднего соответственно.
Q.3) Какие изменения произошли в различных обновлениях версии Selenium?
В первой версии Selenium, Selenium v1, он состоял только из трех наборов инструментов: Selenium IDE, RC и Grid. Вебдрайвер отсутствовал. Только во второй версии Selenium, Selenium v2, был представлен Webdriver. Как только это было сделано, Selenium RC больше не использовался.
Вы можете найти их на рынке, но поддержка недоступна. Следующая версия Selenium — Selenium v3. Он состоит из Webdriver, IDE и Grid. В настоящее время он используется. Также доступна более новая версия Selenium v4.
Selenium IDE в основном предназначен для записи и воспроизведения. Webdriver предназначен для тестирования динамических веб-приложений с использованием интерфейса программирования. Grid используется для проведения тестов на удаленных хост-компьютерах.
Вы должны использовать IDE для записи и воспроизведения тестов. WebDriver используется для тестирования активных веб-приложений с использованием интерфейса программирования, а Grid используется для развертывания тестов на изолированных хост-компьютерах.
Q.4) Каковы различные исключения в Selenium WebDriver?
Как и в любом другом языке программирования, в Selenium тоже можно найти исключения. Вы можете найти следующие исключения в Selenium WebDriver:
TimeoutException: вы получаете это исключение, когда команда не выполняет действие в указанное время.
NoSuchElementException: вы получаете это исключение, когда не можете найти элемент с заданными атрибутами на веб-странице.
ElementNotVisibleException: это исключение возникает, когда элемент доступен в объектной модели документа, но не отображается на веб-странице.
StaleElementException: это исключение возникает, когда элемент не присоединен к объектной модели документа или удален.
Q.5) Объясните тест исключения Selenium
Исключение, которое вы ожидаете получить внутри тестового класса, является тестом исключения. Если вы пишете тестовый пример, намереваясь выдать исключение, вы должны использовать аннотацию @test, а также указать в параметрах, какое исключение будет выброшено. Например,
@Test(expectedException = NoSuchElementException.class)
Q.6) Нужен ли лист Excel в проекте? Да как?
Листы Excel используются в качестве источника данных во время тестирования. Кроме того, он также сохраняет набор данных при выполнении тестирования на основе данных. Когда листы Excel используются в качестве источника данных, он может хранить:
URL-адрес приложения: разработчики могут указать URL-адрес среды, в которой выполняется тестирование. Например, среда тестирования, среда разработки, среда контроля качества, производственная среда или промежуточная среда.
Информация об имени пользователя и пароле: листы Excel могут хранить в безопасности учетные данные для доступа, такие как имя пользователя или пароль для различных сред. Разработчики могут зашифровать и сохранить эти данные по соображениям безопасности.
Тестовые примеры: разработчики могут создать таблицу, в которой в одном столбце указано имя тестового примера, а в другом указано, выполняется он или нет.
Если вы собираетесь использовать листы Excel для DataDriven Test, вы можете легко хранить информацию для различных дублирований, которые будут выполняться во время тестов. Например, все данные, которые необходимо записать в текстовое поле для тестирования на веб-странице, можно хранить на листах Excel.
Q.7) Что такое ПОМ? Перечислите его преимущества?
POM означает модель объекта страницы. Это шаблон проектирования для создания репозитория объектов для элементов веб-интерфейса. Каждая отдельная веб-страница в приложении должна иметь свой собственный соответствующий класс страницы, который отвечает за поиск веб-элементов на этой странице и последующее выполнение над ними операций.
Преимущества использования объектной модели страницы:
- Это делает код читабельным, позволяя разработчикам отделить операции и потоки пользовательского интерфейса от проверки.
- Несколько тестов могут использовать один и тот же репозиторий объектов, поскольку он не зависит от тестовых случаев.
- Код становится многоразовым.
Q.8) Что такое Фабрика страниц?
Фабрика страниц предлагает усовершенствованный метод выполнения объектной модели страницы за счет эффективного использования памяти, а выполнение выполняется с использованием объектно-ориентированного дизайна.
Реализация ПОМ | |
С фабрикой страниц | Без фабрики страниц |
Использует () | Использует @FindBy() |
Импорт не требуется | Фабрика страниц импорта |
Нет кэш-памяти | Поиск в кеше стал быстрее |
Фабрика страниц инициализирует элементы объекта страницы или создает экземпляры самих объектов страницы. Также можно создавать аннотации к элементам. На самом деле это лучший способ, поскольку описывающие свойства могут быть недостаточно выразительными, чтобы отличить один объект от другого.
Если POM используется без фабрики страниц, вместо использования FindElements @FindBy используется для поиска WebElement, а initElements используется для инициализации веб-элементов из класса Page Factory.
@FindBy может принимать такие атрибуты, как tagName, name, partialLinkText, linkText, id, className, css и xpath.
Q.9) Как добиться синхронизации в WebDriver? Или расскажите нам о различных типах операторов ожидания Selenium Web Driver?
Вы можете найти два оператора ожидания в веб-драйвере Selenium, а именно: неявное ожидание и явное ожидание.
Неявное ожидание дает команду WebDriver немного подождать, опрашивая DOM. Он присутствует на протяжении всей жизни экземпляра веб-драйвера после объявления неявного ожидания. Предустановленное значение равно нулю. Если вы установите значение больше нуля, поведение будет регулярно опрашивать DOM на основе реализации драйвера.
Явное ожидание заставляет выполнение немного подождать, пока не будет достигнуто условие, например:
- элементToBeClickable
- присутствиеэлементлокатед
- элементToBeSelected
Читайте: вопросы и ответы весеннего интервью
10) Какая польза от JavaScriptExecutor?
Вы можете выполнить JavaScript через Selenium Websriver, используя JavaScriptExecutor. Это интерфейс, который предлагает этот механизм. Он предоставляет такие методы, как «executescript» и «executeAsyncScript», для запуска JavaScript в состоянии текущего выбранного фрейма или окна. Примером этого является:
JavascriptExecutor js = (JavascriptExecutor) драйвер;
js.executeScript(Сценарий,Аргументы);
Q.11) Какая функция позволяет прокручивать страницу вниз с помощью JavaScript в Selenium?
Функция window.scrollBy() помогает прокручивать страницу вниз с помощью JavaScript в Selenium. Например:
(Драйвер (JavascriptExecutor)).executeScript («window.scrollBy (0,500»);
Q.12) Как вы обрабатываете действия мыши и клавиатуры с помощью Selenium?
Специальные действия мыши и клавиатуры обрабатываются с помощью Advanced User Interactions API. Он состоит из действий и классов действий, необходимых для выполнения этих событий. Наиболее часто используемые события мыши и клавиатуры задаются классом Action:
dragAndDrop(): это событие выполняет щелчок и удерживание в позиции исходного элемента, перемещает.
source, target(): перемещается в позицию целевого элемента и отпускает мышь.
clickAndHold(): Щелкает по текущему местоположению мыши.
Q.13) Какие существуют типы фреймворков Selenium?
Различные типы фреймворков Selenium:
- Платформа, управляемая ключевыми словами: в этой структуре операции и инструкции записываются в отдельный файл, такой как Excel.
- Платформа, управляемая данными: в этой структуре полные тестовые данные берутся из некоторых внешних исходных файлов, таких как XML, Excel, CSV или какая-либо другая таблица базы данных.
- Гибридная структура: эта структура представляет собой смесь структуры, управляемой ключевыми словами, и среды, управляемой данными.
Q.14) Назовите несколько файлов, которые служат источником данных для различных фреймворков Selenium.
Это могут быть XML, Excel, CSV или даже текстовые файлы.
Q.15) Что такое Селенезе?
Selenese — это группа команд Selenium для тестирования веб-приложения. Разработчики могут использовать утверждения, действия и средства доступа. Утверждения используются в качестве контрольных точек. Действия предназначены для выполнения операций, а средства доступа используются для хранения значения переменной.
Q.16) В чем основное различие между фабрикой страниц и объектной моделью страниц (POM)?
Распространенный вопрос на собеседовании по селену. Фабрика страниц — это метод инициализации веб-элементов в объекте страницы при создании экземпляра. С другой стороны, объектная модель страницы — это класс, определяющий веб-страницу и содержащий ее функциональные возможности.
Q.17) Поддерживает ли Selenium обработку всплывающих окон?
Нет. Selenium не поддерживает обработку всплывающих окон. Оповещение, представляющее собой всплывающее окно, отображает предупреждающее сообщение на экране. Вы можете добиться этого, используя несколько методов, таких как:

Void reject(): этот метод вызывается при нажатии кнопки отмены в окне предупреждения.
Void accept (): при нажатии кнопки «ОК» в предупреждении вызывается этот метод.
String getText(): если вы хотите захватить предупреждающее сообщение, вы должны вызвать этот метод.
Void sendKeys (String stringToSed): если вы хотите отправить некоторую информацию в окно предупреждения, вы должны вызвать этот метод.
Читайте: Реагируйте вопросы и ответы интервью
Q.18) Объясните класс робота
Класс Robot дает контроль над клавиатурой и мышью.
Методы включают:
- KeyPress(): вызывается для события, когда вы хотите нажать клавишу.
- KeyRelease(): вызывается в событии, чтобы отпустить нажатую клавишу.
- MouseMove(): вызывается в случае, когда вам нужно переместить указатель мыши в координатах X и Y.
- MousePress(): вызывается в случае нажатия левой кнопки мыши.
- MouseMove(): вызывается в случае отпускания нажатой кнопки мыши.
Q.19) Как обрабатывать много окон в Selenium?
Дескриптор окна — это специальный идентификатор, который имеет адрес всех окон. Он служит указателем на окно, возвращающее значение в строке.
- get.windowhandle(): получает дескриптор текущего окна.
- get.windowhandles(): получает дескрипторы всех открытых окон.
- переключаться на: помогает переключаться между окнами.
- set: устанавливает дескрипторы окна в виде строки.
- action: помогает выполнять определенные действия над окнами.
Q.20) Что такое слушатели?
Интерфейс, который изменяет поведение системы, в Selenium называется слушателями. Они позволяют настраивать журналы и отчеты. Они бывают двух видов: слушатели TestNG и слушатели Webdriver.
Q.21) Объясните команды Assert и Verify
Утверждение: утверждение используется для различения реального результата и ожидаемого результата.
Проверка: выполнение тестов не приостанавливается независимо от того, истинно или ложно условие проверки.
Q.22) Как перемещаться назад и вперед по веб-странице?
Это один из самых распространенных вопросов на собеседовании по селену.
Вы можете использовать следующие методы для навигации вперед и назад.
водитель.навигация.вперед
водитель.управлять.навигировать
водитель.управлять.назад
driver.navigate.to("url")
Q.23) Как отправить клавишу ALT/SHIFT/CONTROL в Selenium WebDriver?
Обычно с помощью таких клавиш, как ALT, Shift или Control, мы комбинируем их с другими клавишами, чтобы активировать функцию. Мы не можем просто щелкнуть их в одиночку. Нам нужно определить два метода для удержания этих клавиш, в то время как следующие клавиши
нажаты: keyUp(modifier_key) и keyDown(modifier_key)
Параметры: Modifier_key (keys.ALT или Keys.SHIFT или Keys.CONTROL)
Цель: цель состоит в том, чтобы выполнить нажатие клавиши-модификатора без отпускания клавиши-модификатора. Следующие взаимодействия могут предполагать, что он удерживается нажатым.
Параметры: Modifier_key (keys.ALT или Keys.SHIFT или Keys.CONTROL)
Цель: Цель состоит в том, чтобы выполнить освобождение ключа.
Таким образом, совмещая эти два метода, мы можем зафиксировать специальную функцию конкретной клавиши.
Q.24) Как мы делаем скриншоты в Selenium WebDriver?
Функция TakeScreenshot помогает сделать скриншот в Selenium Webdriver. Кроме того, вы можете сохранить снимок экрана с помощью метода getScreenshotAs().
Файл scrFile = ((TakeScreenshot)driver).getScreenshotAs(outputType.FILE);
В. 25) Можно ли установить размер окна браузера с помощью Selenium? Если да, то как?
да. Если вы хотите максимально увеличить размер окна браузера, вам нужно использовать код
driver.manage().window().maximize();
Если вы хотите изменить размер текущего окна до определенного размера, вы должны использовать метод setSize(). Например:
System.out.println(driver.manage().window().getSize());
Измерение d = новое измерение (420 600);
driver.manage().window().setSize(d);
Если вы хотите установить для окна определенный размер, вы должны использовать метод window.resizeTo().
Например:
((JavascriptExecutor)драйвер).executeScript("window.resizeTo(1024, 768);");
Q.26) Как выбрать значение из выпадающего списка? Как работать с выпадающим списком?
Скорее всего, вам зададут вопрос о раскрывающемся списке и выборе значений, так как это также немного сложно и технически.
Самая важная деталь, которую вы должны знать, это то, что для работы с раскрывающимся списком в Selenium важно использовать html-тег: «выбрать». Вы не можете обрабатывать раскрывающиеся списки без использования тега select. Взгляните на код ниже:
<select id="mySelect">
<option value="option1″>Торты</option>
<option value="option2″>Шоколад</option>
<option value="option3″> Конфеты</option>
</выбрать>
В приведенном выше коде HTML-тег select используется для определения элемента раскрывающегося списка. Идентификатор тега select здесь myselect. В раскрывающемся списке мы дали три варианта: торты, шоколад и конфеты. Вы можете видеть, что у каждого из этих вариантов есть прикрепленный атрибут значения. Например, для торта значение — вариант 1, для шоколада — вариант 2, а для конфет — вариант 3.
Чтобы выбрать значение, вам необходимо:
Идентифицируйте html-элемент «выбрать», используя функцию findelement().
Пример:
WebElement mySelectElement = driver.findElement(By.id("mySelect"));
Выберите раскрывающийся список = новый Select (mySelectElement);
Выберите вариант из этого выпадающего элемента.
Чтобы выбрать вариант из этого раскрывающегося списка, есть три способа:
dropdown.selectByVisibleText("Шоколад"); → Выбор опции по отображаемому тексту.
dropdown.selectByIndex("1"); → Выбор опции с использованием порядкового номера этой опции.
dropdown.selectByValue("option2"); → Выбор параметра с использованием значения этого параметра.
Обратите внимание, что во всех случаях в раскрывающемся списке выбирается вариант «Шоколад». Пункты 1 и 3 очевидны и пункт два; мы говорим «1», потому что индексация начинается с нуля.
Читайте: Лучшие вопросы и ответы интервью Nagios
Q.27) Как вы переходите на новую вкладку, которая открывается после нажатия на ссылку?
При нажатии на ссылку на веб-странице вам нужно использовать команду switchTo(), чтобы изменить фокус веб-драйвера. Пример: driver.switchTo().window();
где 'windowName' — это имя окна, на которое вы хотите переключить фокус.
Если у вас нет имени окна, вы можете использовать команду driver.getWindowHandle() для получения имени всех окон, которые были инициированы WebDriver. Помните, он никогда не даст вам имена тех окон, которые Webdriver не инициировал.
Получив имя, вам нужно запустить цикл, чтобы добраться до этого окна. Вот пример:
Строковый дескриптор = driver.getWindowHandle();
for (дескриптор строки: driver.getWindowHandles())
{
driver.switchTo (). окно (дескриптор);
}
Q.28) Как загрузить файл в Selenium WebDriver?
Команда element.send_keys(путь к файлу) используется для загрузки файла в Selenium Webdriver. Но перед этим вы должны использовать тег html: «ввод», где тип атрибута должен быть «файл». Вот пример, чтобы понять это лучше:
<input type="file" name="my_uploaded_file" size="50″ class="pole_plik">
элемент = driver.find_element_by_id («мой_загруженный_файл»)
element.send_keys("C:myfile.txt")
Q.29) В чем важность файла testng.xml?
Если вы проходите собеседование в Selenium, вы наверняка знаете о важности тестирования. Selenium не поддерживает генерацию отчета, а также управление тестовым набором. Поэтому мы используем фреймворк TestNG с Selenium. Это намного продвинутее по сравнению с Junit, и проще реализовать аннотации, что делает платформу TestNG выбором с Selenium Webdriver.
Вы можете определить наборы тестов и группировку тестовых классов в TestNG, используя команды из файла testing.xml. Он представлен в файле XML, а не в наборе тестов в исходном коде тестирования, поскольку набор является функцией выполнения. Набор тестов — это группа или набор тестовых случаев.
Файл testng.xml должен содержать имена всех методов и классов, которые вы хотите выполнить как часть этого потока выполнения.
Некоторые из преимуществ использования файла testng.xml:
- Это позволяет выполнять несколько тестовых случаев из нескольких классов.
- Это позволяет выполнять тестовые случаи в группах, где один тест может принадлежать нескольким группам.
- Это позволяет параллельное выполнение.
Q. 30) Объясните DataProviders в TestNG. Можно ли вызвать один метод поставщика данных для нескольких функций и классов?
Один из продвинутых вопросов на собеседовании по селену. DataProvider — это функция TestNG, позволяющая разработчикам писать тесты, управляемые данными. Он поддерживает тестирование DataDriven, что означает, что один и тот же метод тестирования может выполняться несколько раз с разными наборами данных. DataProvider — это всего лишь метод передачи параметров в тестовый метод.
@DataProvider — это метод предоставления данных для тестового метода. Аннотированный метод должен возвращать Object[], где каждый Object[] может быть размещен в списке параметров тестового метода.

да. Можно вызвать один метод поставщика данных для нескольких функций и классов. Один и тот же DataProvider можно использовать в нескольких функциях и классах, объявив DataProvider в отдельном классе, а затем снова используя его в нескольких классах.
В. 31) Каковы особенности TestNG?
- До и после аннотаций
- Тестовая конфигурация на основе XML
- Многопоточное выполнение
- Открытый API
- Улучшенная отчетность
- Тестирование на основе данных
- Зависимые группы.
- Зависимые методы
Получите курс по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Заключение
Подходя к концу руководства по вопросам и ответам на собеседование по Selenium , мы надеемся, что это поможет вам получить работу. Вопросы для собеседования по Selenium для опытных более технические, но в условиях жесткой конкуренции за рабочие места всегда полезно хорошо подготовиться к собеседованию.
Если вы заинтересованы в изучении Selenium, DevOps и всего, что касается разработки полного стека, ознакомьтесь с программой Executive PG IIIT-B и upGrad в программе разработки программного обеспечения полного стека.
