Селеновий веб-драйвер з Python: Підручник із прикладом

Зміст:

Anonim

Селен підтримує Python і, отже, може бути використаний як Selenium WebDriver з Python для тестування.

  • Python простий у порівнянні з іншими мовами програмування, маючи набагато менше багатослів'я.
  • API Python надає вам можливість зв’язуватися з браузером за допомогою Selenium.
  • Селен надсилає стандартні команди Python різним браузерам, незважаючи на різницю в дизайні їх браузера.

Ви можете запускати Selenium зі сценаріями Python для Firefox, Chrome, IE тощо в різних операційних системах.

У цьому підручнику з Selenium Python ви дізнаєтесь-

  • Що таке Python?
  • Що таке селен?
  • Чому обирати Python замість Java у Selenium
  • Як встановити та налаштувати PyDev в Eclipse
  • Як створити тестові сценарії в селені за допомогою Python

Що таке Python?

Python - це об’єктно-орієнтована мова сценаріїв високого рівня. Він розроблений зручно. Python використовує прості англійські ключові слова, які легко інтерпретувати. Він має менше синтаксичних ускладнень, ніж будь-які інші мови програмування.

Див. Деякі приклади в таблиці нижче.

Ключове слово Значення Використання
elif В іншому випадку В іншому випадку
ще Інакше якщо: X; elif: Y; ще: Дж
крім зробіть це, якщо трапиться виняток, крім ValueError, a: надрукувати a
викон Запустити рядок як Python exec 'print "привіт світ!"

Що таке селен?

Селен - це інструмент для тестування вашого веб-додатку. Наприклад, це можна зробити різними способами

  • Дозвольте йому натискати кнопки
  • Введіть вміст у структури
  • Зніміть сайт, щоб перевірити, чи все в порядку і так далі.

Чому обирати Python замість Java у Selenium

Кілька пунктів, які віддають перевагу Python перед Java для використання з Selenium, це,

  1. Програми Java працюють повільніше порівняно з програмами Python.
  2. Java використовує традиційні фігурні дужки для запуску та закінчення блоків, тоді як Python використовує відступи.
  3. Java використовує статичне введення тексту, тоді як Python динамічно набирається.
  4. Python простіший і компактніший порівняно з Java.

Як встановити та налаштувати PyDev в Eclipse

PyDev - середовище розробки Python для Eclipse.

Крок 1) Потрапив на Eclipse Marketplace. Довідка> Встановити нове програмне забезпечення

Наступним кроком є ​​встановлення "pydev IDE" для eclipse.

Крок 2) На цьому кроці

  1. Шукайте "http://pydev.org/updates" у розділі Робота з, а потім
  2. Виділіть усі перелічені елементи та двічі натисніть Далі
  3. Прийміть ліцензійну угоду та натисніть кнопку Готово.

Крок 3) Ви можете зіткнутися з Попередженням про безпеку, натисніть "В будь-якому випадку встановити".

Крок 4) Тепер , в цьому кроці буде задавати бажані. За допомогою опції налаштування ви можете використовувати Python відповідно до потреб проекту.

Перейдіть до Вікна> Налаштування> PyDev> Інтерпретатор> Інтерпретатор Python.

Давайте встановимо інтерпретатор Python за замовчуванням. Це так само, як вам потрібно встановити компілятор Java для запуску коду Java. Щоб змінити ім'я інтерпретатора, натисніть кнопку "Переглянути python / pypy exe".

Крок 5) На цьому кроці вкажіть "ім'я інтерпретатора" та шлях до файлу "exe" Python.

  1. Клацніть на "Огляд" і знайдіть python.exe, де ви встановили Python.
  2. Натисніть кнопку "OK".
  3. Виділіть всю папку та натисніть OK
  4. Клацніть на "Застосувати та закрити".

Крок 6) Створіть новий проект на Python. На цьому кроці

  1. Клацніть правою кнопкою миші Провідник пакетів PyDev> Створити.
  2. Виберіть варіант інші.

  1. Виберіть "PyDev> Проект PyDev".
  2. Натисніть кнопку "Далі".

  1. Назвіть свій проект
  2. Клацніть «Готово».

Ви бачите, як створено новий проект Python (PyDev).

Крок 7) На цьому кроці

Після створення «Проекту PyDev» ви створите новий пакет Python.

  1. Клацніть правою кнопкою миші на Проект> Створити> Пакет PyDev.
  2. Назвіть свій пакет та натисніть Готово.

Крок 8) Якщо ви бачите на знімку екрана нижче, створюється новий пакет.

Після створення нового пакета наступним кроком є ​​створення модуля PyDev. Модуль містить деякі файли Python для ініціалізації. Ці файли або функції з модуля можна імпортувати в інший модуль. Отже, не буде потреби повторно писати програму знову.

Крок 9) Створіть новий модуль PyDev. Клацніть правою кнопкою миші на пакет> Створити> Модуль PyDev.

Назвіть свій модуль і натисніть "Готово".

Виберіть Порожній шаблон і натисніть "OK".

Крок 10) Напишіть свій код для селену за допомогою Python, як показано нижче

Як створити тестові сценарії в селені за допомогою Python

У цьому прикладі Selenium WebDriver з Python ми зробили автоматизацію "сторінки входу в Facebook" за допомогою драйвера Firefox.

Приклад 1 селену Python: Увійдіть у Facebook

з веб-драйвера для імпорту селенуз selenium.webdriver.common.keys імпорту ключівuser_name = "ВАШ EMAILID"password = "ВАШ ПАРОЛЬ"драйвер = webdriver.Firefox ()driver.get ("https://www.facebook.com")element = driver.find_element_by_id ("електронна пошта")element.send_keys (ім'я користувача)element = driver.find_element_by_id ("пропуск")element.send_keys (пароль)element.send_keys (Keys.RETURN)element.close ()

Знімок коду

Пояснення коду

  • Рядок коду 1 : Із модуля селену імпортуйте веб-драйвер
  • Рядок коду 2 : Із ключів імпорту модуля селену
  • Рядок коду 3 : Користувач - це змінна, яка буде використовуватися нами для зберігання значень імені користувача.
  • Рядок коду 4 : Змінна "пароль" буде використана для зберігання значень пароля.
  • Рядок коду 5 : У цьому рядку ми ініціалізуємо "FireFox", створюючи його об'єкт.
  • Рядок коду 6 : "Метод driver.get" перейде на сторінку, вказану за URL-адресою. WebDriver зачекає, поки сторінка повністю не завантажиться (тобто випадок "завантаження" відпуститься), перш ніж повернути контроль до тесту або сценарію.
  • Рядок коду 7 : У цьому рядку ми знаходимо елемент текстового поля, де має бути написаний "електронний лист".
  • Рядок коду 8 : Тепер ми надсилаємо значення до розділу електронної пошти
  • Рядок коду 9 : Те саме для пароля
  • Рядок коду 10 : Надсилання значень до розділу пароля
  • Рядок коду 11 : element.send_keys (Keys.RETURN) використовується для натискання клавіші Enter після вставки значень
  • Рядок коду 12 : Закрити

ВИХІД

Введено значення імені користувача "guru99" та пароля.

Сторінка Facebook увійде в систему за допомогою електронної пошти та пароля. Сторінку відкрито (див. Зображення нижче)

ПРИКЛАД 2: Увійдіть у Facebook і перевірте заголовок

У цьому прикладі

  • Ми відкриємо сторінку входу.
  • Заповніть обов’язкові поля «ім’я користувача» та «пароль».
  • Перевірте заголовок сторінки
з веб-драйвера для імпорту селенуз selenium.webdriver.support.ui імпортувати WebDriverWait# Крок 1) Відкрийте Firefoxбраузер = webdriver.Firefox ()# Крок 2) Перейдіть до Facebookbrowser.get ("http://www.facebook.com")# Крок 3) Шукайте та введіть поле електронної пошти або телефону та введіть парольusername = browser.find_element_by_id ("електронна пошта")password = browser.find_element_by_id ("пройти")submit = browser.find_element_by_id ("кнопка входу")username.send_keys ("ВАШ Е-МАЙЛИД")password.send_keys ("ВАШ ПАРОЛЬ")# Крок 4) Натисніть Увійтиsubmit.click ()wait = WebDriverWait (браузер, 5)page_title = browser.titleутвердити page_title == "Facebook"

Знімок коду

Пояснення коду:

  • Кодовий рядок 1-2: Імпортуйте пакети селену
  • Рядок коду 4: Ініціалізуйте Firefox, створивши об’єкт
  • Рядок коду 6: Отримати сторінку входу (Facebook)
  • Рядок коду 8-10: Виберіть ім’я користувача, поля для введення пароля та кнопку подання.
  • Рядок коду 11-12: Введіть дані у поля для введення імені користувача та пароля
  • Рядок коду 14: Клацніть на кнопку "Надіслати"
  • Рядок коду 15: Створіть об'єкт очікування з таймаутом 5 сек.
  • Рядок коду 16: Захоплення заголовка з об’єкта "браузер".
  • Кодовий рядок 17: Тестування захопленого рядка заголовка за допомогою "Facebook"

Короткий зміст :

  • Селен - це веб-інструмент автоматизації з відкритим кодом.
  • Мова Python використовується з Selenium для тестування. Він має набагато менше багатослів'я та простий у використанні, ніж будь-яка інша мова програмування
  • API Python надає вам можливість зв’язуватися з браузером за допомогою Selenium
  • Селен може надсилати стандартні команди Python різним браузерам, незважаючи на різницю в дизайні їх браузера.