logo

Підручник Selenium Python

Selenium є потужним інструментом для керування веб-браузерами за допомогою програм і виконання автоматизації браузера. Він функціональний для всіх браузерів, працює на всіх основних ОС, а його сценарії написані різними мовами, тобто Python , Java , C# тощо, ми будемо працювати з Python. Selenium Tutorial охоплює всі теми, такі як – WebDriver, WebElement, модульне тестування за допомогою selenium. Цей підручник Python Selenium охоплює Selenium від основ до розширеного та професійного використання. Selenium-Python-Навчальний посібник

Навіщо вивчати 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.