50 most popularly asked selenium interview questions
У цьому посібнику ми перерахували вершину 50 запитань щодо інтерв’ю Selenium, включаючи Selenium IDE, Selenium RC, Selenium Grid та Selenium WebDriver.
Коротка примітка про цю серію статей про Selenium перед тим, як перейти до цього підручника:
Це останній підручник з нашої онлайн-серії навчальних курсів Selenium із понад 30 вичерпних посібників. Сподіваюся, вам всі сподобались ці підручники і ви почали з них вчитися. Якщо ви тут новачок, перейдіть до це найперший підручник у цій навчальній серії.
******************
Також перевірте це Найкращий онлайн-курс із селену ”Навчитися інструменту автоматизації селену у експерта, який має 10+ років досвіду автоматизації селену.
******************
50 найкращих запитань та відповідей на інтерв’ю із селеном
Ось і ми.
Q # 1) Що таке автоматичне тестування?
Тестування автоматизації або Тестова автоматизація - це процес автоматизації ручного процесу тестування програми / системи, що тестується. Тестування автоматизації передбачає використання окремого інструменту тестування, який дозволяє створювати тестові сценарії, які можна виконувати неодноразово, і не вимагає жодного втручання вручну.
Q # 2) Які переваги тестування автоматизації?
Переваги автоматичного тестування:
- Підтримує виконання повторних тестів
- Допомагає у тестуванні великої тестової матриці
- Дозволяє паралельне виконання
- Заохочує страту без нагляду
- Покращує точність, зменшуючи тим самим помилки, спричинені людиною
- Економить час і гроші
Q # 3) Чому селен слід вибирати як тест-засіб?
Селен
- є безкоштовним та відкритим кодом
- мати велику базу користувачів та спільноти, що допомагають
- мають сумісну браузерну сумісність (Firefox, Chrome, Internet Explorer, Safari тощо)
- мають чудову сумісність з платформами (Windows, Mac OS, Linux тощо)
- підтримує кілька мов програмування (Java, C #, Ruby, Python, Pearl тощо)
- має свіжі та регулярні розробки сховищ
- підтримує розподілене тестування
Q # 4) Що таке селен? Які різні компоненти селену?
Селен - один із найпопулярніших наборів автоматизованого тестування. Селен розроблений таким чином, щоб підтримати та заохотити автоматизацію тестування функціональних аспектів веб-додатків та широкого кола браузерів та платформ. Завдяки своєму існуванню у спільноті з відкритим кодом, він став одним із найбільш прийнятних інструментів серед фахівців з тестування.
qa запитання та відповіді на співбесіду
Селен - це не просто окремий інструмент або утиліта, а пакет з декількох інструментів тестування, і з тієї ж причини його називають Suite. Кожен із цих інструментів призначений для задоволення різних вимог до середовища тестування та тестування.
Пакет набору складається з наступних наборів інструментів:
- Інтегроване середовище розвитку селену (IDE) - Selenium IDE - це інструмент запису та відтворення. Він поширюється як плагін Firefox.
- Пульт дистанційного керування селеном (RC) - Selenium RC - це сервер, який дозволяє користувачеві створювати тестові сценарії на потрібній мові програмування. Це також дозволяє виконувати тестові сценарії в широкому спектрі браузерів.
- Селен WebDriver - WebDriver - це зовсім інший інструмент, який має різні переваги перед Selenium RC. WebDriver безпосередньо взаємодіє з веб-браузером і використовує власну сумісність для автоматизації.
- Селенова сітка - Selenium Grid використовується для одночасного розподілу виконання тесту на кількох платформах та середовищах.
Q # 5) Які типи тестування можуть підтримуватися селеном?
Селен підтримує такі типи тестування:
- Функціональне тестування
- Регресійне тестування
Q # 6) Які обмеження має селен?
Нижче наведені обмеження селену:
- Селен підтримує тестування лише веб-програм
- Мобільні програми не можна тестувати за допомогою селену
- Зчитувачі Captcha та штрих-коду не можна протестувати за допомогою Selenium
- Звіти можна створювати лише за допомогою сторонніх інструментів, таких як TestNG або JUnit.
- Оскільки Selenium - це безкоштовний інструмент, тому немає готової підтримки постачальника, оскільки користувач може знайти численні спільноти, що допомагають.
- Очікується, що користувач володіє попередніми знаннями мови програмування.
Q # 7) У чому різниця між Selenium IDE, Selenium RC та WebDriver?
Особливість | IDE селену | Селен RC | WebDriver |
---|---|---|---|
Обробка сповіщень, навігації, спадних меню | Selenium IDE явно не надає допоміжних засобів для обробки сповіщень, навігації, спадних меню | Selenium RC явно не надає допоміжних засобів для обробки сповіщень, навігації, спадних меню. | WebDriver пропонує широкий спектр службових програм та класів, які допомагають ефективно та ефективно обробляти сповіщення, навігації та спадні меню. |
Сумісність браузера | Selenium IDE поставляється як плагін Firefox, отже, він підтримує лише Firefox | Selenium RC підтримує різноманітні версії Mozilla Firefox, Google Chrome, Internet Explorer та Opera. | WebDriver підтримує різноманітні версії Mozilla Firefox, Google Chrome, Internet Explorer та Opera. Також підтримує HtmlUnitDriver, який є графічним інтерфейсом або браузером без голови. |
Запис і відтворення | Selenium IDE підтримує функцію запису та відтворення | Selenium RC не підтримує функцію запису та відтворення. | WebDriver не підтримує функцію запису та відтворення |
Вимога до сервера | Selenium IDE не вимагає запуску будь-якого сервера перед виконанням тестових скриптів | Selenium RC вимагає запуску сервера перед виконанням тестових скриптів. | WebDriver не вимагає запуску будь-якого сервера перед виконанням тестових скриптів |
Архітектура | Selenium IDE - це фреймворк на основі Javascript | Selenium RC - це фреймворк на основі JavaScript. | WebDriver використовує власну сумісність браузера для автоматизації |
Об'єктно-орієнтований | IDE селену не є об'єктно-орієнтованим інструментом | Селен RC є напівоб'єктно-орієнтованим інструментом. | WebDriver - це суто об’єктно-орієнтований інструмент |
Динамічні шукачі (для пошуку веб-елементів на веб-сторінці) | Селен IDE не підтримує динамічні шукачі | Селен RC не підтримує динамічні шукачі. | WebDriver підтримує динамічні шукачі |
Тестування WAP (iPhone / Android) | Селен IDE не підтримує тестування програм iPhone / Andriod | Selenium RC не підтримує тестування програм для iPhone / Android. | WebDriver розроблений таким чином, щоб ефективно підтримувати тестування додатків iPhone / Android. Інструмент постачається з великим набором драйверів для тестування на основі WAP. Наприклад, AndroidDriver, iPhoneDriver |
Підтримка слухачів | Selenium IDE не підтримує слухачів | Selenium RC не підтримує слухачів. | WebDriver підтримує реалізацію слухачів |
Швидкість | Селен IDE працює швидко, оскільки підключається до веб-браузера, який запускає тест. Таким чином, IDE і браузер взаємодіють безпосередньо | Selenium RC працює повільніше, ніж WebDriver, оскільки він не взаємодіє безпосередньо з браузером; швидше він надсилає команди selenese до Selenium Core, який, у свою чергу, взаємодіє з браузером. | WebDriver безпосередньо спілкується з веб-браузерами. Таким чином роблячи це набагато швидше. |
Запитання №8) Коли слід використовувати селену IDE?
IDE Selenium - це найпростіший і найпростіший з усіх інструментів пакету Selenium. Його функція запису та відтворення робить його надзвичайно простим для вивчення з мінімальним знайомством з будь-якою мовою програмування. IDE селену - ідеальний інструмент для наївного користувача.
Q # 9) Що таке селен?
Selenese - це мова, яка використовується для написання тестових сценаріїв у Selenium IDE.
Q # 10) Які різні типи локаторів у Селені?
Локатор можна назвати адресою, яка ідентифікує веб-елемент однозначно на веб-сторінці. Таким чином, ми точно і точно визначаємо веб-елементи різні типи локаторів у Селені :
- Посвідчення особи
- ClassName
- Ім'я
- TagName
- LinkText
- PartialLinkText
- Xpath
- Селектор CSS
- РЕШЕННЯ
Q # 11) У чому різниця між командами утвердження та перевірки?
Стверджувати: Команда Assert перевіряє, чи задана умова є істинною чи хибною. Скажімо, ми стверджуємо, чи присутній даний елемент на веб-сторінці чи ні. Якщо умова відповідає істині, тоді програма керування виконає наступний тестовий крок, але якщо умова хибна, виконання зупиниться і подальше тестування не буде виконано.
Перевірити: Команда Verify також перевіряє, чи задана умова є істинною чи хибною. Незалежно від умови істинного чи хибного, виконання програми не зупиняється, тобто будь-яка помилка під час перевірки не зупинить виконання, і всі кроки тесту будуть виконані.
Q # 12) Що таке XPath?
XPath використовується для пошуку веб-елемента на основі його шляху XML. XML розшифровується як Розширювана мова розмітки і використовується для зберігання, організації та транспортування довільних даних. Він зберігає дані у парі ключ-значення, яка дуже схожа на теги HTML. Обидва вони є мовами розмітки, і оскільки вони підпадають під ту саму парасольку, XPath можна використовувати для пошуку елементів HTML.
Основою пошуку елементів за допомогою XPath є переміщення між різними елементами по всій сторінці, що дозволяє користувачеві знайти елемент із посиланням на інший елемент.
Q # 13) Яка різниця між '/' та '//' у Xpath?
Одинарна коса риса “/” - Одина коса риса використовується для створення Xpath з абсолютним шляхом, тобто xpath буде створений для початку виділення з вузла документа / стартового вузла.
Подвійна коса риса “//” - Подвійна коса риса використовується для створення Xpath з відносним шляхом, тобто xpath буде створений для початку виділення з будь-якого місця в документі.
Q # 14) Що таке політика щодо самого походження та як з нею можна поводитися?
Проблема тієї самої політики походження забороняє доступ до DOM документа з джерела, яке відрізняється від джерела, до якого ми намагаємось отримати доступ.
Origin - це послідовна комбінація схеми, хосту та порту URL-адреси. Наприклад, для URL-адреси https://www.softwaretestinghelp.com/resources/ джерелом є поєднання http, softwaretestinghelp.com, 80 відповідно.
Таким чином, Selenium Core (програма JavaScript) не може отримати доступ до елементів з джерела, яке відрізняється від того, звідки воно було запущено. Наприклад, якщо я запустив програму JavaScript із “https://www.softwaretestinghelp.com”, то я міг би отримати доступ до сторінок того самого домену, наприклад “https://www.softwaretestinghelp.com/resources ”Або„ https://www.softwaretestinghelp.com/istqb-free-updates/ ”. Інші домени, такі як google.com, seleniumhq.org, більше не будуть доступними.
Отже, для того, щоб застосовувати ту саму політику походження, було введено пульт дистанційного керування Selenium.
Q # 15) Коли слід використовувати селенову сітку?
Selenium Grid може використовуватися для одночасного виконання одних і тих самих або різних тестових сценаріїв на декількох платформах та браузерах, щоб досягти розподіленого виконання тесту, тестування в різних середовищах та надзвичайно заощадити час виконання.
Q # 16) Що ми маємо на увазі під селеном 1 і селеном 2?
Селен RC та WebDriver у поєднанні в народі відомі як Селен 2. Сам Селен RC також називають Селеном 1.
Q # 17) Який найновіший інструмент селену?
WebDriver
Питання 18) Як запустити браузер за допомогою WebDriver?
Для запуску браузера можна використовувати такий синтаксис:
Драйвер WebDriver = новий FirefoxDriver ();
Драйвер WebDriver = новий ChromeDriver ();
Драйвер WebDriver = новий InternetExplorerDriver ();
Q # 19) Які різні типи драйверів доступні у WebDriver?
Різні драйвери, доступні в WebDriver:
що сьогодні використовується Java
- FirefoxDriver
- InternetExplorerDriver
- ChromeDriver
- SafariDriver
- OperaDriver
- AndroidDriver
- IPhoneDriver
- HtmlUnitDriver
Питання 20) Які різні типи очікування доступні у WebDriver?
Є два типи очікувань, доступні у WebDriver :
- Неявне очікування
- Явне очікування
Неявне очікування: Неявні очікування використовуються для надання часу очікування за замовчуванням (скажімо, 30 секунд) між кожним послідовним кроком тесту / командою у всьому тестовому сценарії. Таким чином, наступний тестовий крок буде виконуватися лише тоді, коли минуло 30 секунд після виконання попереднього тестового кроку / команди.
Явне очікування: Явні очікування використовуються для зупинки виконання до тих пір, поки не буде досягнуто певної умови або не минуло максимальний час. На відміну від неявних очікувань, явні очікування застосовуються лише для конкретного випадку.
Q # 21) Як друкувати в текстовому полі за допомогою Selenium?
Користувач може використовувати sendKeys (“Рядок, який потрібно ввести”) для введення рядка в текстове поле.
Синтаксис:
Ім'я користувача WebElement = drv .findElement (By.id ( 'Електронна пошта' ));
// введення імені користувача
username.sendKeys ( “Sth” );
Q # 22) Як ви можете знайти, якщо елемент в відображається на екрані?
WebDriver полегшує користувачеві наступні методи перевірки видимості веб-елементів. Цими веб-елементами можуть бути кнопки, перемикачі, прапорці, перемикачі, ярлики тощо.
- isDisplayed ()
- isSelected ()
- isEnabled ()
Синтаксис:
isDisplayed ():
логічний buttonPresence = driver.findElement (By.id ( 'Вірте' )). isDisplayed ();
isSelected ():
логічний buttonSelected = driver.findElement (By.id ( 'Вірте' )). isSelected ();
isEnabled ():
логічний searchIconEnabled = driver.findElement (By.id ( 'Gbqfb' )). isEnabled ();
Q # 23) Як ми можемо отримати текст веб-елемента?
Команда Get використовується для отримання внутрішнього тексту зазначеного веб-елемента. Команда не вимагає жодного параметра, але повертає значення рядка. Це також одна з широко використовуваних команд для перевірки повідомлень, міток, помилок тощо, що відображаються на веб-сторінках.
Синтаксис:
Текст рядка = driver.findElement (By.id (“Текст”)). GetText ();
Q # 24) Як вибрати значення у випадаючому списку?
Значення у спадному меню можна вибрати за допомогою класу Select WebDriver.
Синтаксис:
selectByValue:
Виберіть selectByValue = новий Виберіть ( водій .findElement (By.id ( “SelectID_One” )));
selectByValue.selectByValue ( “Greenvalue” );
selectByVisibleText:
Виберіть selectByVisibleText = новий Виберіть ( водій .findElement (By.id ( “SelectID_Two” )));
selectByVisibleText.selectByVisibleText ( “Вапно” );
selectByIndex:
Виберіть selectByIndex = новий Виберіть ( водій .findElement (By.id ( “SelectID_Three” )));
selectByIndex.selectByIndex (2);
Q # 25) Які існують різні типи навігаційних команд?
Нижче наведено навігаційні команди :
navigate (). back () - Вищенаведена команда не вимагає параметрів і повертає користувача на попередню веб-сторінку в історії веб-браузера.
Зразок коду:
driver.navigate (). back ();
navigate (). forward () - Ця команда дозволяє користувачеві перейти до наступної веб-сторінки з посиланням на історію браузера.
Зразок коду:
driver.navigate (). forward ();
navigate (). refresh () - Ця команда дозволяє користувачеві оновити поточну веб-сторінку там, перезавантаживши всі веб-елементи.
Зразок коду:
driver.navigate (). refresh ();
navigate (). to () - Ця команда дозволяє користувачеві запустити нове вікно веб-браузера та перейти до вказаної URL-адреси.
Зразок коду:
driver.navigate (). to (“https://google.com”);
Q # 26) Як натиснути гіперпосилання за допомогою linkText?
водій .findElement (By.linkText ( “Google” )). натисніть ();
Команда знаходить елемент за допомогою тексту посилання, а потім клацає на цьому елементі, і таким чином користувач буде перенаправлений на відповідну сторінку.
До вищезгаданого посилання також можна отримати доступ за допомогою наступної команди.
водій .findElement (By.partialLinkText ( “Goo” )). натисніть ();
Вищевказана команда знаходить елемент на основі підрядка посилання, передбаченого в дужках, і, отже, partLinkText () знаходить веб-елемент із зазначеним підрядком, а потім клацає по ньому.
Q # 27) Як обробляти фрейм у WebDriver ?
Вбудована абревіатура кадру як iframe використовується для вставки іншого документа в поточний документ HTML або просто веб-сторінки у веб-сторінку, дозволяючи вкладання.
Виберіть iframe за ідентифікатором
водій .switchTo (). frame ( ' Ідентифікатор кадру ' );
Пошук iframe за допомогою tagName
driver.switchTo (). frame (driver.findElements (By.tagName (“iframe”). get (0));
Розташування iframe за допомогою індексу
кадр (індекс)
driver.switchTo (). frame (0);
frame (Назва кадру)
driver.switchTo (). frame (“назва кадру”);
фрейм (елемент WebElement)
Виберіть батьківське вікно
driver.switchTo (). defaultContent ();
Q # 28) Коли ми використовуємо findElement () та findElements ()?
findElement (): findElement () використовується для пошуку першого елемента на поточній веб-сторінці, що відповідає вказаному значенню локатора. Зверніть увагу, що буде завантажено лише перший відповідний елемент.
Синтаксис:
Елемент WebElement = водій .findElements (By.xpath ( '// div [@ id = 'example'] // ul // li' ));
findElements (): findElements () використовується для пошуку всіх елементів на поточній веб-сторінці, що відповідають вказаному значенню локатора. Зверніть увагу, що всі відповідні елементи будуть завантажені та збережені у списку WebElements.
Синтаксис:
Список elementList = водій .findElements (By.xpath ( '// div [@ id = 'example'] // ul // li' ));
Q # 29) Як знайти більше одного веб-елемента у списку?
Іноді ми можемо зустріти елементи одного типу, такі як кілька гіперпосилань, зображень тощо, розташованих у впорядкованому чи невпорядкованому списку. Таким чином, має абсолютно сенс мати справу з такими елементами за допомогою одного шматка коду, і це можна зробити за допомогою WebElement List.
Зразок коду
// Storing the list List elementList = driver.findElements(By.xpath('//div[@id='example']//ul//li')); // Fetching the size of the list int listSize = elementList.size(); for (int i=0; i Q # 30) Яка різниця між командою driver.close () та driver.quit?
закрити () : Метод close () WebDriver закриває вікно веб-браузера, над яким зараз працює користувач, або ми також можемо сказати вікно, до якого в даний момент здійснює доступ WebDriver. Команда не вимагає жодного параметра і не повертає жодного значення.
вийти () : На відміну від методу close (), метод quit () закриває всі вікна, які програма відкрила. Як і метод close (), команда не вимагає жодного параметра, а також не повертає жодного значення.
Q # 31) Чи може Selenium обробляти спливаючі вікна на основі вікон?
Селен - це засіб автоматичного тестування, який підтримує лише тестування веб-додатків. Тому спливаючі вікна неможливо обробити за допомогою Selenium.
Запитання № 32) Як ми можемо обробляти спливаючі вікна через Інтернет?
WebDriver пропонує користувачам дуже ефективний спосіб обробляти ці спливаючі вікна за допомогою інтерфейсу попередження . Є чотири методи, які ми використовували б разом із інтерфейсом сповіщення.
що таке SWF-файл?
- void dismiss () - метод dismiss () натискає кнопку «Скасувати», як тільки з’являється спливаюче вікно.
- void accept () - метод accept () натискає кнопку “Ok”, як тільки з’являється спливаюче вікно.
- String getText () - метод getText () повертає текст, що відображається у вікні попередження.
- void sendKeys (String stringToSend) - метод sendKeys () вводить вказаний рядок у вікно попередження.
Синтаксис:
// приймаємо попередження javascript
Оповіщення попередження = driver.switchTo (). Alert ();
alert.accept ();
Q # 33) Як ми можемо обробляти спливаючі вікна на основі Windows?
Селен - це інструмент автоматичного тестування, який підтримує лише тестування веб-додатків, тобто він не підтримує тестування програм на базі Windows. Однак сам по собі селен не може допомогти ситуації, але поряд із втручанням третьої сторони цю проблему можна подолати. Є кілька сторонніх інструментів, доступних для обробки спливаючих вікон на основі вікон, поряд із селеном, таких як AutoIT, клас Robot тощо.
Q # 34) Як затвердити заголовок веб-сторінки?
// перевірка назви веб-сторінки
assertTrue («Заголовок вікна неправильний.», driver.getTitle (). дорівнює («Заголовок сторінки»));
Q # 35) Як навести курсор миші на веб-елемент за допомогою WebDriver?
WebDriver пропонує широкий спектр утиліт взаємодії, які користувач може використовувати для автоматизації подій миші та клавіатури. Action Interface - одна з таких утиліт, яка імітує взаємодію одного користувача.
Таким чином, у наступному сценарії ми використовували Action Interface для наведення курсору миші на спадне меню, яке потім відкриває список параметрів.
Зразок коду:
// Instantiating Action Interface Actions actions=new Actions(driver); // howering on the dropdown actions.moveToElement(driver.findElement(By.id('id of the dropdown'))).perform(); // Clicking on one of the items in the list options WebElement subLinkOption=driver.findElement(By.id('id of the sub link')); subLinkOption.click();
Q # 36) Як отримати властивості CSS елемента?
Значення властивостей css можна отримати за допомогою методу get ():
Синтаксис:
driver.findElement (By.id ( “Ідентифікатор “)). GetCssValue ( “Назва атрибута css” );
driver.findElement (By.id ( “Ідентифікатор “)). GetCssValue ( 'розмір шрифту' );
Q # 37) Як зробити знімок екрана у WebDriver?
import org.junit.After; import org.junit.Before; import org.junit.Test; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class CaptureScreenshot { WebDriver driver; @Before public void setUp() throws Exception { driver = new FirefoxDriver(); driver.get('https://google.com'); } @After public void tearDown() throws Exception { driver.quit(); } @Test public void test() throws IOException { // Code to capture the screenshot File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); // Code to copy the screenshot in the desired location FileUtils.copyFile(scrFile, new File('C:\CaptureScreenshot\google.jpg')) } }
Q # 38) Що таке Джуніт?
Джуніт - це модульна система тестування, представлена Apache. Junit базується на Java.
Q # 39) Що таке анотації Junit?
Нижче наведено анотації JUnit:
- @ Тест: Анотація дозволяє системі знати, що метод, позначений як @Test, є тестовим методом. В одному тестовому сценарії може бути кілька методів тестування.
- @ До: Метод, позначений як @Before, повідомляє системі, що цей метод повинен виконуватися щоразу перед кожним із методів тестування.
- @Після: Метод із позначкою @After повідомляє системі, що цей метод повинен виконуватися щоразу після кожного тестового методу.
- @BeforeClass: Метод, позначений як @BeforeClass, повідомляє системі, що цей метод повинен бути виконаний один раз перед будь-яким із методів тестування.
- @Після занять: Метод, позначений як @AfterClass, повідомляє системі, що цей метод повинен бути виконаний один раз після будь-якого з методів тестування.
- @ Ігнорувати: Метод, позначений як @Ignore, повідомляє системі, що цей метод не повинен виконуватися.
Q # 40) Що таке TestNG і чим він кращий за Junit?
ТестNG це вдосконалений фреймворк, розроблений таким чином, щоб використовувати переваги як розробників, так і тестувальників. З початком створення фреймворків JUnit набув величезної популярності серед програм Java, розробників Java та тестувальників Java, що надзвичайно підвищило якість коду. Незважаючи на те, що JUnit є простим у використанні та зрозумілим, у нього є свої обмеження, які спричиняють необхідність залучення TestNG до зображення. TestNG - це фреймворк з відкритим кодом, який поширюється під ліцензією програмного забезпечення Apache і легко доступний для завантаження.
TestNG із WebDriver забезпечує ефективний та ефективний формат результатів тестування, який, у свою чергу, може бути наданий зацікавленим сторонам, щоб мати змогу поглянути на стан продукту / програми, усуваючи тим самим недолік нездатності WebDriver створювати звіти про тестування. TestNG має вбудований механізм обробки винятків, який дозволяє програмі працювати без несподіваного завершення роботи.
Існують різні переваги, завдяки яким TestNG перевершує JUnit. Деякі з них:
- Додано заздалегідь та прості анотації
- Шаблони виконання можна встановити
- Одночасне виконання тестових скриптів
- Можна встановити залежності тестового випадку
Q # 41) Як встановити пріоритет тестового випадку в TestNG?
Встановлення пріоритету в TestNG
Фрагмент коду
package TestNG; import org.testng.annotations.*; public class SettingPriority { @Test(priority=0) public void method1() { } @Test(priority=1) public void method2() { } @Test(priority=2) public void method3() { } }
Послідовність виконання тесту:
- Метод1
- Метод2
- Метод3
Q # 42) Що таке фреймворк?
Структура являє собою конструктивне поєднання різних керівних принципів, стандартів кодування, концепцій, процесів, практик, ієрархій проектів, модульності, механізму звітування, введення даних тестування тощо до тестування автоматизації стовпів.
Q # 43) Які переваги фреймворку автоматизації?
Перевага Тестова система автоматизації
- Багаторазове використання коду
- Максимальне покриття
- Сценарій відновлення
- Недороге обслуговування
- Мінімальне ручне втручання
- Простота звітування
Q # 44) Які існують різні типи фреймворків?
Нижче наведені різні типи фреймворків:
- Модульна база тестування: Фреймворк розділяє всю “Тестова програма” на кількість логічних та ізольованих модулів. Для кожного модуля ми створюємо окремий та незалежний тестовий сценарій. Таким чином, коли ці тестові скрипти беруться разом, будується більший тестовий скрипт, що представляє більше одного модуля.
- Структура тестування архітектури бібліотеки: Основною основою фреймворку є визначення загальних кроків та групування їх у функції в бібліотеці та виклик цих функцій у тестових скриптах, коли це потрібно.
- Структура тестування на основі даних: Структура тестування на основі даних допомагає користувачеві розділити логіку тестового сценарію та тестові дані один від одного. Це дозволяє користувачеві зберігати тестові дані у зовнішній базі даних. Дані зазвичай зберігаються в парах «ключ-значення». Таким чином, ключ можна використовувати для доступу та заповнення даних у тестових скриптах.
- Структура тестування на основі ключових слів: Тестова структура, керована ключовими словами, є розширенням Тестової платформи, керованої даними, в тому сенсі, що вона не тільки відокремлює тестові дані від сценаріїв, але й зберігає певний набір коду, що належить тестовому сценарію, у зовнішній файл даних.
- Структура гібридного тестування: Структура гібридного тестування - це поєднання більш ніж однієї з вищезазначених платформ. Найкраще в такій установці полягає в тому, що вона використовує переваги всіх видів пов'язаних фреймворків.
- Структура розвитку, керована поведінкою: Структура, що керується поведінкою, дозволяє автоматизувати перевірку функціональності у легко читаному та зрозумілому форматі для бізнес-аналітиків, розробників, тестувальників тощо.
Q # 45) Як я можу прочитати тестові дані з Excel?
Дані тесту можна ефективно прочитати з Excel за допомогою JXL або POI API. Дивіться докладний підручник тут .
Q # 46) У чому різниця між POI та jxl jar?
# JXL банка POI jar 1 JXL підтримує формат .xls, тобто бінарний формат. JXL не підтримує Excel 2007 та формат .xlsx, тобто формат на основі XML POI jar підтримує всі ці формати два API JXL востаннє оновлено у 2009 році POI регулярно оновлюється та випускається 3 Документація JXL не така вичерпна, як документація POI POI має добре підготовлену та вичерпну документацію 4 JXL API не підтримує форматування форматованого тексту POI API підтримує форматування насиченого тексту 5 JXL API швидший, ніж API POI POI API повільніший, ніж JXL API
Q # 47) У чому різниця між селеном та QTP?
Особливість Селен Професіонал швидкого тестування (QTP) Сумісність браузера Селен підтримує майже всі популярні браузери, такі як Firefox, Chrome, Safari, Internet Explorer, Opera тощо QTP підтримує Internet Explorer, Firefox та Chrome. QTP підтримує лише операційну систему Windows Поширення Селен поширюється як інструмент з відкритим кодом і знаходиться у вільному доступі QTP поширюється як ліцензований інструмент і комерціалізується Заявка під тестом Селен підтримує тестування лише веб-програм QTP підтримує тестування як веб-додатків, так і додатків на базі Windows Сховище об’єктів Сховище об’єктів потрібно створити як окрему сутність QTP автоматично створює та підтримує сховище об'єктів Мовна підтримка Селен підтримує різні мови програмування, такі як Java, C #, Ruby, Python, Perl тощо QTP підтримує лише сценарій VB Підтримка постачальника Оскільки Selenium - це безкоштовний інструмент, користувач не отримає підтримки постачальника у вирішенні проблем Користувачі можуть легко отримати підтримку постачальника у разі виникнення будь-якої проблеми
Q # 48) Чи може WebDriver протестувати мобільні програми?
WebDriver не може перевірити мобільні програми. WebDriver - це веб-засіб тестування, тому програми для мобільних браузерів можуть бути протестовані.
Q # 49) Чи можна автоматизувати капчу?
Ні, captcha та зчитувач штрих-кодів не можуть бути автоматизовані.
Q # 50) Що таке сховище об’єктів? Як ми можемо створити сховище об’єктів у Selenium?
Репозиторій об’єктів - це термін, що використовується для позначення колекції веб-елементів, що належать до програми, що тестується (AUT), а також їх значень локатора. Таким чином, коли елемент потрібен у сценарії, значення локатора може бути заповнене із сховища об’єктів. Репозиторій об'єктів використовується для зберігання локаторів у централізованому місці, а не для жорсткого кодування їх у сценаріях.
У Selenium об'єкти можуть зберігатися на аркуші Excel, який можна заповнювати всередині сценарію, коли це потрібно.
Це все, що на даний момент.
Сподіваюся, у цій статті ви знайдете відповіді на найпоширеніші запитання щодо інтерв’ю щодо селену та WebDriver. Наведені тут відповіді також корисні для розуміння основ Selenium та розширених тем WebDriver.
Чи є у вас запитання щодо інтерв’ю Selenium, на які тут немає відповіді? Будь ласка, повідомте нас у коментарях нижче, і ми спробуємо відповісти на всі.
=> На цьому закінчується не лише ця стаття, а й повна наша серія навчальних курсів щодо селену. Перевірте перелік ВСІХ 30+ підручників, перелічених на цій сторінці . Будь ласка, повідомте нам свої коментарі та запитання.
Рекомендована література
- Запитання та відповіді на інтерв’ю
- Запитання для інтерв’ю у Spock (найпопулярніші)
- Запитання та відповіді на інтерв’ю для тестування ETL
- Підручник з огірка селену: інтеграція огірка Java Selenium WebDriver
- Поширені запитання щодо селену
- Інтеграція селену з JMeter
- Вступ до Selenium WebDriver - Підручник з селену №8
- 50 найкращих запитань та відповідей на інтерв’ю CCNA