🗊Презентация Selenium 2.0 + Python

Нажмите для полного просмотра!
Selenium 2.0 + Python, слайд №1Selenium 2.0 + Python, слайд №2Selenium 2.0 + Python, слайд №3Selenium 2.0 + Python, слайд №4Selenium 2.0 + Python, слайд №5Selenium 2.0 + Python, слайд №6Selenium 2.0 + Python, слайд №7Selenium 2.0 + Python, слайд №8Selenium 2.0 + Python, слайд №9Selenium 2.0 + Python, слайд №10Selenium 2.0 + Python, слайд №11Selenium 2.0 + Python, слайд №12Selenium 2.0 + Python, слайд №13Selenium 2.0 + Python, слайд №14Selenium 2.0 + Python, слайд №15Selenium 2.0 + Python, слайд №16Selenium 2.0 + Python, слайд №17Selenium 2.0 + Python, слайд №18Selenium 2.0 + Python, слайд №19Selenium 2.0 + Python, слайд №20Selenium 2.0 + Python, слайд №21Selenium 2.0 + Python, слайд №22Selenium 2.0 + Python, слайд №23Selenium 2.0 + Python, слайд №24Selenium 2.0 + Python, слайд №25Selenium 2.0 + Python, слайд №26Selenium 2.0 + Python, слайд №27Selenium 2.0 + Python, слайд №28Selenium 2.0 + Python, слайд №29Selenium 2.0 + Python, слайд №30Selenium 2.0 + Python, слайд №31Selenium 2.0 + Python, слайд №32Selenium 2.0 + Python, слайд №33Selenium 2.0 + Python, слайд №34Selenium 2.0 + Python, слайд №35Selenium 2.0 + Python, слайд №36Selenium 2.0 + Python, слайд №37Selenium 2.0 + Python, слайд №38Selenium 2.0 + Python, слайд №39Selenium 2.0 + Python, слайд №40Selenium 2.0 + Python, слайд №41Selenium 2.0 + Python, слайд №42Selenium 2.0 + Python, слайд №43Selenium 2.0 + Python, слайд №44Selenium 2.0 + Python, слайд №45Selenium 2.0 + Python, слайд №46Selenium 2.0 + Python, слайд №47Selenium 2.0 + Python, слайд №48Selenium 2.0 + Python, слайд №49Selenium 2.0 + Python, слайд №50Selenium 2.0 + Python, слайд №51Selenium 2.0 + Python, слайд №52Selenium 2.0 + Python, слайд №53Selenium 2.0 + Python, слайд №54

Содержание

Вы можете ознакомиться и скачать презентацию на тему Selenium 2.0 + Python. Доклад-сообщение содержит 54 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Selenium 2.0 + Python
© 2013 Алексей Баранцев
Описание слайда:
Selenium 2.0 + Python © 2013 Алексей Баранцев

Слайд 2





Обзор команд
Selenium WebDriver
Занятие 2
Описание слайда:
Обзор команд Selenium WebDriver Занятие 2

Слайд 3





План занятия
Общий обзор команд
Запуск и остановка, открытие страниц
Поиск элементов (+ожидания)
Действия с элементами, простые и сложные
Получение свойств элементов
Переключение между окнами и фреймами
Описание слайда:
План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск элементов (+ожидания) Действия с элементами, простые и сложные Получение свойств элементов Переключение между окнами и фреймами

Слайд 4





План занятия
Общий обзор команд
Запуск и остановка, открытие страниц
Поиск элементов (+ожидания)
Действия с элементами, простые и сложные
Получение свойств элементов
Переключение между окнами и фреймами
Описание слайда:
План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск элементов (+ожидания) Действия с элементами, простые и сложные Получение свойств элементов Переключение между окнами и фреймами

Слайд 5





Общий обзор команд
http://selenium.googlecode.com/git/docs/api/py/index.html
браузер – запуск, остановка
окно браузера – открыть, закрыть, переключиться, размер
диалоговые окна, меню, тулбар, статусбар, плагины
страница – открыть, предыдущая, следующая, выполнить JS-код
элементы – найти,
                       мышь, клавиатура, текст, атрибуты, стили, размер
фреймы – найти, переключиться
Описание слайда:
Общий обзор команд http://selenium.googlecode.com/git/docs/api/py/index.html браузер – запуск, остановка окно браузера – открыть, закрыть, переключиться, размер диалоговые окна, меню, тулбар, статусбар, плагины страница – открыть, предыдущая, следующая, выполнить JS-код элементы – найти, мышь, клавиатура, текст, атрибуты, стили, размер фреймы – найти, переключиться

Слайд 6





План занятия
Общий обзор команд
Запуск и остановка, открытие страниц
Поиск элементов (+ожидания)
Действия с элементами, простые и сложные
Получение свойств элементов
Переключение между окнами и фреймами
Описание слайда:
План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск элементов (+ожидания) Действия с элементами, простые и сложные Получение свойств элементов Переключение между окнами и фреймами

Слайд 7





Запуск браузера
from selenium import webdriver
driver = webdriver.Firefox()
driver = webdriver.Chrome()
driver = webdriver.Ie()
driver = webdriver.Opera()
driver = webdriver.PhantomJS()
driver = webdriver.Remote()
Описание слайда:
Запуск браузера from selenium import webdriver driver = webdriver.Firefox() driver = webdriver.Chrome() driver = webdriver.Ie() driver = webdriver.Opera() driver = webdriver.PhantomJS() driver = webdriver.Remote()

Слайд 8





Запуск браузера
Google Chrome
	https://code.google.com/p/chromedriver/downloads/list
Internet Explorer
	https://code.google.com/p/selenium/downloads/list
PhantomJS
	https://code.google.com/p/phantomjs/downloads/list
Описание слайда:
Запуск браузера Google Chrome https://code.google.com/p/chromedriver/downloads/list Internet Explorer https://code.google.com/p/selenium/downloads/list PhantomJS https://code.google.com/p/phantomjs/downloads/list

Слайд 9





Запуск браузера
from selenium import webdriver
driver = webdriver.Firefox(
capabilities={'native_events': False})
https://code.google.com/p/selenium/wiki/DesiredCapabilities
Описание слайда:
Запуск браузера from selenium import webdriver driver = webdriver.Firefox( capabilities={'native_events': False}) https://code.google.com/p/selenium/wiki/DesiredCapabilities

Слайд 10





Остановка браузера
driver.quit()
закрыть все окна и завершить работу
driver.close()
закрыть текущее окно,
если оно последнее – завершить работу
Описание слайда:
Остановка браузера driver.quit() закрыть все окна и завершить работу driver.close() закрыть текущее окно, если оно последнее – завершить работу

Слайд 11





Открытие страниц и навигация
driver.get("http://selenium2.ru/")
открыть страницу
и подождать, пока она загрузится
driver.back()     driver.refresh()     driver.forward()
Описание слайда:
Открытие страниц и навигация driver.get("http://selenium2.ru/") открыть страницу и подождать, пока она загрузится driver.back() driver.refresh() driver.forward()

Слайд 12





План занятия
Общий обзор команд
Запуск и остановка, открытие страниц
Поиск элементов и ожидания
Действия с элементами, простые и сложные
Получение свойств элементов
Переключение между окнами и фреймами
Описание слайда:
План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск элементов и ожидания Действия с элементами, простые и сложные Получение свойств элементов Переключение между окнами и фреймами

Слайд 13





Базовые команды поиска
element = driver.find_element(by, locator)
найти первый элемент по заданному условию
elements = driver.findElements(by, locator)
найти все элементы по заданному условию
Описание слайда:
Базовые команды поиска element = driver.find_element(by, locator) найти первый элемент по заданному условию elements = driver.findElements(by, locator) найти все элементы по заданному условию

Слайд 14





Типы локаторов
By.ID
By.NAME
By.CSS_SELECTOR
By.XPATH
Описание слайда:
Типы локаторов By.ID By.NAME By.CSS_SELECTOR By.XPATH

Слайд 15





Типизированные команды поиска
driver.find_element_by_id('myid')
driver.find_element_by_name('myname')
driver.find_element_by_xpath('//a')
driver.find_element_by_css_selector('a')
driver.find_element_by_tag_name('a')
Описание слайда:
Типизированные команды поиска driver.find_element_by_id('myid') driver.find_element_by_name('myname') driver.find_element_by_xpath('//a') driver.find_element_by_css_selector('a') driver.find_element_by_tag_name('a')

Слайд 16





Поиск внутри элемента
element2 = element1.find_element(by, locator)
найти первый элемент по заданному условию,
находящийся внутри элемента element1
elements = element1.find_elements(by, locator)
найти все элементы по заданному условию,
находящиеся внутри элемента element1
Описание слайда:
Поиск внутри элемента element2 = element1.find_element(by, locator) найти первый элемент по заданному условию, находящийся внутри элемента element1 elements = element1.find_elements(by, locator) найти все элементы по заданному условию, находящиеся внутри элемента element1

Слайд 17





Пример
cell41 =
	driver.find_element_by_css_selector("table.t1")
	.find_elements_by_tag_name("tr")[3]
	.find_elements_by_tag_name("td")[0]
	это первая ячейка в четвёртой строке
таблицы, имеющий класс t1
Описание слайда:
Пример cell41 = driver.find_element_by_css_selector("table.t1") .find_elements_by_tag_name("tr")[3] .find_elements_by_tag_name("td")[0] это первая ячейка в четвёртой строке таблицы, имеющий класс t1

Слайд 18





Если ничего не нашлось…
find_element
выбрасывает исключение
NoSuchElementException
find_elements
возвращает пустой список
Описание слайда:
Если ничего не нашлось… find_element выбрасывает исключение NoSuchElementException find_elements возвращает пустой список

Слайд 19





Как проверить наличие?
def is_element_present(self, by, locator) {
    try:
        self.driver.find_element(by, locator)
    except NoSuchElementException, e:
        return False
    return True
Описание слайда:
Как проверить наличие? def is_element_present(self, by, locator) { try: self.driver.find_element(by, locator) except NoSuchElementException, e: return False return True

Слайд 20





Как проверить наличие?
def is_element_present(self, by, locator) {
    return len(
        self.driver.find_elements(by, locator)) > 0
то же самое, даже по скорости одинаково!
Описание слайда:
Как проверить наличие? def is_element_present(self, by, locator) { return len( self.driver.find_elements(by, locator)) > 0 то же самое, даже по скорости одинаково!

Слайд 21





Неявное ожидание
driver.implicitly_wait(10)
find_element ждёт, пока элемент появится
find_elements ждёт, пока хотя бы один элемент появится
Описание слайда:
Неявное ожидание driver.implicitly_wait(10) find_element ждёт, пока элемент появится find_elements ждёт, пока хотя бы один элемент появится

Слайд 22





Явное ожидание
for i in range(60):
    try:
        if self.is_element_present(by, locator): break
    except: pass
    time.sleep(1)
else:
    self.fail("time out")
Описание слайда:
Явное ожидание for i in range(60): try: if self.is_element_present(by, locator): break except: pass time.sleep(1) else: self.fail("time out")

Слайд 23





Явное ожидание
from selenium.webdriver.support.wait import WebDriverWait
wait = WebDriverWait(driver, 30)
element = wait.until(
    lambda x: x.find_element(by, locator))
Описание слайда:
Явное ожидание from selenium.webdriver.support.wait import WebDriverWait wait = WebDriverWait(driver, 30) element = wait.until( lambda x: x.find_element(by, locator))

Слайд 24





Явное ожидание
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support.expected_conditions import *
wait = WebDriverWait(driver, 30)
element = wait.until(
    presence_of_element_located((by, locator))
http://selenium.googlecode.com/git/docs/api/py/_modules/selenium/webdriver/support/expected_conditions.html
Описание слайда:
Явное ожидание from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * wait = WebDriverWait(driver, 30) element = wait.until( presence_of_element_located((by, locator)) http://selenium.googlecode.com/git/docs/api/py/_modules/selenium/webdriver/support/expected_conditions.html

Слайд 25





Явные и неявные ожидания
Явные
Описание слайда:
Явные и неявные ожидания Явные

Слайд 26





План занятия
Общий обзор команд
Запуск и остановка, открытие страниц
Поиск элементов (+ожидания)
Действия с элементами, простые и сложные
Получение свойств элементов
Окнами и фреймами
Описание слайда:
План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск элементов (+ожидания) Действия с элементами, простые и сложные Получение свойств элементов Окнами и фреймами

Слайд 27





«Простые» действия
кликнуть
ссылки и кнопки
радио и чекбоксы
списки
ввести текст
прицепить файл
Описание слайда:
«Простые» действия кликнуть ссылки и кнопки радио и чекбоксы списки ввести текст прицепить файл

Слайд 28





«Сложные» действия
клавиатурные сочетания
наведение мыши
перетаскивание
правая кнопка мыши
двойной клик
Описание слайда:
«Сложные» действия клавиатурные сочетания наведение мыши перетаскивание правая кнопка мыши двойной клик

Слайд 29





Две главные операции
click
Описание слайда:
Две главные операции click

Слайд 30





А другие операции?
select ?
это просто клик по элементу списка
toggle ?
это просто клик по чекбоксу
check / uncheck ?
клик с предварительной проверкой
Описание слайда:
А другие операции? select ? это просто клик по элементу списка toggle ? это просто клик по чекбоксу check / uncheck ? клик с предварительной проверкой

Слайд 31





Тем не менее, Select
from selenium.webdriver.support.select import Select
dropdown = Select(element)
dropdown.select_by_index(1)
dropdown.select_by_value("mon")
dropdown.select_by_visible_text("Monday")
Описание слайда:
Тем не менее, Select from selenium.webdriver.support.select import Select dropdown = Select(element) dropdown.select_by_index(1) dropdown.select_by_value("mon") dropdown.select_by_visible_text("Monday")

Слайд 32





Пример
from selenium.webdriver.common.keys import Keys
element.click()
element.send_keys(Keys.HOME)
element.send_keys("some text")
добавить текст в начало, а не в конец
Описание слайда:
Пример from selenium.webdriver.common.keys import Keys element.click() element.send_keys(Keys.HOME) element.send_keys("some text") добавить текст в начало, а не в конец

Слайд 33





Пример
element.send_keys(Keys.CONTROL, "a")
time.sleep(1)
element.send_keys(Keys.DELETE)
удалить содержимое поля ввода
Описание слайда:
Пример element.send_keys(Keys.CONTROL, "a") time.sleep(1) element.send_keys(Keys.DELETE) удалить содержимое поля ввода

Слайд 34





Пример
element.send_keys("text to search")
element.send_keys(Keys.RETURN)
засабмитить форму, если нет кнопки
Описание слайда:
Пример element.send_keys("text to search") element.send_keys(Keys.RETURN) засабмитить форму, если нет кнопки

Слайд 35





Пример
body = driver.find_element_by_tag_name("body")
body.send_keys(
Keys.CONTROL, Keys.SHIFT, "1")
«горячие клавиши», клавиатурные сочетания
Описание слайда:
Пример body = driver.find_element_by_tag_name("body") body.send_keys( Keys.CONTROL, Keys.SHIFT, "1") «горячие клавиши», клавиатурные сочетания

Слайд 36





Пример
set_clipboard_contents(longtext)
textarea.send_keys(Keys.CONTROL , "v")
вставить длинный текст из буфера обмена
Описание слайда:
Пример set_clipboard_contents(longtext) textarea.send_keys(Keys.CONTROL , "v") вставить длинный текст из буфера обмена

Слайд 37





Нативные и синтезированные события
Нативные
Описание слайда:
Нативные и синтезированные события Нативные

Слайд 38





Запуск браузера
from selenium import webdriver
driver = webdriver.Firefox(
capabilities={'native_events': True})
https://code.google.com/p/selenium/wiki/DesiredCapabilities
Описание слайда:
Запуск браузера from selenium import webdriver driver = webdriver.Firefox( capabilities={'native_events': True}) https://code.google.com/p/selenium/wiki/DesiredCapabilities

Слайд 39





Actions
click
send_keys
move_to_element
click_and_hold
release
key_down
key_up
Описание слайда:
Actions click send_keys move_to_element click_and_hold release key_down key_up

Слайд 40





Actions
webdriver.ActionChains(driver)
.move_to_element(el, 1, 1)
.click()
.perform()
webdriver.ActionChains(driver) 
.move_to_element(el)
.move_by_offset(5,5)
.click() 
.perform()
Описание слайда:
Actions webdriver.ActionChains(driver) .move_to_element(el, 1, 1) .click() .perform() webdriver.ActionChains(driver) .move_to_element(el) .move_by_offset(5,5) .click() .perform()

Слайд 41





План занятия
Общий обзор команд
Запуск и остановка, открытие страниц
Поиск элементов (+ожидания)
Действия с элементами, простые и сложные
Получение свойств элементов
Переключение между окнами и фреймами
Описание слайда:
План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск элементов (+ожидания) Действия с элементами, простые и сложные Получение свойств элементов Переключение между окнами и фреймами

Слайд 42





text
Видимый текст
невидимые элементы имеют пустой текст
Нормализация – удаление пробелов
Preformatted – сохранение пробелов
Описание слайда:
text Видимый текст невидимые элементы имеют пустой текст Нормализация – удаление пробелов Preformatted – сохранение пробелов

Слайд 43





get_attribute
input.get_attribute("value");
input.get_attribute("href");
всегда абсолютные ссылки
button.get_attribute("disabled") 
либо null, либо true
disabled, selected, checked, readonly, …
div.get_attribute("innerText");
attribute или property?
Описание слайда:
get_attribute input.get_attribute("value"); input.get_attribute("href"); всегда абсолютные ссылки button.get_attribute("disabled") либо null, либо true disabled, selected, checked, readonly, … div.get_attribute("innerText"); attribute или property?

Слайд 44





is_displayed
вроде бы всё очевидно, но…
находится за левым или верхним краем
частично находится за краем
скрыт под другим элементом
частично скрыт под другим элементом
прозрачный, либо цвет сливается с фоном
Описание слайда:
is_displayed вроде бы всё очевидно, но… находится за левым или верхним краем частично находится за краем скрыт под другим элементом частично скрыт под другим элементом прозрачный, либо цвет сливается с фоном

Слайд 45





Что ещё?
element.value_of_css_property("color")
element.size()
element.location()
element.get_tag_name()
element.is_enabled()
element.is_selected()
Описание слайда:
Что ещё? element.value_of_css_property("color") element.size() element.location() element.get_tag_name() element.is_enabled() element.is_selected()

Слайд 46





План занятия
Общий обзор команд
Запуск и остановка, открытие страниц
Поиск элементов (+ожидания)
Действия с элементами, простые и сложные
Получение свойств элементов
Переключение между окнами и фреймами
Описание слайда:
План занятия Общий обзор команд Запуск и остановка, открытие страниц Поиск элементов (+ожидания) Действия с элементами, простые и сложные Получение свойств элементов Переключение между окнами и фреймами

Слайд 47





driver.switch_to_...
driver.switch_to_alert()
driver.switch_to_frame()
driver.switch_to_default_content()
driver.switch_to_window()
Описание слайда:
driver.switch_to_... driver.switch_to_alert() driver.switch_to_frame() driver.switch_to_default_content() driver.switch_to_window()

Слайд 48





Диалоговые окна
alert = driver.switch_to_alert()
alert_text = alert.text()
alert.accept()    # либо alert.dismiss()
а если нет алёрта? NoAlertPresentException
а если не сделать? UnhandledAlertException
Описание слайда:
Диалоговые окна alert = driver.switch_to_alert() alert_text = alert.text() alert.accept() # либо alert.dismiss() а если нет алёрта? NoAlertPresentException а если не сделать? UnhandledAlertException

Слайд 49





Фреймы
driver.switch_to_frame(
driver.find_element_by_tag_name("iframe"))
# что-то сделали внутри фрейма
driver.switch_to_default_content()
фреймы могут быть вложены как матрёшка
Описание слайда:
Фреймы driver.switch_to_frame( driver.find_element_by_tag_name("iframe")) # что-то сделали внутри фрейма driver.switch_to_default_content() фреймы могут быть вложены как матрёшка

Слайд 50





Окна
all_windows = driver.window_handles()
this_window = driver.current_window_handle()
driver.switch_to_window(handle)
# что-то делаем в этом окне
driver.close()
driver.switch_to_window(original_window)
Описание слайда:
Окна all_windows = driver.window_handles() this_window = driver.current_window_handle() driver.switch_to_window(handle) # что-то делаем в этом окне driver.close() driver.switch_to_window(original_window)

Слайд 51





Туда и обратно
# запоминаем идентификатор текущего окна
original_window = driver.current_window_handle()
# запоминаем идентификаторы уже открытых окон
existing_windows = driver.window_handles()
# кликаем кнопку, которая открывает новое окно
driver.find_element_by_id("button").click()
# ждем появления нового окна, с новым идентификатором
new_window = wait.until(any_window_other_than(existing_windows))
# переключаемся в новое окно
driver.switch_to_window(new_window)
# закрываем его
driver.close()
# и возвращаемся в исходное окно
driver.switch_to_window(original_window)
Описание слайда:
Туда и обратно # запоминаем идентификатор текущего окна original_window = driver.current_window_handle() # запоминаем идентификаторы уже открытых окон existing_windows = driver.window_handles() # кликаем кнопку, которая открывает новое окно driver.find_element_by_id("button").click() # ждем появления нового окна, с новым идентификатором new_window = wait.until(any_window_other_than(existing_windows)) # переключаемся в новое окно driver.switch_to_window(new_window) # закрываем его driver.close() # и возвращаемся в исходное окно driver.switch_to_window(original_window)

Слайд 52





Ожидание появления нового окна
class any_window_other_than(object):
    def __init__(self, existing_windows):
        self.existing_windows = existing_windows
    def __call__(self, driver):
        handles = driver.window_handles()
        diff = set(handles)-set(existing_windows)
        return iter(diff).next() if len(diff) > 0 else False
Описание слайда:
Ожидание появления нового окна class any_window_other_than(object): def __init__(self, existing_windows): self.existing_windows = existing_windows def __call__(self, driver): handles = driver.window_handles() diff = set(handles)-set(existing_windows) return iter(diff).next() if len(diff) > 0 else False

Слайд 53





Размеры и положение окна
driver.get_window_size()
driver.set_window_size(800, 600)
driver.maximize_window()
driver.get_window_position()
driver.set_window_position(0, 0)
Описание слайда:
Размеры и положение окна driver.get_window_size() driver.set_window_size(800, 600) driver.maximize_window() driver.get_window_position() driver.set_window_position(0, 0)

Слайд 54





На этом пока всё
На этом пока всё
«Домашка»
Форум
Скайп-чат
Описание слайда:
На этом пока всё На этом пока всё «Домашка» Форум Скайп-чат



Теги Selenium 2.0 + Python
Похожие презентации
Mypresentation.ru
Загрузить презентацию