selenium python tutorial
У цьому підручнику з Selenium Python навчіться кодувати та виконувати тестовий сценарій Selenium за допомогою мови програмування Python у різних веб-браузерах:
За останні 5 років мова Python продемонструвала експоненціальне зростання в галузі, головним чином тому, що вона проста і легка у вивченні. Селен - один із найбільш широко використовуваних засобів тестування автоматизованих систем з відкритим кодом.
Тепер розгляньте можливість поєднання селену з Python і уявіть, наскільки міцною може стати система автоматизації.
запитання та відповіді на співбесіду довідкової служби
Рекомендована література => Python , Селен
У цьому підручнику ми дізнаємося, як встановити Python, пов’язавши бібліотеки Selenium з Python, як встановити та налаштувати PyCharm IDE. Наприкінці цього підручника ви зможете кодувати та виконувати тестовий сценарій Selenium, використовуючи мову програмування Python у різних веб-браузерах.
Що ви дізнаєтесь:
- Встановлення Python
- Встановіть бібліотеки селену за допомогою Python
- Що таке PIP
- Завантажте та встановіть Python IDE
- Конфігурація селену в PyCharm
- Додавання драйверів до PyCharm
- Перша програма з використанням селену Python
- Запуск програми
- Поширені запитання про Selenium Python
- Висновок
- Рекомендована література
Встановлення Python
Встановити Python досить просто. Клацніть тут і завантажте останню версію. Це дасть вам файл .exe. Встановити з усіма налаштуваннями за замовчуванням.
>> Клацніть тут для покрокових деталей процесу встановлення.
Встановіть бібліотеки селену за допомогою Python
Під час встановлення Python бібліотеки Selenium не встановлюються за замовчуванням. Але щоб перевірити, чи бібліотеки Selenium вже є у вашому Python, відкрийте командний рядок, перейдіть до шляху, де встановлено Python, і введіть “ піп-список “. Ця команда перелічить усі бібліотеки, які зараз доступні у вашому Python.
Що таке PIP
PIP розшифровується як Preferred Installer Program. Це популярний менеджер пакетів, який використовується для встановлення програмних пакетів, написаних на Python. PIP встановлюється за замовчуванням разом з Python. Тепер, щоб прив'язати / встановити всі необхідні бібліотеки Selenium за допомогою Python, нам потрібно виконати команду
pip встановити селен
Після виконання команди бібліотеки Selenium будуть завантажені та встановлені.
Тепер перевірте бібліотеки Selenium за допомогою піп-список команди.
Завантажте та встановіть Python IDE
Для написання та виконання скриптів або програм нам потрібна IDE. Отже, вибір того самого стає дуже важливим. PyCharm - одна з найбільш бажаних IDE, особливо для мови Python. Для завантаження PyCharm натисніть тут і завантажте спільне видання, яке є безкоштовним та відкритим.
(зображення джерело )
Це дасть вам файл .exe. Продовжуйте встановлення з усіма налаштуваннями за замовчуванням.
Конфігурація селену в PyCharm
Після успішного встановлення перейдіть до пошуку вікон та введіть PyCharm, і ви повинні побачити версію спільноти PyCharm, як показано на зображенні нижче. Клацніть на ньому, щоб відкрити PyCharm.
Перш ніж писати будь-який код, нам потрібно спочатку налаштувати бібліотеки Selenium у PyCharm.
Існує 2 способи налаштування селену для проекту в PyCharm. Вони такі:
# 1) Використання доступної опції Packages у PyCharm.
Коли ви вперше відкриваєте PyCharm, ви перейдете до вікна Створити новий проект.
Клацніть на Створити новий проект. За замовчуванням назва проекту приймається як без назви. Введіть відповідну назву проекту. Клацніть на Створити.
Примітка: Ви можете змінити місце розташування проекту.
Ваш проект буде створений успішно. Щоб перевірити, чи налаштовані бібліотеки Selenium, перейдіть до Файл -> Налаштування . На сторінці налаштування перейдіть на Проект -> Інтерпретатор проекту .
Під пакетами ви повинні бачити пакет Selenium. Якщо цього немає, натисніть ' + Кнопка в правому куті. У списку доступних пакетів знайдіть селен і натисніть Встановити пакет. Тепер перевірте, чи встановлений пакет Selenium.
# 2) Використання опції Inherit from global site-пакети
Цей спосіб досить простий. Йти до Файл-> Новий проект . Під час створення нового проекту виберіть “ Успадковуйте глобальні пакети сайтів ”Прапорець. Після створення проекту перейдіть до Файл -> Налаштування-> Проект -> Інтерпретатор проекту , ви зможете побачити вже встановлений пакет Selenium.
Додавання драйверів до PyCharm
Щоб автоматизувати будь-яку веб-програму, нам потрібно мати веб-браузер і вказати, на якому браузері виконувати сценарії, нам потрібні драйвери для цього конкретного браузера. Доступні всі драйвери веб-браузерів тут . Відкрийте веб-сторінку та перейдіть до браузера.
Натисніть на документація для необхідних браузерів і виберіть стабільну версію драйвера.
Щоб завантажити Chrome : Перейдіть до документації Chrome і натисніть «Поточний стабільний випуск» у розділі «Всі версії, доступні у програмі« Завантаження »та завантажте zip-файл, відповідний вашій ОС.
Приклад: “Chromedriver_win32.zip” для Windows.
Щоб завантажити Firefox: Перейдіть до документації Firefox, натисніть випуски geckodriver і прокрутіть вниз, щоб знайти драйвери для всіх операційних систем.
Приклад: для Windows 64 виберіть geckodriver-v0.26.0-win64.zip.
Щоб завантажити Microsoft Edge: Перейдіть до документації Edge. Це відкриє безпосередньо сторінку драйвера в розділі Завантаження. Приклад: x64 для 64-розрядної ОС Windows
Перша програма з використанням селену Python
Тепер PyCharm готовий прийняти та виконати код Selenium. Щоб бути добре організованими, ми створимо 2 каталоги (каталог схожий на папку). Ми використовуватимемо один каталог для розміщення всіх тестових скриптів, назвемо його «Основним», а інший каталог - для розміщення всіх драйверів веб-браузера, назвемо його «Драйвер».
Клацніть правою кнопкою миші на проекті та створіть новий каталог, як показано на малюнку нижче:
У головному каталозі створіть новий файл Python. Це створить файл .py та відкриє редактор.
Тепер скопіюйте витягнутий драйвер .exe, для приклад, Chromedriver.exe і вставте файл у каталог Drivers.
Тепер ми готові написати свій перший код автоматизації за допомогою Selenium Webdriver з Python.
Спершу визначимо кроки, яких слід досягти за допомогою автоматизації, у таблиці нижче.
char до рядка c ++
Крок | Дія | Очікуваний результат |
---|---|---|
7 | Введіть ім’я користувача та пароль | Ім'я користувача та Пароль слід прийняти |
1 | Відкрийте браузер Chrome | Браузер Chrome повинен успішно запуститися |
два | Перейдіть на сторінку www.google.com | Веб-сторінку Google слід відкрити |
3 | Розгорніть вікно браузера | Вікно браузера має бути розгорнуте максимально |
4 | Введіть логін LinkedIn у текстовому полі Google | Слід ввести правильний текст |
5 | Натисніть клавішу Enter | Сторінка пошуку повинна відображатися з належним результатом |
6 | Клацніть на URL-адресу входу LinkedIn | З'явиться сторінка входу в LinkedIn |
8 | Клацніть на кнопку Вхід | Повинна відображатися домашня сторінка LinkedIn |
9 | Перевірте заголовок сторінки | LinkedIn повинен відображатися на консолі |
10 | Перевірте поточну URL-адресу сторінки | https://www.linkedin.com/feed/ має відображатися на консолі |
одинадцять | Закрийте браузер | Вікно браузера слід закрити |
Для досягнення згаданого сценарію ми будемо використовувати деякі часто використовувані команди Selenium Python.
Селен. Веб-драйвер пакунок забезпечує всі реалізації Webdriver. Тому нам потрібно доручити Python імпортувати Webdriver із Selenium. Клас Keys дозволяє нам використовувати клавіші на клавіатурі, такі як ENTER, ALT тощо.
from selenium import Webdriver from selenium.webdriver.common.keys import Keys
# 1) Відкрийте браузер Chrome
Щоб відкрити будь-який браузер, нам потрібно створити екземпляр цього конкретного браузера. У цьому прикладі давайте створимо екземпляр Chrome Webdriver, а також згадаємо місцезнаходження Chromedriver.exe. Нещодавно ми завантажили та витягли всі драйвери браузера та помістили їх у каталог Driver у нашому PyCharm.
Клацніть правою кнопкою миші на Chromedriver.exe і Скопіюйте Абсолютний Шлях та вставте команду Webdriver, як зазначено нижче.
driver = Webdriver.chrome('C:UsersAdminPyCharmProjectsSeleniumTestDriverschromedriver.exe')
# 2) Перейдіть на сторінку www.google.com
driver.get метод перейде на сторінку, згадану URL-адресою. Потрібно вказати повну URL-адресу.
Приклад: https://www.google.com
driver.get('https://www.google.com/')
# 3) Розгорніть вікно браузера
driver.maximize_window розгортає вікно браузера
driver.maximize_window()
# 4) Введіть логін LinkedIn у текстовому полі Google
Для пошуку входу до LinkedIn, ми повинні спочатку визначити текстове поле пошуку Google. Селен пропонує різні стратегії пошуку елементів на сторінці.
>> Довідка тут для отримання детальної інформації про локатори Selenium WebDriver.
до) Перейдіть до посилання
б) Клацніть правою кнопкою миші на текстовому полі пошуку та виберіть елемент перевірки.
в) У нас є поле імені, яке має унікальне значення “q”. Тож ми будемо використовувати find_element_by_name локатор для ідентифікації текстового поля пошуку.
г) клавіші відправки функція дозволить нам вводити будь-який текст. Приклад: “LinkedIn Login”
є) Йди до Пихарма і введіть таку команду:
driver.find_element_by_name('q').send_keys('LinkedIn Login')
# 5) Натисніть клавішу Enter
Для переходу на сторінку результатів пошуку нам потрібно або натиснути кнопку Google Search, або натиснути клавішу Enter на клавіатурі. У цьому прикладі ми розглянемо, як натиснути клавішу Enter за допомогою команд. Введіть команда допоможе натиснути клавішу Enter на клавіатурі.
driver.find_element_by_name('q').send_keys(Keys.Enter )
# 6) Клацніть на URL-адресу входу LinkedIn
Після того, як ми потрапляємо на сторінку результатів пошуку, ми повинні натиснути на посилання LinkedIn Login. Ми будемо використовувати find_element_by_partial_link_text для досягнення цього.
driver.find_element_by_partial_link_text('LinkedIn Login').click()
# 7) Введіть ім’я користувача та пароль
Поля Ім'я користувача та Пароль мають унікальні значення ідентифікатора та використовують поля send_keys для введення полів.
driver.find_element_by_id('username').send_keys('enter your username') driver.find_element_by_id('password').send_keys('enter your password”)
# 8) Натисніть кнопку Вхід
Вхід - це єдина кнопка, доступна на сторінці. Тож ми можемо використовувати ідентифікатор тегів для ідентифікації. find_element_by_tag_name.
driver.find_element_by_tag_name('button').click()
# 9) Перевірте заголовок сторінки
Driver.title отримає заголовок сторінки, а команда print надрукує заголовок веб-сторінки на консолі. Обов’язково використовуйте фігурні дужки ().
print(driver.title)
# 10) Перевірте поточну URL-адресу сторінки
driver.current_url отримає URL-адресу сторінки. друк виведе поточну URL-адресу на консолі.
print(driver.current_url)
# 11) Закрийте браузер
Нарешті, вікно браузера закрито драйвер. закрити .
driver.close()
Повний сценарій тесту наведено нижче:
from selenium import webdriver from selenium.webdriver.common.keys import Keys Import time driver = webdriver.Chrome(r'C:UsersAdminPycharmProjectsSeleniumTestDriverschromedriver.exe') driver.get('https://www.google.com/') driver.maximize_window() driver.find_element_by_name('q').send_keys('LinkedIn login') driver.find_element_by_name('q').send_keys(Keys.ENTER) driver.find_element_by_partial_link_text('LinkedIn Login').click() driver.find_element_by_id('username').send_keys('enter your username') driver.find_element_by_id('password').send_keys('enter your password”) driver.find_element_by_tag_name('button').click() time.sleep(5) print(driver.title) print(driver.current_url) driver.close(
Примітка: # використовується для коментування рядка.
time.sleep (сек) використовується для затримки виконання наступного рядка.
Запуск програми
Існує кілька способів виконання програми
# 1) Запустіть за допомогою PyCharm IDE
Це прямо вперед. Після завершення кодування ви можете просто клацнути правою кнопкою миші на редакторі та натиснути Виконати «Назва програми» або Ctrl + Shift + F10.
Після виконання результат буде показано на консолі нижче. Тепер ми можемо запустити наш зразок коду та перевірити результати.
Помилка синтаксису – Помилка Unicode
Після запуску коду, ми отримуємо таку помилку в консолі.
Спробуємо вирішити те саме. Проблема полягає у шляху драйвера Chrome. C: Users Admin PyCharmProjects SeleniumTest Drivers chromedriver.exe
U в C: Користувачі стають символом Unicode, і тому U перетворюється на символ захисту в Unicode, а отже, робить шлях недійсним. Є 2 способи вирішити це.
#A) Додайте додаткові зворотні скісні риски
driver = Webdriver.chrome('C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\chromedriver.exe')
#B) Префікс рядка до r:
Це зробить рядок трактувати як необроблений рядок, і символи Unicode не будуть розглядатися
driver = Webdriver.chrome(r'C:UsersAdminPyCharmProjectsSeleniumTestDriversChromedriver.exe')
Помилка TypeE: об'єкт модуля не можна викликати
Виконайте код ще раз. Тепер ми маємо іншу помилку в консолі.
Причина в тому, що ви пишете Веб-драйвер . Показано 2 варіанти хром (Селен Webdriver ) і Хром (Selenium.Webdriver.Chrome.Webdriver) як показано нижче.
Ми повинні вибрати Chrome (Selenium.Webdriver.Chrome.Webdriver), якщо ви оберете попередній варіант, ви отримаєте помилку на скріншоті вище.
Тепер запустимо сценарій ще раз. Цього разу він успішно запустився та надрукував на консолі заголовок та поточну URL-адресу веб-сторінки.
Примітка: Якщо проблема все-таки виникає. Спробуйте виконати таку команду:
driver = Webdriver.Chrome(executable_path= 'C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\chromedriver.exe')
# 2) Запуск сценарію в різних браузерах:
Щоб запустити той самий сценарій у будь-якому іншому браузері, вам просто потрібно створити екземпляр цього конкретного браузера замість Chrome у наведеному вище зразку коду.
Приклад для браузера Firefox: Замініть Chrome на Firefox, як показано нижче:
driver = Webdriver.Firefox(executable_path='C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\geckodriver.exe')
Для браузера Microsoft Edge замініть Chrome на Edge, як показано нижче:
driver = Webdriver.Edge(executable_path='C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\msedgedriver.exe')
# 3) Запуск сценарію в командному рядку:
Клацніть правою кнопкою миші на директорію, де ви написали свій код. Приклад: “Main”, а потім скопіюйте абсолютний шлях. Відкрийте командний рядок і змініть каталог на каталог Python за допомогою команди ‘cd’ та клацніть правою кнопкою миші. Після того, як каталог змінено, введіть Python «назва програми».
Python FirstTest.py
Він виконає код, а результат буде показано в командному рядку.
Поширені запитання про Selenium Python
Q # 1) Для чого використовується селен Python?
Відповідь: Велика кількість програмістів почали використовувати Selenium з Python для автоматизації тестів. Нижче наведено кілька причин:
- Для тестування веб-додатків Selenium - це найпоширеніший інструмент автоматизації, який пропонує різні функції. Ці функції створені відповідно до вимог тесту веб-додатків.
- Мова Python набуває великої популярності, оскільки має менше проблем із синтаксисом і може кодуватися простим ключовим словом.
- Селен надсилає стандартні команди Python різним браузерам незалежно від дизайну браузера.
- Прив’язка Python та Selenium надає різні API, які допомагають писати функціональні тести.
- І селен, і Python є відкритими. Тому кожен може легко завантажити та використовувати його в будь-якому середовищі.
Q # 2) Як відкрити Chrome в Selenium Python?
Відповідь: Завантажте драйвер Chrome з тут і витягніть файл .exe. Вкажіть повний шлях до файлу .exe під час створення екземпляра Chrome Webdriver.
driver = Webdriver.Chrome('C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\Chromedriver.exe')
Q # 3) Як виправити помилку Unicode в Python?
Відповідь: Є 2 способи вирішити це.
до) Або потрібно додати додаткові зворотні скісні риски
driver = Webdriver.Chrome('C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\Chromedriver.exe')
б) Префікс рядка до r. Це зробить рядок трактувати як необроблений рядок, і символи Unicode не враховуватимуться.
що стверджувати в C ++
driver = Webdriver.Chrome(r'C:UsersAdminPyCharmProjectsSeleniumTestDriversChromedriver.exe')
Q # 4) Як запустити Firefox у Selenium Python?
Відповідь: Завантажте Geckodriver Firefox з тут і витягніть файл .exe. Вкажіть повний шлях до файлу .exe під час створення екземпляра Веб-драйвер Firefox.
driver = Webdriver.Firefox(executable_path='C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\geckodriver.exe'). driver.get(“ https://www.google.com ”)
Це відкриє веб-сторінку Google у браузері Firefox
Q # 5) Як отримати селен для Python?
Відповідь: Після встановлення Python відкрийте командний рядок і змініть каталог на папку, де присутній Python, і виконайте pip install Selenium. Це додасть найновіші бібліотеки Selenium до Python.
C: Users Admin AppData Local Programs Python Python38-32> pip встановити Selenium.
Ви можете знайти бібліотеки Selenium у папці Lib site-пакети на Python.
Висновок
У цьому підручнику ми вивчили основи, необхідні для початку написання сценарію за допомогою мови Selenium Webdriver та мови Python. Нижче згадано суть цього підручника:
- Python і Selenium виявились найбільш популярними програмістами. Отже, для них доступно багато допоміжних документів.
- Прив'язка бібліотек Selenium за допомогою Python може бути здійснена однією командою pip install Selenium.
- PyCharm є найбільш широко використовуваною IDE, особливо для мови Python. Видання Community повністю безкоштовне для використання. Крім того, у нього є багато доступних пакетів, які допоможуть у написанні функціональних тестів, а установка дуже проста.
- Ми також дізналися, як завантажувати різні драйвери браузера та додавати їх у тестові скрипти в PyCharm, щоб ми могли протестувати наш додаток у зазначеному браузері.
- Ми вивчили різні команди Selenium, використовуючи які ми можемо легко автоматизувати функціональні можливості веб-додатків.
- Ми також запустили тестовий скрипт в середовищі IDE та командному рядку.
Рекомендована література
- Підручник з Python для початківців (практичне БЕЗКОШТОВНЕ навчання з Python)
- Підручник із селену на Python для початківців
- Вступ до Selenium WebDriver - Підручник з селену №8
- 30+ найкращих підручників із селену: вивчіть селен на реальних прикладах
- Впровадження нашого першого сценарію WebDriver - Підручник № 10 для Selenium WebDriver
- Підручник з огірка селену: інтеграція огірка Java Selenium WebDriver
- Підручник із прикладами Python DateTime
- Функції рядка Python