Selenium - это популярный тип фреймворка, используемого для тестирования веб-приложений. Если вы ИТ-специалист, это один из самых ценных инструментов с открытым исходным кодом для проведения функционального тестирования веб-сайтов без необходимости изучения языка сценариев. Вместо этого Selenium использует специфический язык для написания тестов на языках программирования, таких как Scala, Ruby, Python или PHP. Ключ к его популярности заключается в его простоте, легкости использования, функциональности, экономящей время, и в том, что он на 100% бесплатен.
Почему интервьюеры задают вопросы о Selenium?
Хотя Selenium - одна из самых простых в освоении программ для тестирования веб-приложений, для успешного прохождения собеседования в ИТ-секторе необходимо ее полное понимание. Чтобы проверить ваши знания Selenium, работодатели будут задавать различные вопросы. Эти вопросы варьируются от начального до продвинутого уровня, что дает потенциальному работодателю представление о вашей компетентности и о том, сколько обучения вам потребуется. Если вы готовитесь к собеседованию или просто хотите подтянуть свои знания по Selenium, вот некоторые из основных вопросов, задаваемых работодателями на собеседовании по Selenium.
Лучшие вопросы для собеседования по Selenium
Вопросы Selenium на собеседовании, с которыми вы можете столкнуться, включают знание пакета Selenium и его практического применения при тестировании веб-приложений. Известны случаи, когда работодатели брали вопросы для собеседования из 100 вопросов, чтобы проверить, что вы знаете и понимаете о Selenium, его компонентах и функциональности. Эти вопросы предназначены для проверки ваших навыков работы с Selenium, кодирования и тестирования. Вот некоторые из наиболее популярных вопросов Selenium, которые вам могут задать на собеседовании при приеме на работу.
1. Что такое автоматизированное тестирование?
Selenium - это программное обеспечение для автоматизации тестирования. Поэтому вы должны дать краткий ответ на вопрос о том, чем занимается автоматизированное тестирование.
Пример: Автоматическое тестирование - это метод тестирования закодированного программного обеспечения с помощью автоматизированной программы. Это позволяет программисту тестировать сайт быстрее и без ошибок, которые могут возникнуть при ручном тестировании.
2. Какие существуют виды автоматизированного тестирования?
Этот вопрос направлен на проверку ваших знаний о двух типах автоматизированного тестирования и различиях между ними.
Пример: В программировании существует два типа автоматизированного тестирования: функциональное тестирование и регрессионное тестирование. Функциональное тестирование используется для определения того, все ли функциональные возможности приложения или программного обеспечения работают должным образом. При функциональном тестировании пользовательский опыт и дизайн остаются нетронутыми. Типичные причины для функционального тестирования включают проверку входных данных, выполнение требований заказчика, сбор ожидаемых результатов и сравнение фактических и ожидаемых результатов.
Регрессионное тестирование используется для проверки функциональности приложения после его выпуска. Этот тип тестирования обычно выполняется после небольших изменений или обновлений веб-приложения. Причины для такого тестирования включают обеспечение бесперебойной работы новых функций, поиск ошибок после обновления и проверку любых изменений в производительности или качестве после обновления.
3. В чем преимущества автоматизированного тестирования?
Автоматизированное тестирование имеет ряд преимуществ перед ручным тестированием, на которые следует обратить внимание пользователям Selenium.
Пример: Автоматизированное тестирование имеет шесть заметных преимуществ перед ручным тестированием. Это включает в себя большую надежность и точность по сравнению с ручным тестированием, экономию времени и денег, возможность параллельного выполнения, улучшение тестов в большой матрице, обеспечение повышенного качества программного обеспечения и повышение эффективности работы разработчика или команды разработчиков.
4. Что такое Selenium?
Selenium - это бесплатный пакет автоматизированного тестирования с открытым исходным кодом. Благодаря простоте использования, совместимости и популярности в сообществе тестировщиков, он стал отраслевым стандартом. Однако Selenium - это нечто большее, чем просто отдельная программа.
Пример: Selenium состоит из четырех инструментов, которые отвечают различным требованиям к тестированию со стороны клиента или внутри компании. Четыре компонента включают Selenium WebDriver (фреймворк, позволяющий тестировать приложение как удаленно, так и локально), Selenium Integrated Development Environment, или IDE (это самый базовый инструмент в наборе Selenium, позволяющий тестировать веб-сайты методом записи и воспроизведения теста, Selenium Grid (эта функция Selenium позволяет запускать тесты приложения одновременно на разных машинах, операционных системах и браузерах) и Selenium Remote Control, или IRC, который представляет собой инструмент, позволяющий писать тесты приложения на выбранном вами языке программирования в браузерах с поддержкой Java.
5. Каковы преимущества Selenium в качестве инструмента автоматизации тестирования?
Selenium имеет множество преимуществ перед другими типами программного обеспечения для автоматизации тестирования. Это лишь некоторые из основных преимуществ Selenium как инструмента автоматизации тестирования, но не стесняйтесь придумывать креативные ответы, чтобы впечатлить интервьюера.
Пример: Selenium обеспечивает совместимость с Linux, macOS, Windows и другими платформами; совместимость с Mozilla Firefox, Google Chrome, Safari, Internet Explorer и другими браузерами. Плюс ко всему, он с открытым исходным кодом. Это также бесплатно. Кроме того, Selenium поддерживает множество языков программирования, включая Pearl, PHP, Python, Ruby, Java, C# и другие, и имеет огромную базу пользователей в Интернете с форумами и поддержкой для решения проблем.
6. Что такое селенец?
Selenese - это язык программирования, используемый Selenium.
Пример: Selenese - язык программирования, используемый для написания тестовых сценариев в Selenium IDE.
7. В чем преимущество Selenium IDE перед другими типами фреймворков?
Selenium IDE предлагает простоту по сравнению с другими типами фреймворков для автоматизации тестирования.
Пример: Simplicity. Низкая скорость обучения, совместимость и экономия времени делают Selenium IDE полезным в работе.
8. Какие существуют типы локаторов в Selenium?
Локатор - это адрес, который идентифицирует веб-элемент на определенной веб-странице. Это важнейший аспект использования Selenium.
Пример: Различные типы локаторов в Selenium включают: DOM, LinkText, Xpath, Name, ID, ClassName, TagName, PartialLinkText и CSS Selector. В Selenium существует больше типов локаторов, но эти преобладают среди них.
9. В чем разница между командами утверждать и проверять ??
Команды Assert и Verify - это два разных способа использования Selenium для тестирования программного обеспечения или других программ.
Пример: Команда assert проверяет, являются ли команды или элементы истинными. Если это так, то команда assert будет выполняться беспрепятственно. Однако, если некоторые элементы отсутствуют, это остановит процесс тестирования. И наоборот, команда verify проверяет, истинно или ложно условие, и продолжает процесс тестирования независимо от найденных ошибок.
10. В чем разница между жестким утверждением и мягким утверждением ??
Знание того, когда следует использовать жесткое утверждение или мягкое утверждение, является важнейшим способом правильного тестирования программного обеспечения в Selenium.
Пример: Мягкое утверждение запустит тест без исключения, если тест провалится. Жесткий assert отбрасывает исключение и продолжает тестирование.
11. Что такое Selenium 1 и Selenium 2?
Знание жаргона Selenium полезно при общении с другими пользователями Selenium или работодателями.
Пример: Selenium RC сам по себе часто называют Selenium 1. Selenium RC и Selenium WebDriver в сочетании называются Selenium 2.
12. Что такое элемент?
Элемент - это стандартная терминология, которую должен знать каждый пользователь Selenium.
Пример: Элемент - это объект, присутствующий на веб-странице.
13. Что такое Xpath? Для чего он используется?
Xpath - это полезный инструмент для определения местоположения элементов при использовании Selenium.
Пример: Xpath - это инструмент, используемый для поиска элемента на основе его расширяемого языка разметки, или XML. Он также используется для поиска элементов HTML, а также для хранения данных в паре ключ-значение. Преимущество Xpath в том, что он позволяет найти элемент по ссылке на другой элемент.
14. В Xpath какая разница между одинарной косой чертой ( ) и двойной косой чертой ( )??
Знание разницы между одинарным и двойным слешем демонстрирует глубокие знания Selenium и использования этого популярного локатора.
Пример: Также известный как абсолютный путь, одинарная косая черта используется для создания начального выбора с первого узла. Двойная косая черта используется для создания начального выделения из любого места документа.
15. Какие типы драйверов доступны в WebDriver?
Понимание типов драйверов в WebDriver дает вам больше инструментов и браузеров для работы в Selenium.
Пример: Драйверы WebDriver включают AndroidDriver, FirefoxDriver, ChromeDriver, SafariDriver, OperaDriver, iPhoneDriver, HtmlUnit Driver и InternetExplorerDriver.
16. В чем разница между ожиданиями в WebDriver?
Использование правильного типа ожидания имеет решающее значение для квалифицированного тестирования программного обеспечения в Selenium.
Пример: В WebDriver доступны два типа ожидания, включая явное ожидание, которое применяется к конкретной ситуации и останавливает выполнение до истечения максимального времени или до выполнения определенного набора условий. Другой тип - неявное ожидание, которое устанавливает время ожидания между шагами теста и командами в сценарии.
17. Когда бы вы использовали Selenium Grid?
Selenium Grid позволяет тестировать скрипты в Selenium на нескольких платформах одновременно.
Пример: Если вы распространяете тест на несколько веб-страниц в нескольких браузерах одновременно, вы будете использовать Selenium Grid. Этот фреймворк тестирует скрипты на нескольких платформах одновременно, экономя ваше время и хлопоты, связанные с тестированием на каждом браузере и веб-странице в отдельности.
18. В чем преимущества объектной модели страницы (POM)?
POM позволяет пользователям легче читать код.
Пример: Объектная модель страницы, или POM, улучшает читаемость кода и позволяет использовать его повторно.
19. Как вы можете найти элемент на экране?
Быстрый поиск элементов на экране помогает повысить производительность в Selenium.
Пример: Веб-элементы - это все объекты, отображаемые на веб-странице. Для поиска элемента на экране используются функции isDisplayed(), isSelected() и isEnabled()
Синтаксис будет выглядеть следующим образом:
-
isDisplayed():
boolean buttonPresence = driver.findElement(By.id( gbqfba )).isDisplayed(); -
isSelected():
boolean buttonSelected = driver.findElement(By.id( gbqfba )).isSelected(); -
isEnabled():
boolean searchIconEnabled = driver.findElement(By.id( gbqfb )).isEnabled();
20. Как бы вы прокручивали страницу с помощью JavaScript?
Прокрутка на странице с помощью JavaScript также увеличивает скорость и производительность.
Пример: ((JavascriptExecutor) driver).executeScript( window.scrollBy(0,750) );
21. Как выбрать значение в выпадающем списке в WebDriver?
Этот вопрос поможет продемонстрировать ваше владение WebDrive и Selenium.
Пример: Используя класс Select в WebDriver, вы можете выбрать значение в выпадающем списке, используя следующий синтаксис:
-
selectByValue:
Select selectByValue = new Select(driver.findElement(By.id( SelectID_One )));
selectByValue.selectByValue( greenvalue ); -
selectByVisibleText:
Select selectByVisibleText = new Select (driver.findElement(By.id( SelectID_Two )));
selectByVisibleText.selectByVisibleText( Lime ); -
selectByIndex:
Select selectByIndex = new Select(driver.findElement(By.id( SelectID_Three )));
selectByIndex.selectByIndex(2);
22. Какие две вещи не могут быть автоматизированы с помощью Selenium?
Точное знание того, что можно и что нельзя автоматизировать с помощью Selenium, помогает сэкономить время при тестировании программного обеспечения.
Пример: Единственные две вещи, которые нельзя автоматизировать с помощью Selenium, - это штрих-коды и Captcha.
23. Какие существуют типы команд навигации в Selenium?
Команды навигации облегчают и ускоряют тестирование программных приложений пользователями Selenium.
Пример: В Selenium существует четыре типа команд навигации:
-
navigate().to(): Это позволяет перейти к указанному URL через новое окно браузера.
-
navigate().forward(): Это позволяет перейти на следующую веб-страницу, ссылаясь на историю браузера.
-
перейти().back(): Позволяет перейти на предыдущую веб-страницу по истории браузера.
-
navigate().refresh(): Позволяет обновить страницу, перезагрузив все элементы на данной веб-странице.
24. Как вы можете открыть Selenium IDE?
Открытие Selenium IDE дает вам возможность использовать их в унисон с другими программами на том же экране или использовать Selenium IDE самостоятельно.
Пример: Selenium IDE может быть открыта в режиме боковой панели и в режиме окна.
25. Как найти битые ссылки или утвердить заголовок веб-страницы в Selenium WebDriver?
Нахождение неработающих ссылок и утверждение заголовка в WebDriver оптимизирует производительность и своевременно обнаруживает ошибки.
Пример: Использование драйвера.функция get() для поиска неработающих ссылок или утверждения заголовка веб-страницы. Запустите эту функцию в качестве теста. Если в ответ на запрос приходит не 200 - OK , то у вас проблема.
26. Что такое Junit?
Знание Junit демонстрирует ваши дополнительные знания Apache и Selenium.
Пример: Junit - это основанная на Java среда тестирования, представленная Apache - той же компанией, которая выпустила Selenium.
27. Какие четыре условия должны быть выполнены, чтобы Selenium прошел тест?
Поскольку Selenium используется исключительно для тестирования программного обеспечения, знание того, какие условия должны быть выполнены для прохождения теста, имеет решающее значение для всех пользователей Selenium.
Пример: Чтобы пройти тест, Selenium должен удовлетворить четыре параметра или условия, включая номер порта, browse, URL и хост.
28. Каковы некоторые ограничения Selenium?
Конечно, знать, для чего использовать Selenium, очень важно, но вас также могут спросить о том, что делать, когда вы не можете использовать его для определенных задач.
Пример: Некоторые из ограничений Selenium включают невозможность тестирования настольных приложений или веб-сервисов. Для создания надежных скриптов в Selenium WebDriver требуется знание языка программирования, и нам приходится полагаться на внешние библиотеки и инструменты для выполнения таких задач, как ведение логов (log4J), тестирование фреймворков (TestNG, JUnit) и чтение из внешних файлов (POI для excels).
29. Какие браузеры и драйверы поддерживаются Selenium WebDriver?
Selenium WebDriver используется для имитации действий реальных веб-пользователей в браузере, поэтому важно знать наиболее часто поддерживаемые.
Пример: Некоторые широко используемые браузеры, поддерживаемые Selenium:
-
Google Chrome и ChromeDriver
-
Firefox и FireFoxDriver
-
Internet Explorer и InternetExplorerDriver
-
Safari и SafariDriver
-
HtmlUnit (безголовый браузер) и HtmlUnitDriver
-
Android и SelendroidAppium
-
iOS и iOS-driverAppium
30. Что может привести к сбою теста Selenium IDE?
Иногда действия пользователя в браузере могут быть неправильно записаны или экспортированы в сценарий, поэтому полезно знать, как распознать такой сбой.
Пример: Эти три фактора обычно приводят к сбою IDE-теста:
-
Когда локатор изменился и Selenium IDE не может найти элемент
-
Когда элемент Selenium IDE, ожидающий доступа, не появляется на веб-странице и операция завершается по таймеру
-
Когда элемент, к которому пытается обратиться Selenium IDE, не был создан
31. Чем структура, управляемая данными, отличается от структуры, управляемой ключевыми словами?
Объяснение того, как выбрать, какой фреймворк для тестирования использовать, может показать понимание того, какой тип и какая ситуация требует более тщательного планирования.
Пример: В системе тестирования на основе данных тестовые данные отделены и хранятся вне тестовых сценариев, в то время как логика тестового случая находится в тестовых сценариях. Тестовые данные считываются из внешних файлов (например, файлов Excel) и загружаются в переменные внутри тестового сценария. Загруженные переменные затем используются для входных и проверочных значений.
Тестовый фреймворк, управляемый ключевыми словами, требует разработки таблиц данных и ключевых слов, которые не зависят от автоматизации тестирования. В тесте, управляемом ключевыми словами, функциональность тестируемого приложения документируется в таблице, а также в пошаговых инструкциях.
32. Как можно проверить, отображается ли элемент на веб-странице?
Этот быстрый и прямой тест позволяет выяснить, присутствуют ли определенные элементы и видны ли они.
Пример: Используя метод isDisplayed(), вы можете проверить, отображается ли элемент на веб-странице: driver.findElement(By locator).isDisplayed();
33. Как загрузить файл в Selenium?
Знание того, как выполнить выгрузку и почему один способ лучше другого в определенных ситуациях, показывает интервьюеру, что у вас есть практические знания Selenium.
Пример: Действие загрузки файла может быть выполнено несколькими способами, включая эти три распространенных:
-
Использование элемента.sendKeys( путь к файлу ) на webElement тега input и типа file, i.e. элементы должны быть в форме:
-
Использование Robot API
-
Использование API AutoIT
34. Как можно делать скриншоты с помощью Selenium?
Если вы знаете этот многоэтапный процесс, это может облегчить решение и отладку тестовых заданий и сценариев сбоев.
Пример: Вы можете делать скриншоты в Selenium, используя метод getScreenshotAs интерфейса TakesScreenshot:
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File( D:\testScreenShot.jpg ));
35. Напишите код для щелчка правой кнопкой мыши по элементу.
Это действие важно для взаимодействия с пользователем во многих различных веб-элементах.
Пример: Вы можете щелкнуть элемент правой кнопкой мыши в Selenium с помощью следующего кода:
Actions action = new Actions(driver);
WebElement element=driver.findElement(By.id( elementId ));
действие.contextClick(элемент).perform();
Последние советы по ответам на вопросы Selenium интервью по автоматизации тестирования
Вы должны быть хорошо подготовлены к любым техническим вопросам, заданным вам во время собеседования по Selenium. Но не забывайте об этих простых вещах, которые нужно помнить, приближаясь к ответам:
-
Изучите компанию, в которой вы проводите собеседование, чтобы понять, с какими типами тестовых случаев они работают, и соответствующим образом подберите свои ответы.
-
Приносите образцы своих работ в портфолио или папке.
-
Подумайте, как бы вы проверили обычный предмет, например, кофейную кружку. Рассмотрите все аспекты предмета: материал, ручка, температура, размер, форма, эффект от падения и другие подобные аспекты.
-
Не замыкайте свои мысли только на работе в рамках инструмента (Selenium WebDriver). Вместо этого подумайте о целостном подходе к разработке программного обеспечения и ценности тестирования как части процесса.
- indeed.com
Поделиться