Python Selenium With Pytest

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 8

Pre-requirements: Download links:

● Python Basics
● Chrome Web Browser ● PYTHON
● Internet Connection ● PYCHARM

Documents:
● Selenium unofficial
Selenium architecture
Navigation:
driver.get("{website_url}")
Locators (to locate the web element):
● ID = "id"
● XPATH = "xpath"
● LINK_TEXT = "link text"
● PARTIAL_LINK_TEXT = "partial link text"
● NAME = "name"
● TAG_NAME = "tag name"
● CLASS_NAME = "class name"
● CSS_SELECTOR = "css selector"

Common Actions:
● .send_keys() = to enter input value in a blank
● .click() = to give click command
● .clear() = to clear the input field
● .text = to copy the text
CSS Selector Locator

FROM SYNTAX

Class, Attribute & Value tagname.classvalue[attribute =


‘value’]

Attribute & Value tagname[attribute = ‘value’]

ID tagname#IDvalue

Class tagname.classvalue

Note: Tagname is optional


XPATH Locator 1

FROM SYNTAX

Attribute & Value //tagname[@attribute = ‘value’]

2 Attributes & Values //tagname[@attribute1 = ‘value1’ and/or @attribute2 = ‘value2’]

Text //tagname[text() = ‘type text here’]

Starts with //tagname[starts-with(@attribute,’starting values’)]

contains //tagname[contains(@attribute,’value’)]

Starts with and contains //tagname[starts-with(@attribute1,'starting values') and/or contains(@attribute2,’value')]

Partial Text //tagname[contains/starts-with(text(), ‘partial text here’)]

Use * if don't want to use specific tagname or attribute.


XPATH Locator 2
FROM SYNTAX

Parents to any child or grandchild //tagname[@attribute = ‘value’]//tagname[@attribute = ‘value’]

Parents to specific no. of child or grandchild (//tagname[@attribute = ‘value’]//tagname)[number]

Parents to last child or grandchild (//tagname[@attribute = ‘value’]//tagname)[last()]

Parents to 3rd last child or grandchild (//tagname[@attribute = ‘value’]//tagname)[last()-2]

Child to any ancestor //tagname[@attribute = ‘value’]/ancestor::tagname[@attribute = ‘value’]

Parent to first n number of child (//tagname[@attribute = ‘value’]//tagname)[position() >,<,= number]

/ means absolute, // means relative.


Framework

A framework is a structure that we use to build project. It acts as a


foundation so we don't have to deal with creating unnecessary extra
logic from scratch.
A framework is similar to a template in that we can modify it and add
certain features and higher functionalities to create a complex and
broad project that many people can use.

Pytest Document
PYTHON SELENIUM
with PYTEST
( HINDI 2023 )

#16 - PYTEST FRAMEWORK


BASICS (PART-1)

You might also like