Top Banner
Автоматизація тестування з допомогою Selenium Марина Мельниченко Junior QC Engineer SoftServe
21

IT Talks Автоматизація тестування з допомогою Selenium

Apr 15, 2017

Download

Technology

Vadym Muliavka
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IT Talks Автоматизація тестування з допомогою Selenium

Автоматизація тестування з допомогою SeleniumМарина МельниченкоJunior QC Engineer SoftServe

Page 2: IT Talks Автоматизація тестування з допомогою Selenium

Про що поговоримо

Selenium Компоненти Selenium Робота з Selenium IDE

Page 3: IT Talks Автоматизація тестування з допомогою Selenium

Selenium – безкоштовний (open source) набір утиліт для автоматизації тестування веб-аплікацій в різних браузерах і на різних платформах.

Був створений Джейсоном Хаггісом в 2004 році, в 2008 з`явився Selenium2.Знайомств

о з Selenium

Page 4: IT Talks Автоматизація тестування з допомогою Selenium

Компоненти Selenium

Selenium Suite

Selenium IDE

Selenium RC

Selenium WebDriver

Selenium Grid

Selenium2

Page 5: IT Talks Автоматизація тестування з допомогою Selenium

Selenium Integrated Development Environment

Переваги

1. Дуже легко встановлювати і видаляти

2. Не потребує досвіду в програмуванні

3. Може експортувати тести в формати, які використовуються Selenium RC і WebDriver

4. Має вбудований модуль виводу тестових результатів

5. Надає підтримку розширень

Недоліки

1. Доступний тільки в Firefox

2. Розроблений для створення простих кейсів

3. Не підтримує ітерації і умовні операції

4. Виконання тестів повільне в порівнянні з Selenium RC та WebDriver

Page 6: IT Talks Автоматизація тестування з допомогою Selenium

Selenium Remote Control

Переваги

1. Кросс-браузерний і кросс-платформенний

2. Підтримує цикли і умовні операції

3. Підтримує data-driven тестування

4. Має АРІ5. Швидший, ніж IDE

Недоліки

1. Інсталяція складніша, ніж в IDE

2. Потребує знань програмування

3. Вимагає запущеного RC Server

4. Повільніший, ніж WebDriver

Page 7: IT Talks Автоматизація тестування з допомогою Selenium

Selenium WebDriver

Переваги

1. Легше інсталювати, ніж Selenium RC

2. Звертається напряму до браузера

3. Не потребує інших компонентів, таких як RC Server

4. Швидший, ніж IDE та RC

Недоліки

1. Інсталяція складніша, ніж в IDE

2. Потребує знань програмування

3. Не має вбудованого механізму генерування результатів тестів

Page 8: IT Talks Автоматизація тестування з допомогою Selenium

Selenium Grid

Особливості

1. Дозволяє одночасно запускати тести в різних браузерах та середовищах

2. Значно економить час

Page 9: IT Talks Автоматизація тестування з допомогою Selenium

Selenium IDE

Page 10: IT Talks Автоматизація тестування з допомогою Selenium

Selenium IDE

Page 11: IT Talks Автоматизація тестування з допомогою Selenium

Типи команд в Selenium IDE

Actions:- open- type- click

Accessors:- storeTitl

eAssertions:- assert- verify- waitFor

Page 12: IT Talks Автоматизація тестування з допомогою Selenium

Локатори

IDNameCSS Selector

Tag and ID Tag and class Tag and attribute Tag, class and attribute Inner text

XPathLink TextDOM

Page 13: IT Talks Автоматизація тестування з допомогою Selenium

Locating by ID

Page 14: IT Talks Автоматизація тестування з допомогою Selenium

Locating by Name

Page 15: IT Talks Автоматизація тестування з допомогою Selenium

Locating by CSS Selector

Tag and ID

Tag and Class

Tag and Attribute

Inner Text

Page 16: IT Talks Автоматизація тестування з допомогою Selenium

Locating by XPath

Page 17: IT Talks Автоматизація тестування з допомогою Selenium

Locating by Link Text

Page 18: IT Talks Автоматизація тестування з допомогою Selenium

Tips and tricks

Page 19: IT Talks Автоматизація тестування з допомогою Selenium

Інтеграція в WebDriver

# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import Selectfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.common.exceptions import NoAlertPresentExceptionimport unittest, time, reclass 12(unittest.TestCase):

def setUp(self): self.driver = webdriver.Firefox() self.driver.implicitly_wait(30) self.base_url = "https://www.google.com.ua/" self.verificationErrors = [] self.accept_next_alert = True def test_12(self): driver = self.driver driver.get(self.base_url + "/?gfe_rd=cr&ei=6Ee- VvLED8GWwAP475fACg&gws_rd=ssl") # ERROR: Caught exception [unknown command []] driver.find_element_by_link_text("Selenium - Web

Browser Automation").click() driver.find_element_by_link_text("Projects").click() def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException as e: return False return True def is_alert_present(self): try: self.driver.switch_to_alert() except NoAlertPresentException as e: return False return True def close_alert_and_get_its_text(self): try: alert = self.driver.switch_to_alert() alert_text = alert.text if self.accept_next_alert: alert.accept() else: alert.dismiss() return alert_text finally: self.accept_next_alert = True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors)

If __name__ == "__main__": unittest.main()

Page 20: IT Talks Автоматизація тестування з допомогою Selenium

Questions

Page 21: IT Talks Автоматизація тестування з допомогою Selenium

Дякую за увагу