Селен не дає зрозуміти, що таке QTP? Вона улюблена серед програмістів, але є великою перешкодою для новачків у тестуванні.
Що таке селен? Що таке селен RC? Що таке Webdriver? Який зв'язок між RC і Webdriver? Який зв'язок між Webdriver і мовами програмування? Чи може Selenium виконувати скрипти паралельно?
Тут майстер комах просто розповідає, що їхні складні стосунки складні. Виправити стосунки між ними, щоб справді це використовувати.
Що таке селен?
Selenium — це набір інструментів для тестування веб-автоматизації, який включає IDE, Grid, RC (селен 1.0), WebDriver (селен 2.0) тощо. Selenium IDE — це плагін для браузера Firefox. Забезпечте прості функції запису, редагування та відтворення скриптів. Селенова сітка використовується для розподілу тестових кроків. Зараз він інтегрований у Selenium Server. RC і WebDriver слід розглядати скоріше як набір специфікацій, які визначають протоколи для взаємодії кроків клієнта з браузером. та інтерфейс для позиціонування елементів і маніпуляції.
Що таке WebDriver? Студентам, які вперше знайомі з автоматизованим тестуванням на селен, нелегко зрозуміти, що таке API і як він пов'язаний із мовами програмування.
http://www.w3.org/TR/2013/WD-webdriver-20130117/
Коли я вперше вивчав Selenium (WebDriver), мені знадобився тиждень, щоб перекласти цей документ, але я не розумів, що це таке. Насправді це базова специфікація протоколу. Наприклад, API Webdriver каже, що потрібно надати метод для пошуку ID елементів сторінки.
Як Webdriver організовує та виконує кейси використання?
Вибачте, Webdriver — ні.
Організація методів (кейсів використання) для маніпуляції цими елементами сторінки та введення результатів тесту здійснюється за допомогою фреймворку юніт-тестування мови програмування. Наприклад, фреймворки для модульного тестування Junit і TestNG на Java, фреймворк UnitTest для модульного тестування Python тощо.
Який зв'язок між Selenium RC і WebDriver?
RC і WebDriver схожі тим, що їх можна розглядати як набір специфікацій для роботи веб-сторінок. Звісно, вони працюють по-різному.
selenium RC запускає додаток Javascrip{filter}t у браузері, застосовуючи вбудований у браузер перекладач Javascrip{filter}t для перекладу та виконання селенових команд (selenese — це колекція команд selenium).
WebDriver керує браузером безпосередньо через вбудовану підтримку браузера або розширення браузера. WebDriver розроблений для окремих браузерів і замінює Javascrip{filtering}t, вбудований у тестований веб-додаток. Тісна інтеграція з браузерами дозволяє створювати більш просунуті тести, уникаючи обмежень, спричинених моделлю безпеки Javascrip{filtering}t. Окрім підтримки від виробників браузерів, WebDriver також використовує виклики на рівні ОС для імітації введення користувача.
Схоже, Webdriver трохи кращий. Для підтримки сумісності RC і вебдрайвер співіснують у селені 2.0, але селен 2.0 зазвичай означає вебдрайвер.
Різниця між паралельним і розподіленим
Деяких студентів цікавить, як виконувати тестові випадки паралельно, а паралелізм вимагає виконання кількох сценаріїв використання «одночасно», що також реалізується завдяки багатопотоковій технології мов програмування.
Хіба Selenium Grid не здатна до розподіленого виконання, запитаєте ви? Концепція дистрибуції полягає в написанні кейсу, який можна виконати на різних платформах, наприклад, тестовий кейс на комп'ютері A, можна викликати браузер Firefox комп'ютера B (linux) для запуску тест-кейсу на комп'ютері A; Ви також можете викликати браузер Chrome на комп'ютері C (Windows), щоб запустити тестовий кейс на комп'ютері A. Це концепція розподілу.
|