Slides+ +Udemy+Selenium+Webdriver+Com+Python
Slides+ +Udemy+Selenium+Webdriver+Com+Python
Com Python
Selenium Projects
Manipula navegadores Web
Selenium Webdriver nativamente, suportando várias
linguagens de programação.
https://www.jetbrains.com/
Baixando e instalando o
VS Code
https://code.visualstudio.com/download
Baixando os Drivers dos
navegadores
e colocar em uma pasta chamada "webdrivers" ou "drivers" no C:
https://www.selenium.dev/
Criando Ambientes
Vituais no Python
Usando PyCharm e VSCode
Configurando o
Selenium Webdriver
e criando seu primeiro script
https://www.selenium.dev/
Mapeando
Elementos da tela
Primeiros Passos
Mapeando
Elementos da tela
Tipos de Locators
Locators
Tag Atributo Valor Atributo Valor
Estrutura de um elemento
Tipos de Locators
Selenium Webdriver
Tag and ID
Tag and Class
CLASS_NAME TAG_NAME Tag and Attribute
Tag, Class and Attribute
Inner Text
Locators
Tag Atributo Valor Atributo Valor
By.ID
browser.find_element(By.ID, "password")
Locators
Tag Atributo Valor Atributo Valor
By.NAME
browser.find_element(By.NAME, "password")
Locators
href: atributo de link Link text
By.LINK_TEXT
browser.find_element(By.LINK_TEXT, "Twitter")
Locators
href: atributo de link Link text
By.PARTIAL_LINK_TEXT
browser.find_element(By.PARTIAL_LINK_TEXT, "Twi")
Locators
Tag Atributo Atributo Valor
browser.find_element(By.TAG_NAME, "input")
browser.find_elements(By.TAG_NAME, "input")
Retorna todas as ocorrências
Locators
Tag Atributo Atributo Valor
By.CSS_SELECTOR
tag_name#id_value (tag é opcional)
browser.find_element(By.CSS_SELECTOR, "input#password")
browser.find_element(By.CSS_SELECTOR, "#password")
Locators
Tag Atributo Atributo Valor
By.CSS_SELECTOR
tag_name.class_value (tag é opcional)
browser.find_element(By.CSS_SELECTOR, "input.input_error")
browser.find_element(By.CSS_SELECTOR, ".input_error")
Locators
Tag Atributo Atributo Valor
By.CSS_SELECTOR
tag_name[attribute=value] (tag é opcional)
browser.find_element(By.CSS_SELECTOR, "input[type=password]")
browser.find_element(By.CSS_SELECTOR, "[type=password]")
Locators
Tag Atributo Atributo Valor
By.CSS_SELECTOR
tag_name.class_name[attribute=value]
browser.find_element(By.CSS_SELECTOR, "input.input_error[type=password]")
XPath
XPath é uma sintaxe para definir partes de um documento XML
XPath pode ser usado para navegar por elementos e atributos em um documento XML
XPath usa expressões de caminho para navegar em documentos XML
XPath contém uma biblioteca de funções padrão
XPath é usado para localizar elementos em uma página web por meio do DOM
XPath é o endereço do elemento em uma página
https://www.w3schools.com/xml/xpath_intro.asp
XPath
Absolute/Full XPath
Relative/Partial XPath
COMANDOS
Comandos de navegação
Comandos da aplicação
Comandos de localizar elementos
Comandos condicionais
Comandos de interação com elementos
Comandos de espera
COMANDOS DE NAVEGAÇÃO
browser.
get()
maximize_window()
refresh()
back()
forward()
close()
quit()
COMANDOS DA APLICAÇÃO
browser.
title
current_url
page_source
COMANDOS PARA LOCALIZAR ELEMENTOS
browser.
find_element()
find_elements()
COMANDOS CONDICIONAIS
element.
is_displayed()
is_enabled()
is_selected()
element.
time.sleep()
implicitly_wait
explicitly_wait
Pytest
O que é o PyTest?
PyTest é um framework de teste que permite escrever códigos de teste usando a linguagem Python. Ele te ajuda a
escrever casos de teste simples e escaláveis para bancos de dados, APIs ou interface do usuário.
Documentação: https://docs.pytest.org/en/7.1.x/getting-started.html
Page Object
A ideia do PageObject é separar os elementos em arquivos diferentes baseados nas páginas
em que eles aparecem, assim, escrevemos todos os elementos e métodos específicos
daquela página em seu arquivo que é uma classe e usamos diretamente nos scripts de teste.