Selenium є потужним інструментом для керування веб-браузерами за допомогою програм і виконання автоматизації браузера. Він функціональний для всіх браузерів, працює на всіх основних ОС, а його сценарії написані різними мовами, тобто Python , Java , C# тощо, ми будемо працювати з Python. Selenium Tutorial охоплює всі теми, такі як – WebDriver, WebElement, модульне тестування за допомогою selenium. Цей підручник Python Selenium охоплює Selenium від основ до розширеного та професійного використання. 
Навіщо вивчати Selenium Python?
- Відкритий і портативний – Selenium – це портативна платформа веб-тестування з відкритим кодом.
- Поєднання інструменту та DSL – Selenium – це комбінація інструментів і DSL (domain specific language) для проведення різних типів тестів.
- Простіше для розуміння та реалізації – Команди Selenium класифікуються за різними класами, що полегшує їх розуміння та впровадження.
- Менше навантаження та стресу для тестувальників – Як згадувалося вище, кількість часу, необхідного для тестування повторних тестових сценаріїв для кожної нової збірки, скорочується майже до нуля. Таким чином, навантаження на тестера зменшується.
- Зниження витрат для бізнес-клієнтів – Підприємство має платити тестувальникам їх зарплату, яка зберігається за допомогою інструменту автоматизованого тестування. Автоматизація не тільки економить час, але й приносить економічні переваги для бізнесу.
Вивчення Selenium за допомогою Python відкриває багато можливостей для ефективного та дієвого тестування веб-додатків, особливо в поєднанні з популярними хмарними платформами тестування, такими як LambdaTest.
LambdaTest — це платформа оркестровки та виконання тестів на базі штучного інтелекту, яка дозволяє розробникам і тестувальникам виконувати масштабне тестування Selenium Python у віддаленій тестовій лабораторії з понад 3000 реальних браузерів і операційних систем для настільних ПК. За допомогою Selenium Python ви можете писати надійні тестові сценарії для автоматизації тестування веб-додатків, забезпечуючи їх функціональність у різних браузерах і платформах. Розробники та тестувальники можуть навіть запускати тести паралельно в кількох комбінаціях, допомагаючи їм створювати якісні збірки зі швидкістю світла.
Основи селену- Основи селену
- Компоненти селену
- Застосування та використання
- особливості
- Обмеження
Основи Selenium Python
- Знайомство з Selenium Python та встановлення
- Навігація за посиланнями за допомогою методу get
- Взаємодія з веб-сторінкою
- Розташування окремих елементів
- Розташування кількох елементів
- Стратегії пошуку – Selenium Python
- Написання тестів за допомогою Selenium Python
Стратегії визначення місцезнаходження
підручник c#
- Розташування окремих елементів –
- find_element_by_id()
- find_element_by_name()
- find_element_by_xpath()
- find_element_by_link_text()
- find_element_by_partial_link_text()
- find_element_by_tag_name()
- find_element_by_class_name()
- find_element_by_css_selector()
- Розташування кількох елементів –
- find_elements_by_name()
- find_elements_by_xpath()
- find_elements_by_link_text()
- find_element_by_partial_link_text()
- find_elements_by_tag_name()
- find_elements_by_class_name()
- find_elements_by_css_selector()
Чекає
- Явні очікування
- Неявне очікування
найкраща машина в світі
- Основи ланцюжків дій
- натисніть
- click_and_hold
- context_click
- подвійне клацання
- перетягни та Впусти
- key_down
- key_up
- переміщення_за_зміщенням
- перемістити_до_елемента
- перемістити_до_елемента_зі_зміщенням
- реліз
- reset_actions
- send_keys
Просунутий у Selenium Python –
- Обробка винятків – Selenium Python
- Спеціальні ключі в Selenium Python
- Як обробляти сповіщення про сповіщення в Selenium Python?
- Додавання та видалення файлів cookie в Selenium Python
- Як рухатися назад і вперед в історії за допомогою Selenium Python?
- Спеціальні ключі в Selenium Python
- Твердження в Selenium WebDriver за допомогою TestNg
- Трюки Selenium Python
- Об'єктна модель сторінки (POM)
Приклади проектів
- Whatsapp використовує Python!
- Автоматизація браузера за допомогою Selenium
- Вхід у Facebook за допомогою Python
- Автоматизація публікації з днем народження на Facebook за допомогою Selenium
- Як отримати доступ до спливаючого вікна входу в Selenium за допомогою Python
- SMS Bomber використовує Selenium
Веб-драйвер Selenium
Selenium Webdriver є батьком усіх методів і класів, які використовуються в Selenium Python. Це рушійна сила Selenium, яка дозволяє нам виконувати різні операції над кількома елементами веб-сторінки. Драйвер має різні методи та атрибути, які можна використовувати для автоматизації тестування в Selenium Python. Щоб перевірити, як користуватися webdriver, відвідайте –
WebElement у Selenium Python
. Різні методи, які можна використовувати в selenium Python:
| метод | опис |
|---|---|
| add_cookie | Додає файл cookie до вашого поточного сеансу. |
| назад | Перехід на крок назад в історії браузера. |
| закрити | Закриває поточне вікно. |
| create_web_element | Створює веб-елемент із указаним element_id. |
| delete_all_cookies | Видалити всі файли cookie в межах сеансу. |
| delete_cookie | Видаляє один файл cookie з заданим ім'ям. |
| execute_async_script | Асинхронно виконує JavaScript у поточному вікні/фреймі. |
| execute_script | Синхронно виконує JavaScript у поточному вікні/фреймі. |
| вперед | Переходить на крок вперед в історії браузера. |
| fullscreen_window | Викликає повноекранну операцію віконного менеджера |
| get_cookie | Отримайте один файл cookie на ім'я. Повертає файл cookie, якщо знайдено, і нічого, якщо ні. |
| get_cookies | Повертає набір словників, що відповідають файлам cookie, видимим у поточному сеансі. |
| get_log | Отримує журнал для заданого типу журналу |
| get_screenshot_as_base64 | Отримує знімок екрана поточного вікна як рядок у кодуванні base64, який корисний у вбудованих зображеннях у HTML. |
| get_screenshot_as_file | Зберігає знімок екрана поточного вікна у файлі зображення PNG. |
| get_screenshot_as_png | Отримує знімок екрана поточного вікна як двійкові дані. |
| get_window_position | Отримує позицію x, y поточного вікна. |
| get_window_rect | Отримує координати x, y вікна, а також висоту та ширину поточного вікна. |
| get_window_size | Отримує ширину та висоту поточного вікна. |
| implicitly_wait | Встановлює закріплений тайм-аут для неявного очікування, поки елемент буде знайдено, |
| maximize_window | Розгортає поточне вікно, яке використовує webdriver |
| minimize_window | Викликає спеціальну операцію «згортання» менеджера вікон |
| кинути | Закриває драйвер і закриває всі пов’язані вікна. |
| оновити | Оновлює поточну сторінку. |
| set_page_load_timeout | Установіть проміжок часу очікування завершення завантаження сторінки перед викидом помилки. |
| set_script_timeout | Установіть проміжок часу, протягом якого сценарій має чекати під час виклику execute_async_script, перш ніж видавати помилку. |
| set_window_position | Встановлює позицію x, y поточного вікна. (window.moveTo) |
| set_window_rect | Встановлює координати x, y вікна, а також висоту та ширину поточного вікна. |
| current_url | Отримує URL-адресу поточної сторінки. |
| дескриптор поточного_вікна | Повертає дескриптор поточного вікна. |
| page_source | Отримує джерело поточної сторінки. |
| назва | Повертає назву поточної сторінки. |
Selenium WebElement
Елемент може бути тегом, властивістю або чим завгодно, це екземпляр класу
selenium.webdriver.remote.webelement.WebElement
алгоритм для bfs
. Після того як ви знайшли елемент на екрані за допомогою selenium, ви можете клацнути його або знайти піделементи тощо. Selenium надає методи навколо цього WebElement Selenium. Щоб перевірити, як використовувати об’єкт element у Selenium, відвідайте –
. Різні методи, які можна використовувати з елементом у Selenium Python, обговорюються нижче –
| Методи елементів | опис |
|---|---|
| is_selected() | Метод is_selected використовується для перевірки вибраного елемента чи ні. Він повертає логічне значення True або False. |
| is_displayed() | Метод is_displayed використовується, щоб перевірити, чи елемент видимий для користувача чи ні. Він повертає логічне значення True або False. |
| is_enabled() | Метод is_enabled використовується для перевірки того, увімкнено елемент чи ні. Він повертає логічне значення True або False. |
| get_property() | Метод get_property використовується для отримання властивостей елемента, наприклад отримання властивості text_length тегу прив’язки. |
| get_attribute() | Метод get_attribute використовується для отримання атрибутів елемента, наприклад отримання атрибута href тегу прив’язки. |
| send_keys() | Метод send_keys використовується для надсилання тексту в будь-яке поле, таке як поле введення форми або навіть абзац тегу прив’язки тощо. |
| клік() | метод click використовується для натискання будь-якого елемента, такого як тег прив’язки, посилання тощо. |
| очистити() | метод clear використовується для очищення тексту будь-якого поля, наприклад поля введення форми або навіть абзацу тегу прив’язки тощо. |
| скріншот() | Метод знімка екрана використовується для збереження знімка екрана поточного елемента у файл PNG. |
| подати() | метод submit використовується для надсилання форми після того, як ви надіслали дані до форми. |
| value_of_css_property() | Метод value_of_css_property використовується для отримання значення властивості css для елемента. |
| Місцезнаходження | Метод розташування використовується для визначення розташування елемента на полотні, яке можна відобразити. |
| screenshot_as_png | Метод screenshot_as_png використовується для отримання знімка екрана поточного елемента як двійкових даних. |
| батькові | батьківський метод використовується для отримання внутрішнього посилання на екземпляр WebDriver, з якого було знайдено цей елемент. |
| розмір | Метод розміру використовується для отримання розміру поточного елемента. |
| tag_name | Метод tag_name використовується для отримання назви тегу, на який ви посилаєтеся. |
| текст | текстовий метод використовується для отримання тексту поточного елемента. |
| прямий | Метод rect використовується для отримання словника з розміром і розташуванням елемента. |
| screenshot_as_base64 | Метод screenshot_as_base64 використовується для отримання знімка екрана поточного елемента як рядка в кодуванні base64. |