SlideShare a Scribd company logo
Test
Automation
Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test Automation With Playwright with Pytest
UI Test
Automation
With Playwright
with Pytest
GIT HUB:
HTTPS://GITHUB.COM/ARSHADMGR
Playlist
Pytest
https://www.youtube.com/watch?v=5fgkBQHzzKU&list=PLFh6J1ZHhqNgM3kIzG6xkT6Cot-L7owBa&index=
2
https://www.youtube.com/watch?v=y8zY14HHiPI&list=PLP5_A7hnY1Tggph0F0cRqf5iyyZuIBXYC
Risks and Benefits of Playwright
www.arshadqa.com
https://playwright.dev/
Playwright
in Test
Automation
Architecture
WWW.ARSHADQA.COM
Purpose of Metrics collection in Automation
Playwright
Toolset
WWW.ARSHADQA.COM
Framework Includes
Playwright: For browser automation.
Playwright: For browser automation.
pytest-html: For generating HTML reports.
Logging: For detailed logging of test executions.
www.arshadqa.com
Setting Up a Playwright Project
 Step 1: Install Playwright
First, install Playwright along with its dependencies:
pip install playwright pytest pytest-html
www.arshadqa.com
Setting Up a Playwright Project
Install Python and pip
https://chatgpt.com/share/2c5c2a0f-971a-4f25-96cb-2e75a93cbd8d
www.arshadqa.com
Setting Up a Playwright Project
If Python is installed, this command will display the version number.
Setting Up a Playwright Project
Running the Test in command Line
 cd "C:UsersArshad MehmoodOneDrive - Riphah International UniversityDesktop
ArshadMgr“
 Note: Run in Powershell
 pytest MPOPlayWright/tests/test_example.py
www.arshadqa.co
m
Running the Test in command Line
www.arshadqa.com
Running the tests in Command Line
www.arshadqa.com
Setting Up a Playwright Project
www.arshadqa.co
m
Setting Up a Playwright Project
www.arshadqa.co
m
Setting Up a Playwright Project
Then, install the necessary browser binaries:
www.arshadqa.co
m
Setting Up a Playwright Project
https://chatgpt.com/share/33fae0af-6394-4240-8f4f-571d37440baa
www.arshadqa.com
Setting Up a Playwright Project
1 2 3 4
Install Node.js Install Playwright Verify Installation Set Up Path (If Necessary)
www.arshadqa.com
Setting Up a Playwright Project
www.arshadqa.co
m
Setting Up a Playwright Project
Once Node.js is installed, you can install Playwright using npm (Node Package
Manager). Open your terminal or command prompt and run:
www.arshadqa.com
Setting Up a Playwright Project
To ensure Playwright is installed correctly, you can check the version. In the
terminal or command prompt, run:
www.arshadqa.com
Setting Up a Playwright Project
Now you should be able to run Playwright commands using npx. For
example:
www.arshadqa.com
Setting Up a Playwright Project
Create Missing Directory:
Ensure that the C:UsersArshad MehmoodAppDataRoamingnpm directory
exists. You can create it manually if it doesn't exist:
•Open File Explorer.
•Navigate to C:UsersArshad MehmoodAppDataRoaming.
•Create a new folder named npm.
Setting Up a Playwright Project
Ensure PATH includes C:UsersArshad MehmoodAppDataRoamingnpm
and
C:Program Filesnodejs.
www.arshadqa.com
PyCharm for Playwright Test Automation
Step 1: Install PyCharm
1.Download and install PyCharm from the JetBrains website.
2.Choose the Professional edition for full features, or the Community edition for a
free, open-source version.
PyCharm for Playwright Test Automation
Step 2: Create a New Project
1.Open PyCharm and create a new project.
2.Set the project interpreter to the Python version you have installed on your
machine.
PyCharm for Playwright Test Automation
Step 3: Install Required Packages
1.Open the terminal within PyCharm (View > Tool Windows > Terminal).
2.Install the necessary packages using pip:
pip install playwright pytest pytest-html
After installing Playwright, install the necessary browser binaries:
playwright install npm install -g playwright
www.arshadqa.com
PyCharm for Playwright Test Automation
Step 2: Set Up the Project Structure
UI Test Automation With Playwright with Pytest
www.arshadqa.com
Running the Tests
https://chatgpt.com/share/f67f7e19-b377-41f9-a78a-6fff4c9eb016
Demo After Configuration
Playwright Installation
 npm init playwright@latest(JavaScript/TypeScript)
 npm install @playwright/test (Python)
 pip install pytest-playwright (Python)
www.arshadqa.co
m
Record and Playback
 npx playwright codegen
 https://www.saucedemo.com/v1/
www.arshadqa.co
m
Commands(JavaScript/TypeScript)
 npx playwright test
 npx playwright test –headed
 npx playwright test –ui
 npx playwright test -g "MPO-CA-SmokeTest" --headed --
project="chromium“
 npm test
www.arshadqa.com
Commands(Python)
 pytest --headed –s
 Note: Test Name format (test_Name.py)
www.arshadqa.co
m
Faker Library
www.arshadqa.co
m
Successfully installed faker-25.9.1 python-dateutil-2.9.0.post0 six-1.16.0
Faker Library
www.arshadqa.co
m
Faker Library
www.arshadqa.co
m
Faker Library
Faker Library
Data Generation through Open AI
and Faker library
 Open AI Integration is done
 Faker library is installed
Project
Structure
Project Structure
www.arshadqa.co
m
Project Structure
Project Structure
www.arshadqa.com
Use of AI In Test Automation
www.arshadqa.com
Open AI Integration
www.arshadqa.com
https://chatgpt.com/share/a54f89b3-a3fa-431a-9a01-9e3f7cf88dea
Integrating AI into your Playwright tests with pytest can enhance your
test automation by adding capabilities like dynamic element
interaction, data generation, and more intelligent decision-making.
Here's a general approach to achieve this integration:
1. Set Up Your Environment
2. Initialize Playwright
3. Integrate OpenAI API
4. Use AI in Your Tests
Now you can use the AI helper in your tests. Create a test file, e.g., test_example.py:
Open AI Integration Demo (Test Data Generation)
Open AI Integration Demo (Data Validation)
Data validation through Open AI and
Regular Expression library
 Data Validation through Open AI
 Data Validation through Regular
expression helper functions
www.arshadqa.com
Test Cases Execution through Open AI
Test Cases Execution through AI Chatbot
Data Driven Testing
Data-Driven Testing (DDT)
is a software testing methodology where test data is
driven by external data sources such as Excel files,
CSV files, databases, JSON, or XML files. It enables
the execution of test scripts multiple times with
different sets of data to validate application
functionality against various inputs and scenarios. This
approach helps increase test coverage and identify
edge cases.
Key Benefits
of Data-
Driven
Testing
Reusability: Test scripts are reusable with multiple
datasets.
Scalability: New test cases can be added by simply
modifying or adding data to the external data
source.
Efficiency: Reduces the number of test scripts
needed by combining similar tests into a single
script.
Flexibility: Easily integrates with different types of
data sources.
Improved Coverage: Validates the application
across a broad range of inputs.
Components
of Data-
Driven
Testing
Data Source: The external file or
database containing input data.
Data Provider: A mechanism to
fetch data from the data source
and feed it into the test script
Test Script: The main code that
performs the test
Steps for Coding
Here are the steps for getting the test data from excel file
Precondition: Create a excel file and place in project
Step1: import openpyxl, Note: The openpyxl library is used to load and read the Excel file.
Step2: Copy the absolute path where excel is located in project
# Path to the Excel file: excel_file_path = "C:/Users/Arshad
Mehmood/OneDrive/Desktop/ArshadMgr/Payload/testData/StudentProfile.xlsx“
Step3: Function to read test data from the Excel file
Step4: Fill the page fields using data from Excel
Step6: Run the test case
Demo DDT
2 Playwright with Python | Trace Viewer
•NPX PLAYWRIGHT TEST --TRACE ON
www.arshadqa.c
om
Playwright with Python | Playwright Inspector | Text Selector
www.arshadqa.com
Playwright with Python | Selectors | nth-match | has-text
www.arshadqa.co
m
Playwright with Python | CSS Selectors
www.arshadqa.co
m
Playwright with Python | Layout Selectors
www.arshadqa.co
m
Playwright with Python | Xpath
Selector
www.arshadqa.co
m
Playwright with Python | Chaining
Selectors
www.arshadqa.co
m
Playwright with Python | Create first script | fill and click methods
www.arshadqa.co
m
Playwright with Python | Debug script using Playwright Inspector
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part 1
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part 2
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part 3 |
marker skip & xfail
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part 4 |
Custom markers
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part 5| Useful
CLI commands
www.arshadqa.co
m
Playwright with Python | PyTest
framework with Playwright Part 6|
Fixture| Setup and Teardown
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part 7| page
Fixture
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part 8| Playwright CLI commands
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part 9| Run in iPhone| Emulate Device
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part 10|Take Screenshot
www.arshadqa.co
m
Playwright with Python | PyTest with
Playwright Part11 Video Recording
www.arshadqa.co
m
Playwright with Python | PyTest framework with Playwright Part12| Configure base-url
www.arshadqa.co
m
Playwright with Python | PyTest with Playwright Part13| page fixture vs browser fixture
www.arshadqa.co
m
Playwright with Python | PyTest with Playwright Part14| Tracing for debugging| --tracing
www.arshadqa.co
m
Playwright with Python | Parallel Execution| PyTest with Playwright Part15
www.arshadqa.co
m
Playwright with Python | HTML Report Generation| PyTest with Playwright Part16
www.arshadqa.co
m
Playwright with Python | Maximize/Full Screen browser in Playwright - Part 1
www.arshadqa.co
m
Playwright with Python | Parametrize
Fixture| PyTest with Playwright Part17
www.arshadqa.co
m
Playwright with Python | open vs codegen| Emulate Geolocation| Explore button PW Inspector
www.arshadqa.co
m
Playwright with Python | Navigate Back| Navigate Forward| Click Operation
www.arshadqa.co
m
Playwright with Python | fill vs type method| Key Press| How to clear text input in Playwright
 How to enter text in input box?
 How to clear text?
 How to use press key from keyboard?
www.arshadqa.co
m
Playwright with Python |How to get
Text of an Element| inner_text vs
text_content
www.arshadqa.co
m
Playwright with Python |How to get value from an input field | Get attribute value
www.arshadqa.co
m
Playwright with Python | Reuse authenticated state using Browser Context
www.arshadqa.co
m
Playwright with Python | Reuse
authenticated state using storage file
 How to automate logging in?
 How to re-use authenticated state using browser context?
 How to use authenticated state using storage file?
www.arshadqa.co
m
Playwright with Python | Browser not
opening issue with Reuse
authenticated state | Resolved
 How to automate Loggin in?
 How to re-use authenticated state using browser context?
 How to use authenticated state using storage file?
www.arshadqa.co
m
Playwright with python| How to refresh page using Playwright
www.arshadqa.co
m
Playwright with python| How to check and uncheck any checkbox in Playwright
 How to check and uncheck?
 How to uncheck an checkbox?
www.arshadqa.co
m
Playwright with Python| Select radio button| Verify radio button is selected in Playwright
 How to select a radio button?
 How to verify a radio button is selected?
www.arshadqa.co
m
Playwright with Python | Select single select dropdown in Playwright
 How to select single select list by value?
 How to select a single select list by visible text?
 How to select a single select list by value?
 How to deselect a single select list?
www.arshadqa.co
m
Playwright with Python | Select Multi select dropdown in Playwright
www.arshadqa.co
m
Playwright with Python | Deselect options in Multi select dropdown
www.arshadqa.co
m
Playwright with Python | Get selected value from single Select dropdown| Assert dropdown value
www.arshadqa.co
m
Playwright with Python | Assert selected values in Multi Select Dropdown
www.arshadqa.co
m
Playwright with Python | Handle multiple elements/locators in Playwright
www.arshadqa.co
m
Playwright with Python | How to handle Dynamic dropdown using Playwright
www.arshadqa.co
m
Playwright with Python | Setup Playwright from scratch using pipenv
 What is pipenv?
 How to install pipenv?
 How to setup playwright from scratch using pipenv?
 How to run tests using pipenv?
www.arshadqa.co
m
Playwright with Python| Selecting Element Based on Other Element| Augmenting Existing Locator
www.arshadqa.co
m
Playwright with Python | Hover over an element using Playwright
www.arshadqa.co
m
Playwright with Python | Handle Submenu after Hover over | Pause Debugger in Chrome Dev tool
www.arshadqa.co
m
Playwright with Python | Handle non select type Autocomplete/Autosuggestion dropdown
www.arshadqa.co
m
Playwright with Python | How to Handle iframe by ID and by frame locator
www.arshadqa.co
m
Playwright with Python | Handle iframe or frame by name | Handle iframe or frame by index
 Difference between frame and iframe?
 How to identify the iframe on webpage?
 Get all iframe/frame name
 How to handle iframe/frame by name?
 How to handle a iframe/frame by index
 How to create a generic method and pass index to get frames?
www.arshadqa.co
m
Playwright with Python| Handle
Nested iframe or frame using
Playwright
 How to work nested frame or iframe?
www.arshadqa.co
m
Playwright with Python | Window and Tab Handling using Playwright
 Browser context Vs page
 How to handle new tab/window which is opening when user clicks on a
link?
 How to handle multiple new windows/tabs using index of windows or tabs?
 How to activate a tab or bring back to front?
www.arshadqa.co
m
Playwright with Python | Handle Javascript Alert Popup using Playwright
 How to handle Javascript alert popup?
 How to accept and dismiss alert popup?
 How to enter something on alert prompt?
 How to get the message from alert prompt?
www.arshadqa.co
m
Playwright with Python | Handle Sweet Alert popup using Playwright
 How to handle sweet alert popup?
www.arshadqa.co
m
Playwright with Python | Handle Angular Dropdown with no Select tag using Playwright
 How to select value from angular reactive form dropdown without select
and option tags?
www.arshadqa.co
m
Playwright with Python | Auto wait Functionality| Handle dynamic loading | AJAX Loading
 What is auto wait in Playwright?
 What if we need to wait explicit till a element is visible?
www.arshadqa.co
m
Playwright with Python | Handle Basic Auth | Handle Digest Auth using Playwright
 How to handle Basic Authentication?
 How to handle Digest Authentication?
www.arshadqa.co
m
Playwright with Python | View Page
Source
 View Page Source(CLRL+U)
 How to see page source using playwright?
www.arshadqa.co
m
Playwright with Python | Assertions-Part1 | Verify Page title, URL, field value, text content
 Assertion in Playwright
 Expect(page).to_have_url(‘https://www.amazon.in/’, timeout=15000)
 Expect(dropdown).to_have_value(‘Label2’)
 Expect(page.locator(“//select[@name=‘country’]”)).to_have_value(‘IN’)
 Expect(page).to_have_title(‘The Internet’)
 Expect(new_window_txt).to_have_text(‘New Window’)
 Expect(new_window_txt).not_to_have_text(‘Old Window’)
www.arshadqa.co
m
Playwright with Python | Assertions-
Part2 | Verify checkbox is checked or
unchecked
 Verify that checkbox is checked
 Verify that checkbox is unchecked
www.arshadqa.co
m
Playwright with Python| Assertions -Part3 | Verify button is enabled or disabled
 How to verify that if a button is disabled using Playwright?
 How to verify if a button is enabled using Playwright?
www.arshadqa.co
m
Playwright with Python | Run on Chromium, Webkit, FF, Chrome, Edge browsers | CLI Commands
 How to run in Chromium, Webkit, FF, Chrome(local), Edge(local), chrome-
beta, Edge-beta and Edge-dev
 Do we need any binaries to run on local chrome and Edge?
 What is FFMEPG in ms-playwright folder?
 How to download binaries for only chromium or webkit?
 How to set custom folder path for downloading Playwright browser
binaries?
 What is executable_path in launch method
www.arshadqa.co
m
Playwright with Python| Handle Dynamic Web Table (Angular) | Augmenting existing locator| Part 1
 https://www.primefaces.org/primeng-v14-lts/table (Angular)
 Click on checkbox by customer name
 Get the balance of a customer
 Print all data from table
 https://www.w3schools.com/html/html_tables.asp (html)
 Print all data from table
 How to get a particular cell data for a company
 How to get all data for a particular column from web table
www.arshadqa.co
m
Playwright with Python| Handle Dynamic Web Table (HTML) | Augmenting existing locator| Part 2
www.arshadqa.co
m
Playwright with Python | Verify Read only| Editable field | Assertions - Part 4|
 Verify that field is displayed as Read Only
 Verify that field is editable
www.arshadqa.co
m
Playwright with Python |Verify attribute value and text content |Select by Id |Assertions -Part5
 Verify a particular phrase contains in text message
 How to select element by ID
 Verify attribute value of an element
www.arshadqa.co
m
Playwright with Python| Drag and Drop using Playwright
 How to do drag and drop using Playwright
www.arshadqa.co
m
Playwright with Python | How to wait for loading Icon to disappear | Dynamic Control
 How to wait for load icon to disapper
www.arshadqa.co
m
Playwright with Python | How to do
Right Click using Playwright
www.arshadqa.co
m
Playwright with Python | Open browser in Non Incognito mode
 How to open chromium browser in non incognito mode
 How to open edge browser in non incognito mode
 How to open chrome browser in non incognito mode
www.arshadqa.co
m
Playwright with Python | Maximize/Full Screen browser in Playwright - Part 2
 How to maximize browser window
 How to launch browser in full screen mode
www.arshadqa.co
m
Playwright with Python | How to perform double click | Assertion - Part 6| to_have_class()
 How to perform double click?
www.arshadqa.co
m
Playwright with Python | How to handle tooltip message using Playwright
 How to handle tooltip message using playwright?
www.arshadqa.co
m
Playwright with Python | Horizontal Slider | Price Slider automation using Playwright
 How to automate horizontal slider using playwright?
www.arshadqa.co
m
Playwright with Python | Handle toast message using Playwright
 How to handle toast message?
www.arshadqa.co
m
Playwright with Python | Upload single file or multiple files using Playwright
 How to upload single or multiple file using playwright?
www.arshadqa.co
m
Playwright with Python | How to download file using Playwright
 How to download file using Playwright and Python?
www.arshadqa.co
m
Playwright with Python | Handle Shadowdom using Playwright
 How to handle shadowdom using playwright?
www.arshadqa.co
m
Playwright with Python | File Upload without input type="file" element using Playwright
 How to upload file where there is no input tag and there is no type=“file” in
the page
www.arshadqa.co
m
Playwright with Python | Attach Screenshot in Pytest HTML Report on Failure with Playwright
 How to attach screenshot in Pytest HTML report on Failure?
www.arshadqa.co
m
Run Playwright Script in Interactive Mode using Python Shell| Playwright with Python
 How to run Playwright script in Interactive mode?
www.arshadqa.co
m
Save Screenshots and Videos in user defined custom folder| Playwright with Python| | --output
 How to save screenshots and videos in a user defined custom folder(not
default test-results folder)
www.arshadqa.co
m
Implement Data Provider with Playwright | Parametrize Pytest Test | Playwright with Python
 How to implement data provider concept in playwright using Pytest-
Parameterizing tests
www.arshadqa.co
m
Automate Slide to submit | Slide to verify using Playwright | Playwright with Python
 How to automate slide to submit scenario?
 How to automation slide to verify?
www.arshadqa.co
m
Soft Assertion in Playwright | Playwright with Python
 How to use soft assertion in Playwright with Python?
www.arshadqa.co
m
How to Upgrade Playwright | Install a specific Playwright version| Playwright with Python
 How to upgrade Playwright to latest version?
 How to change Playwright version to a specific version?
www.arshadqa.co
m
Playwright's(v1.27) new get_by wrapper methods for locator |
Playwright with Python
www.arshadqa.co
m
Live locator in Playwright Codegen | Playwright v1.28 with Python
 Inspect and find GET_BY_LOCATOR
 Using explore button in Playwright Inspector
www.arshadqa.co
m
Remove focus from element using locator.blur(**kwargs) |
Playwright v1.28 with Python
 How to remove focus from element using locator.blue()
www.arshadqa.co
m
Clear input field using new locator.clear() API | Playwright v1.28 with
Python
www.arshadqa.co
m
POM Framework - Part 1 | Playwright with Python and Pytest | Page Object Model Design Pattern
www.arshadqa.co
m
How to do Drag and drop manually in Playwright with Python
www.arshadqa.co
m
POM Framework - Part 2 | Playwright with Python and Pytest | Page Object Model Design Pattern
www.arshadqa.co
m
POM Framework - Part 3 | Playwright with Python and Pytest | Page Object Model Design Pattern
www.arshadqa.co
m
POM Framework - Part 4 | Playwright with Python and Pytest | Page
Object Model Design Pattern
www.arshadqa.com
POM Framework - Part 5 | Playwright with Python and Pytest | Page Object Model Design Pattern
www.arshadqa.com
POM Framework - Part 6 | Playwright with Python and Pytest | Page
Object Model Design Pattern
www.arshadqa.com
How to handle Graph having SVG tag | Playwright with Python | Handle Svg elements
 How to automate graph having Svg tag in DOM?
www.arshadqa.com
Convert HTML page to PDF using Playwright | Generate PDF
www.arshadqa.com
Inspect Network traffic log using Playwright and Python | Chrome Dev Tools
 How to extract network responses and status code using Playwright and
Python?
www.arshadqa.co
m
Verify CSS Properties using Playwright & Python |Element color, text-align, font style, size
 Assertion-Verify CSS Property Value
 How to verify color of an element?
 How to verify if element text is aligned correctly?
 How to verify the font style and fond size of element text?
www.arshadqa.com
Get Height and Width of element using Playwright and Python
 How to get height and width of element?
www.arshadqa.com
Playwright with Python | Issue- Why two tabs open in Non-Incognito mode?
 Why do we get two tabs when try to run non incognito mode?
www.arshadqa.com
Pytest-How to use multiple fixture in single
test | Playwright with Python
www.arshadqa.com
Select first and last element from Multi Select Dropdown using Playwright and Python
 Select First Element
 Select Last Element
www.arshadqa.com
How do I stop my browser from closing in Playwright with Python | Add breakpoint | Pause script
 How to I stop my browser from closing in Playwright?
 Page.pause()
www.arshadqa.com
Playwright Framework Design
Framework Components
 Framework follows a modular approach, ensuring better maintainability
and scalability. Here’s a breakdown of each component
1. Test Cases:
 Contains actual test scripts using Pytest.
 Calls functions from Page Objects for actions.
2. Page Objects:
 Implements the Page Object Model (POM) to encapsulate UI elements and
actions.
 Enhances reusability and maintainability.
Framework Components
 3. Utils (config.py, logger.py)
 config.py: Stores environment variables and configurations.
 logger.py: Implements logging for debugging and reporting.
4. Test Data (JSON, Excel)
 Manages test data separately for data-driven testing.
 Use pytest parameterization or Faker library for dynamic data.
Framework Components
 5. Pytest
 Runs test cases and integrates with Page Objects.
 Supports parallel execution (pytest-xdist).
 Generates logs, screenshots, and reports.
6. Reports, Screenshots, Logs
 HTML Reports: Use pytest-html for detail test reports
 Screenshots: Capture failures for debugging.
 Logs: Track test execution details.
Framework Components
 7. CI/CD Integration
 Automates test execution in CI/CD pipelines.
 Integrates with Jenkins, GitHub Actions, or GitLab CI.
 8. Git & GitHub
 Version control for the framework.
 Supports code reviews, branching, and collaboration.
www.arshadqa.com
Ad

More Related Content

Similar to UI Test Automation With Playwright with Pytest (20)

QA or the Highway 2022.pptx
QA or the Highway 2022.pptxQA or the Highway 2022.pptx
QA or the Highway 2022.pptx
Perfecto Mobile
 
How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...
Paul Brebner
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
Robot framework
Robot frameworkRobot framework
Robot framework
Rochak Bhalla
 
How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.
Matt Eland
 
Mastering Python Network Automation Tim Peters
Mastering Python Network Automation Tim PetersMastering Python Network Automation Tim Peters
Mastering Python Network Automation Tim Peters
quarinadityo
 
About Qtp 92
About Qtp 92About Qtp 92
About Qtp 92
techgajanan
 
About Qtp_1 92
About Qtp_1 92About Qtp_1 92
About Qtp_1 92
techgajanan
 
About QTP 9.2
About QTP 9.2About QTP 9.2
About QTP 9.2
chandrasekhar
 
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
Paul Brebner
 
Django Architecture Introduction
Django Architecture IntroductionDjango Architecture Introduction
Django Architecture Introduction
Haiqi Chen
 
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
NETWAYS
 
Quality of life through Unit Testing
Quality of life through Unit TestingQuality of life through Unit Testing
Quality of life through Unit Testing
Sian Lerk Lau
 
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Pantheon
 
Beyond Unit Testing
Beyond Unit TestingBeyond Unit Testing
Beyond Unit Testing
Steve Loughran
 
Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTC
Alexandre Gouaillard
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
Opsta
 
Akash rajguru project report sem v
Akash rajguru project report sem vAkash rajguru project report sem v
Akash rajguru project report sem v
Akash Rajguru
 
Automated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178CAutomated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178C
QA Systems
 
Using Groovy to empower WebRTC Network Systems
Using Groovy to empower WebRTC Network SystemsUsing Groovy to empower WebRTC Network Systems
Using Groovy to empower WebRTC Network Systems
antonry
 
QA or the Highway 2022.pptx
QA or the Highway 2022.pptxQA or the Highway 2022.pptx
QA or the Highway 2022.pptx
Perfecto Mobile
 
How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...
Paul Brebner
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.
Matt Eland
 
Mastering Python Network Automation Tim Peters
Mastering Python Network Automation Tim PetersMastering Python Network Automation Tim Peters
Mastering Python Network Automation Tim Peters
quarinadityo
 
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
Paul Brebner
 
Django Architecture Introduction
Django Architecture IntroductionDjango Architecture Introduction
Django Architecture Introduction
Haiqi Chen
 
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
NETWAYS
 
Quality of life through Unit Testing
Quality of life through Unit TestingQuality of life through Unit Testing
Quality of life through Unit Testing
Sian Lerk Lau
 
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Pantheon
 
Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTC
Alexandre Gouaillard
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
Opsta
 
Akash rajguru project report sem v
Akash rajguru project report sem vAkash rajguru project report sem v
Akash rajguru project report sem v
Akash Rajguru
 
Automated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178CAutomated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178C
QA Systems
 
Using Groovy to empower WebRTC Network Systems
Using Groovy to empower WebRTC Network SystemsUsing Groovy to empower WebRTC Network Systems
Using Groovy to empower WebRTC Network Systems
antonry
 

More from Arshad QA (20)

Python For Tester - Understand Python fundamentals and their application in t...
Python For Tester - Understand Python fundamentals and their application in t...Python For Tester - Understand Python fundamentals and their application in t...
Python For Tester - Understand Python fundamentals and their application in t...
Arshad QA
 
Automation Framework Setup Guide for Automators
Automation Framework Setup Guide for AutomatorsAutomation Framework Setup Guide for Automators
Automation Framework Setup Guide for Automators
Arshad QA
 
QA Department's Work Update to Management
QA Department's Work Update to ManagementQA Department's Work Update to Management
QA Department's Work Update to Management
Arshad QA
 
QA Strategic Plan for 5 Years from TMMI Initial to Level 5
QA Strategic Plan for 5 Years from TMMI Initial to Level 5QA Strategic Plan for 5 Years from TMMI Initial to Level 5
QA Strategic Plan for 5 Years from TMMI Initial to Level 5
Arshad QA
 
Strategice Plan for CMMI Implementation For Next 3 Months
Strategice Plan for CMMI Implementation For Next 3 MonthsStrategice Plan for CMMI Implementation For Next 3 Months
Strategice Plan for CMMI Implementation For Next 3 Months
Arshad QA
 
Agile Testing Course based on the ISTQB Agile Tester Syllabus
Agile Testing Course based on the ISTQB Agile Tester SyllabusAgile Testing Course based on the ISTQB Agile Tester Syllabus
Agile Testing Course based on the ISTQB Agile Tester Syllabus
Arshad QA
 
Capability Maturity Model Integration Implementation
Capability Maturity Model Integration ImplementationCapability Maturity Model Integration Implementation
Capability Maturity Model Integration Implementation
Arshad QA
 
International Software Testing Qualification Board
International Software Testing Qualification BoardInternational Software Testing Qualification Board
International Software Testing Qualification Board
Arshad QA
 
A Generic Login Test Cases (Functional and Non-Functional)
A Generic Login Test Cases (Functional and Non-Functional)A Generic Login Test Cases (Functional and Non-Functional)
A Generic Login Test Cases (Functional and Non-Functional)
Arshad QA
 
Agile Project Management By Using Jira (Proposal)
Agile Project Management By Using Jira (Proposal)Agile Project Management By Using Jira (Proposal)
Agile Project Management By Using Jira (Proposal)
Arshad QA
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
Arshad QA
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
Arshad QA
 
API Automation in Rest Assured by using BDD Approach with TestNG
API Automation in Rest Assured by using BDD Approach with TestNGAPI Automation in Rest Assured by using BDD Approach with TestNG
API Automation in Rest Assured by using BDD Approach with TestNG
Arshad QA
 
Behavior Driven Development(BDD) by using Cucumber Plugin in Cypress
Behavior Driven Development(BDD) by using Cucumber Plugin in CypressBehavior Driven Development(BDD) by using Cucumber Plugin in Cypress
Behavior Driven Development(BDD) by using Cucumber Plugin in Cypress
Arshad QA
 
QATraining20Feb2023.pptx
QATraining20Feb2023.pptxQATraining20Feb2023.pptx
QATraining20Feb2023.pptx
Arshad QA
 
QATraining27Feb2023.pptx
QATraining27Feb2023.pptxQATraining27Feb2023.pptx
QATraining27Feb2023.pptx
Arshad QA
 
STC_InHouseDevelopment.pptx
STC_InHouseDevelopment.pptxSTC_InHouseDevelopment.pptx
STC_InHouseDevelopment.pptx
Arshad QA
 
STC-TestAutomation.pptx
STC-TestAutomation.pptxSTC-TestAutomation.pptx
STC-TestAutomation.pptx
Arshad QA
 
Cypress.pptx
Cypress.pptxCypress.pptx
Cypress.pptx
Arshad QA
 
ISTQB-FL.pptx
ISTQB-FL.pptxISTQB-FL.pptx
ISTQB-FL.pptx
Arshad QA
 
Python For Tester - Understand Python fundamentals and their application in t...
Python For Tester - Understand Python fundamentals and their application in t...Python For Tester - Understand Python fundamentals and their application in t...
Python For Tester - Understand Python fundamentals and their application in t...
Arshad QA
 
Automation Framework Setup Guide for Automators
Automation Framework Setup Guide for AutomatorsAutomation Framework Setup Guide for Automators
Automation Framework Setup Guide for Automators
Arshad QA
 
QA Department's Work Update to Management
QA Department's Work Update to ManagementQA Department's Work Update to Management
QA Department's Work Update to Management
Arshad QA
 
QA Strategic Plan for 5 Years from TMMI Initial to Level 5
QA Strategic Plan for 5 Years from TMMI Initial to Level 5QA Strategic Plan for 5 Years from TMMI Initial to Level 5
QA Strategic Plan for 5 Years from TMMI Initial to Level 5
Arshad QA
 
Strategice Plan for CMMI Implementation For Next 3 Months
Strategice Plan for CMMI Implementation For Next 3 MonthsStrategice Plan for CMMI Implementation For Next 3 Months
Strategice Plan for CMMI Implementation For Next 3 Months
Arshad QA
 
Agile Testing Course based on the ISTQB Agile Tester Syllabus
Agile Testing Course based on the ISTQB Agile Tester SyllabusAgile Testing Course based on the ISTQB Agile Tester Syllabus
Agile Testing Course based on the ISTQB Agile Tester Syllabus
Arshad QA
 
Capability Maturity Model Integration Implementation
Capability Maturity Model Integration ImplementationCapability Maturity Model Integration Implementation
Capability Maturity Model Integration Implementation
Arshad QA
 
International Software Testing Qualification Board
International Software Testing Qualification BoardInternational Software Testing Qualification Board
International Software Testing Qualification Board
Arshad QA
 
A Generic Login Test Cases (Functional and Non-Functional)
A Generic Login Test Cases (Functional and Non-Functional)A Generic Login Test Cases (Functional and Non-Functional)
A Generic Login Test Cases (Functional and Non-Functional)
Arshad QA
 
Agile Project Management By Using Jira (Proposal)
Agile Project Management By Using Jira (Proposal)Agile Project Management By Using Jira (Proposal)
Agile Project Management By Using Jira (Proposal)
Arshad QA
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
Arshad QA
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
Arshad QA
 
API Automation in Rest Assured by using BDD Approach with TestNG
API Automation in Rest Assured by using BDD Approach with TestNGAPI Automation in Rest Assured by using BDD Approach with TestNG
API Automation in Rest Assured by using BDD Approach with TestNG
Arshad QA
 
Behavior Driven Development(BDD) by using Cucumber Plugin in Cypress
Behavior Driven Development(BDD) by using Cucumber Plugin in CypressBehavior Driven Development(BDD) by using Cucumber Plugin in Cypress
Behavior Driven Development(BDD) by using Cucumber Plugin in Cypress
Arshad QA
 
QATraining20Feb2023.pptx
QATraining20Feb2023.pptxQATraining20Feb2023.pptx
QATraining20Feb2023.pptx
Arshad QA
 
QATraining27Feb2023.pptx
QATraining27Feb2023.pptxQATraining27Feb2023.pptx
QATraining27Feb2023.pptx
Arshad QA
 
STC_InHouseDevelopment.pptx
STC_InHouseDevelopment.pptxSTC_InHouseDevelopment.pptx
STC_InHouseDevelopment.pptx
Arshad QA
 
STC-TestAutomation.pptx
STC-TestAutomation.pptxSTC-TestAutomation.pptx
STC-TestAutomation.pptx
Arshad QA
 
Cypress.pptx
Cypress.pptxCypress.pptx
Cypress.pptx
Arshad QA
 
ISTQB-FL.pptx
ISTQB-FL.pptxISTQB-FL.pptx
ISTQB-FL.pptx
Arshad QA
 
Ad

Recently uploaded (20)

Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
Ad

UI Test Automation With Playwright with Pytest

  • 13. UI Test Automation With Playwright with Pytest GIT HUB: HTTPS://GITHUB.COM/ARSHADMGR
  • 15. Risks and Benefits of Playwright www.arshadqa.com https://playwright.dev/
  • 17. Purpose of Metrics collection in Automation
  • 19. Framework Includes Playwright: For browser automation. Playwright: For browser automation. pytest-html: For generating HTML reports. Logging: For detailed logging of test executions.
  • 20. www.arshadqa.com Setting Up a Playwright Project  Step 1: Install Playwright First, install Playwright along with its dependencies: pip install playwright pytest pytest-html
  • 21. www.arshadqa.com Setting Up a Playwright Project Install Python and pip https://chatgpt.com/share/2c5c2a0f-971a-4f25-96cb-2e75a93cbd8d
  • 22. www.arshadqa.com Setting Up a Playwright Project If Python is installed, this command will display the version number.
  • 23. Setting Up a Playwright Project
  • 24. Running the Test in command Line  cd "C:UsersArshad MehmoodOneDrive - Riphah International UniversityDesktop ArshadMgr“  Note: Run in Powershell  pytest MPOPlayWright/tests/test_example.py www.arshadqa.co m
  • 25. Running the Test in command Line www.arshadqa.com
  • 26. Running the tests in Command Line
  • 27. www.arshadqa.com Setting Up a Playwright Project
  • 28. www.arshadqa.co m Setting Up a Playwright Project
  • 29. www.arshadqa.co m Setting Up a Playwright Project Then, install the necessary browser binaries:
  • 30. www.arshadqa.co m Setting Up a Playwright Project https://chatgpt.com/share/33fae0af-6394-4240-8f4f-571d37440baa
  • 31. www.arshadqa.com Setting Up a Playwright Project 1 2 3 4 Install Node.js Install Playwright Verify Installation Set Up Path (If Necessary)
  • 32. www.arshadqa.com Setting Up a Playwright Project
  • 33. www.arshadqa.co m Setting Up a Playwright Project Once Node.js is installed, you can install Playwright using npm (Node Package Manager). Open your terminal or command prompt and run:
  • 34. www.arshadqa.com Setting Up a Playwright Project To ensure Playwright is installed correctly, you can check the version. In the terminal or command prompt, run:
  • 35. www.arshadqa.com Setting Up a Playwright Project Now you should be able to run Playwright commands using npx. For example:
  • 36. www.arshadqa.com Setting Up a Playwright Project Create Missing Directory: Ensure that the C:UsersArshad MehmoodAppDataRoamingnpm directory exists. You can create it manually if it doesn't exist: •Open File Explorer. •Navigate to C:UsersArshad MehmoodAppDataRoaming. •Create a new folder named npm.
  • 37. Setting Up a Playwright Project Ensure PATH includes C:UsersArshad MehmoodAppDataRoamingnpm and C:Program Filesnodejs.
  • 38. www.arshadqa.com PyCharm for Playwright Test Automation Step 1: Install PyCharm 1.Download and install PyCharm from the JetBrains website. 2.Choose the Professional edition for full features, or the Community edition for a free, open-source version.
  • 39. PyCharm for Playwright Test Automation Step 2: Create a New Project 1.Open PyCharm and create a new project. 2.Set the project interpreter to the Python version you have installed on your machine.
  • 40. PyCharm for Playwright Test Automation Step 3: Install Required Packages 1.Open the terminal within PyCharm (View > Tool Windows > Terminal). 2.Install the necessary packages using pip: pip install playwright pytest pytest-html After installing Playwright, install the necessary browser binaries: playwright install npm install -g playwright
  • 41. www.arshadqa.com PyCharm for Playwright Test Automation Step 2: Set Up the Project Structure
  • 45. Playwright Installation  npm init playwright@latest(JavaScript/TypeScript)  npm install @playwright/test (Python)  pip install pytest-playwright (Python) www.arshadqa.co m
  • 46. Record and Playback  npx playwright codegen  https://www.saucedemo.com/v1/ www.arshadqa.co m
  • 47. Commands(JavaScript/TypeScript)  npx playwright test  npx playwright test –headed  npx playwright test –ui  npx playwright test -g "MPO-CA-SmokeTest" --headed -- project="chromium“  npm test www.arshadqa.com
  • 48. Commands(Python)  pytest --headed –s  Note: Test Name format (test_Name.py) www.arshadqa.co m
  • 49. Faker Library www.arshadqa.co m Successfully installed faker-25.9.1 python-dateutil-2.9.0.post0 six-1.16.0
  • 54. Data Generation through Open AI and Faker library  Open AI Integration is done  Faker library is installed
  • 59. Use of AI In Test Automation www.arshadqa.com
  • 60. Open AI Integration www.arshadqa.com https://chatgpt.com/share/a54f89b3-a3fa-431a-9a01-9e3f7cf88dea Integrating AI into your Playwright tests with pytest can enhance your test automation by adding capabilities like dynamic element interaction, data generation, and more intelligent decision-making. Here's a general approach to achieve this integration:
  • 61. 1. Set Up Your Environment
  • 64. 4. Use AI in Your Tests Now you can use the AI helper in your tests. Create a test file, e.g., test_example.py:
  • 65. Open AI Integration Demo (Test Data Generation)
  • 66. Open AI Integration Demo (Data Validation)
  • 67. Data validation through Open AI and Regular Expression library  Data Validation through Open AI  Data Validation through Regular expression helper functions www.arshadqa.com
  • 68. Test Cases Execution through Open AI
  • 69. Test Cases Execution through AI Chatbot
  • 70. Data Driven Testing Data-Driven Testing (DDT) is a software testing methodology where test data is driven by external data sources such as Excel files, CSV files, databases, JSON, or XML files. It enables the execution of test scripts multiple times with different sets of data to validate application functionality against various inputs and scenarios. This approach helps increase test coverage and identify edge cases.
  • 71. Key Benefits of Data- Driven Testing Reusability: Test scripts are reusable with multiple datasets. Scalability: New test cases can be added by simply modifying or adding data to the external data source. Efficiency: Reduces the number of test scripts needed by combining similar tests into a single script. Flexibility: Easily integrates with different types of data sources. Improved Coverage: Validates the application across a broad range of inputs.
  • 72. Components of Data- Driven Testing Data Source: The external file or database containing input data. Data Provider: A mechanism to fetch data from the data source and feed it into the test script Test Script: The main code that performs the test
  • 73. Steps for Coding Here are the steps for getting the test data from excel file Precondition: Create a excel file and place in project Step1: import openpyxl, Note: The openpyxl library is used to load and read the Excel file. Step2: Copy the absolute path where excel is located in project # Path to the Excel file: excel_file_path = "C:/Users/Arshad Mehmood/OneDrive/Desktop/ArshadMgr/Payload/testData/StudentProfile.xlsx“ Step3: Function to read test data from the Excel file Step4: Fill the page fields using data from Excel Step6: Run the test case
  • 75. 2 Playwright with Python | Trace Viewer •NPX PLAYWRIGHT TEST --TRACE ON www.arshadqa.c om
  • 76. Playwright with Python | Playwright Inspector | Text Selector www.arshadqa.com
  • 77. Playwright with Python | Selectors | nth-match | has-text www.arshadqa.co m
  • 78. Playwright with Python | CSS Selectors www.arshadqa.co m
  • 79. Playwright with Python | Layout Selectors www.arshadqa.co m
  • 80. Playwright with Python | Xpath Selector www.arshadqa.co m
  • 81. Playwright with Python | Chaining Selectors www.arshadqa.co m
  • 82. Playwright with Python | Create first script | fill and click methods www.arshadqa.co m
  • 83. Playwright with Python | Debug script using Playwright Inspector www.arshadqa.co m
  • 84. Playwright with Python | PyTest framework with Playwright Part 1 www.arshadqa.co m
  • 85. Playwright with Python | PyTest framework with Playwright Part 2 www.arshadqa.co m
  • 86. Playwright with Python | PyTest framework with Playwright Part 3 | marker skip & xfail www.arshadqa.co m
  • 87. Playwright with Python | PyTest framework with Playwright Part 4 | Custom markers www.arshadqa.co m
  • 88. Playwright with Python | PyTest framework with Playwright Part 5| Useful CLI commands www.arshadqa.co m
  • 89. Playwright with Python | PyTest framework with Playwright Part 6| Fixture| Setup and Teardown www.arshadqa.co m
  • 90. Playwright with Python | PyTest framework with Playwright Part 7| page Fixture www.arshadqa.co m
  • 91. Playwright with Python | PyTest framework with Playwright Part 8| Playwright CLI commands www.arshadqa.co m
  • 92. Playwright with Python | PyTest framework with Playwright Part 9| Run in iPhone| Emulate Device www.arshadqa.co m
  • 93. Playwright with Python | PyTest framework with Playwright Part 10|Take Screenshot www.arshadqa.co m
  • 94. Playwright with Python | PyTest with Playwright Part11 Video Recording www.arshadqa.co m
  • 95. Playwright with Python | PyTest framework with Playwright Part12| Configure base-url www.arshadqa.co m
  • 96. Playwright with Python | PyTest with Playwright Part13| page fixture vs browser fixture www.arshadqa.co m
  • 97. Playwright with Python | PyTest with Playwright Part14| Tracing for debugging| --tracing www.arshadqa.co m
  • 98. Playwright with Python | Parallel Execution| PyTest with Playwright Part15 www.arshadqa.co m
  • 99. Playwright with Python | HTML Report Generation| PyTest with Playwright Part16 www.arshadqa.co m
  • 100. Playwright with Python | Maximize/Full Screen browser in Playwright - Part 1 www.arshadqa.co m
  • 101. Playwright with Python | Parametrize Fixture| PyTest with Playwright Part17 www.arshadqa.co m
  • 102. Playwright with Python | open vs codegen| Emulate Geolocation| Explore button PW Inspector www.arshadqa.co m
  • 103. Playwright with Python | Navigate Back| Navigate Forward| Click Operation www.arshadqa.co m
  • 104. Playwright with Python | fill vs type method| Key Press| How to clear text input in Playwright  How to enter text in input box?  How to clear text?  How to use press key from keyboard? www.arshadqa.co m
  • 105. Playwright with Python |How to get Text of an Element| inner_text vs text_content www.arshadqa.co m
  • 106. Playwright with Python |How to get value from an input field | Get attribute value www.arshadqa.co m
  • 107. Playwright with Python | Reuse authenticated state using Browser Context www.arshadqa.co m
  • 108. Playwright with Python | Reuse authenticated state using storage file  How to automate logging in?  How to re-use authenticated state using browser context?  How to use authenticated state using storage file? www.arshadqa.co m
  • 109. Playwright with Python | Browser not opening issue with Reuse authenticated state | Resolved  How to automate Loggin in?  How to re-use authenticated state using browser context?  How to use authenticated state using storage file? www.arshadqa.co m
  • 110. Playwright with python| How to refresh page using Playwright www.arshadqa.co m
  • 111. Playwright with python| How to check and uncheck any checkbox in Playwright  How to check and uncheck?  How to uncheck an checkbox? www.arshadqa.co m
  • 112. Playwright with Python| Select radio button| Verify radio button is selected in Playwright  How to select a radio button?  How to verify a radio button is selected? www.arshadqa.co m
  • 113. Playwright with Python | Select single select dropdown in Playwright  How to select single select list by value?  How to select a single select list by visible text?  How to select a single select list by value?  How to deselect a single select list? www.arshadqa.co m
  • 114. Playwright with Python | Select Multi select dropdown in Playwright www.arshadqa.co m
  • 115. Playwright with Python | Deselect options in Multi select dropdown www.arshadqa.co m
  • 116. Playwright with Python | Get selected value from single Select dropdown| Assert dropdown value www.arshadqa.co m
  • 117. Playwright with Python | Assert selected values in Multi Select Dropdown www.arshadqa.co m
  • 118. Playwright with Python | Handle multiple elements/locators in Playwright www.arshadqa.co m
  • 119. Playwright with Python | How to handle Dynamic dropdown using Playwright www.arshadqa.co m
  • 120. Playwright with Python | Setup Playwright from scratch using pipenv  What is pipenv?  How to install pipenv?  How to setup playwright from scratch using pipenv?  How to run tests using pipenv? www.arshadqa.co m
  • 121. Playwright with Python| Selecting Element Based on Other Element| Augmenting Existing Locator www.arshadqa.co m
  • 122. Playwright with Python | Hover over an element using Playwright www.arshadqa.co m
  • 123. Playwright with Python | Handle Submenu after Hover over | Pause Debugger in Chrome Dev tool www.arshadqa.co m
  • 124. Playwright with Python | Handle non select type Autocomplete/Autosuggestion dropdown www.arshadqa.co m
  • 125. Playwright with Python | How to Handle iframe by ID and by frame locator www.arshadqa.co m
  • 126. Playwright with Python | Handle iframe or frame by name | Handle iframe or frame by index  Difference between frame and iframe?  How to identify the iframe on webpage?  Get all iframe/frame name  How to handle iframe/frame by name?  How to handle a iframe/frame by index  How to create a generic method and pass index to get frames? www.arshadqa.co m
  • 127. Playwright with Python| Handle Nested iframe or frame using Playwright  How to work nested frame or iframe? www.arshadqa.co m
  • 128. Playwright with Python | Window and Tab Handling using Playwright  Browser context Vs page  How to handle new tab/window which is opening when user clicks on a link?  How to handle multiple new windows/tabs using index of windows or tabs?  How to activate a tab or bring back to front? www.arshadqa.co m
  • 129. Playwright with Python | Handle Javascript Alert Popup using Playwright  How to handle Javascript alert popup?  How to accept and dismiss alert popup?  How to enter something on alert prompt?  How to get the message from alert prompt? www.arshadqa.co m
  • 130. Playwright with Python | Handle Sweet Alert popup using Playwright  How to handle sweet alert popup? www.arshadqa.co m
  • 131. Playwright with Python | Handle Angular Dropdown with no Select tag using Playwright  How to select value from angular reactive form dropdown without select and option tags? www.arshadqa.co m
  • 132. Playwright with Python | Auto wait Functionality| Handle dynamic loading | AJAX Loading  What is auto wait in Playwright?  What if we need to wait explicit till a element is visible? www.arshadqa.co m
  • 133. Playwright with Python | Handle Basic Auth | Handle Digest Auth using Playwright  How to handle Basic Authentication?  How to handle Digest Authentication? www.arshadqa.co m
  • 134. Playwright with Python | View Page Source  View Page Source(CLRL+U)  How to see page source using playwright? www.arshadqa.co m
  • 135. Playwright with Python | Assertions-Part1 | Verify Page title, URL, field value, text content  Assertion in Playwright  Expect(page).to_have_url(‘https://www.amazon.in/’, timeout=15000)  Expect(dropdown).to_have_value(‘Label2’)  Expect(page.locator(“//select[@name=‘country’]”)).to_have_value(‘IN’)  Expect(page).to_have_title(‘The Internet’)  Expect(new_window_txt).to_have_text(‘New Window’)  Expect(new_window_txt).not_to_have_text(‘Old Window’) www.arshadqa.co m
  • 136. Playwright with Python | Assertions- Part2 | Verify checkbox is checked or unchecked  Verify that checkbox is checked  Verify that checkbox is unchecked www.arshadqa.co m
  • 137. Playwright with Python| Assertions -Part3 | Verify button is enabled or disabled  How to verify that if a button is disabled using Playwright?  How to verify if a button is enabled using Playwright? www.arshadqa.co m
  • 138. Playwright with Python | Run on Chromium, Webkit, FF, Chrome, Edge browsers | CLI Commands  How to run in Chromium, Webkit, FF, Chrome(local), Edge(local), chrome- beta, Edge-beta and Edge-dev  Do we need any binaries to run on local chrome and Edge?  What is FFMEPG in ms-playwright folder?  How to download binaries for only chromium or webkit?  How to set custom folder path for downloading Playwright browser binaries?  What is executable_path in launch method www.arshadqa.co m
  • 139. Playwright with Python| Handle Dynamic Web Table (Angular) | Augmenting existing locator| Part 1  https://www.primefaces.org/primeng-v14-lts/table (Angular)  Click on checkbox by customer name  Get the balance of a customer  Print all data from table  https://www.w3schools.com/html/html_tables.asp (html)  Print all data from table  How to get a particular cell data for a company  How to get all data for a particular column from web table www.arshadqa.co m
  • 140. Playwright with Python| Handle Dynamic Web Table (HTML) | Augmenting existing locator| Part 2 www.arshadqa.co m
  • 141. Playwright with Python | Verify Read only| Editable field | Assertions - Part 4|  Verify that field is displayed as Read Only  Verify that field is editable www.arshadqa.co m
  • 142. Playwright with Python |Verify attribute value and text content |Select by Id |Assertions -Part5  Verify a particular phrase contains in text message  How to select element by ID  Verify attribute value of an element www.arshadqa.co m
  • 143. Playwright with Python| Drag and Drop using Playwright  How to do drag and drop using Playwright www.arshadqa.co m
  • 144. Playwright with Python | How to wait for loading Icon to disappear | Dynamic Control  How to wait for load icon to disapper www.arshadqa.co m
  • 145. Playwright with Python | How to do Right Click using Playwright www.arshadqa.co m
  • 146. Playwright with Python | Open browser in Non Incognito mode  How to open chromium browser in non incognito mode  How to open edge browser in non incognito mode  How to open chrome browser in non incognito mode www.arshadqa.co m
  • 147. Playwright with Python | Maximize/Full Screen browser in Playwright - Part 2  How to maximize browser window  How to launch browser in full screen mode www.arshadqa.co m
  • 148. Playwright with Python | How to perform double click | Assertion - Part 6| to_have_class()  How to perform double click? www.arshadqa.co m
  • 149. Playwright with Python | How to handle tooltip message using Playwright  How to handle tooltip message using playwright? www.arshadqa.co m
  • 150. Playwright with Python | Horizontal Slider | Price Slider automation using Playwright  How to automate horizontal slider using playwright? www.arshadqa.co m
  • 151. Playwright with Python | Handle toast message using Playwright  How to handle toast message? www.arshadqa.co m
  • 152. Playwright with Python | Upload single file or multiple files using Playwright  How to upload single or multiple file using playwright? www.arshadqa.co m
  • 153. Playwright with Python | How to download file using Playwright  How to download file using Playwright and Python? www.arshadqa.co m
  • 154. Playwright with Python | Handle Shadowdom using Playwright  How to handle shadowdom using playwright? www.arshadqa.co m
  • 155. Playwright with Python | File Upload without input type="file" element using Playwright  How to upload file where there is no input tag and there is no type=“file” in the page www.arshadqa.co m
  • 156. Playwright with Python | Attach Screenshot in Pytest HTML Report on Failure with Playwright  How to attach screenshot in Pytest HTML report on Failure? www.arshadqa.co m
  • 157. Run Playwright Script in Interactive Mode using Python Shell| Playwright with Python  How to run Playwright script in Interactive mode? www.arshadqa.co m
  • 158. Save Screenshots and Videos in user defined custom folder| Playwright with Python| | --output  How to save screenshots and videos in a user defined custom folder(not default test-results folder) www.arshadqa.co m
  • 159. Implement Data Provider with Playwright | Parametrize Pytest Test | Playwright with Python  How to implement data provider concept in playwright using Pytest- Parameterizing tests www.arshadqa.co m
  • 160. Automate Slide to submit | Slide to verify using Playwright | Playwright with Python  How to automate slide to submit scenario?  How to automation slide to verify? www.arshadqa.co m
  • 161. Soft Assertion in Playwright | Playwright with Python  How to use soft assertion in Playwright with Python? www.arshadqa.co m
  • 162. How to Upgrade Playwright | Install a specific Playwright version| Playwright with Python  How to upgrade Playwright to latest version?  How to change Playwright version to a specific version? www.arshadqa.co m
  • 163. Playwright's(v1.27) new get_by wrapper methods for locator | Playwright with Python www.arshadqa.co m
  • 164. Live locator in Playwright Codegen | Playwright v1.28 with Python  Inspect and find GET_BY_LOCATOR  Using explore button in Playwright Inspector www.arshadqa.co m
  • 165. Remove focus from element using locator.blur(**kwargs) | Playwright v1.28 with Python  How to remove focus from element using locator.blue() www.arshadqa.co m
  • 166. Clear input field using new locator.clear() API | Playwright v1.28 with Python www.arshadqa.co m
  • 167. POM Framework - Part 1 | Playwright with Python and Pytest | Page Object Model Design Pattern www.arshadqa.co m
  • 168. How to do Drag and drop manually in Playwright with Python www.arshadqa.co m
  • 169. POM Framework - Part 2 | Playwright with Python and Pytest | Page Object Model Design Pattern www.arshadqa.co m
  • 170. POM Framework - Part 3 | Playwright with Python and Pytest | Page Object Model Design Pattern www.arshadqa.co m
  • 171. POM Framework - Part 4 | Playwright with Python and Pytest | Page Object Model Design Pattern www.arshadqa.com
  • 172. POM Framework - Part 5 | Playwright with Python and Pytest | Page Object Model Design Pattern www.arshadqa.com
  • 173. POM Framework - Part 6 | Playwright with Python and Pytest | Page Object Model Design Pattern www.arshadqa.com
  • 174. How to handle Graph having SVG tag | Playwright with Python | Handle Svg elements  How to automate graph having Svg tag in DOM? www.arshadqa.com
  • 175. Convert HTML page to PDF using Playwright | Generate PDF www.arshadqa.com
  • 176. Inspect Network traffic log using Playwright and Python | Chrome Dev Tools  How to extract network responses and status code using Playwright and Python? www.arshadqa.co m
  • 177. Verify CSS Properties using Playwright & Python |Element color, text-align, font style, size  Assertion-Verify CSS Property Value  How to verify color of an element?  How to verify if element text is aligned correctly?  How to verify the font style and fond size of element text? www.arshadqa.com
  • 178. Get Height and Width of element using Playwright and Python  How to get height and width of element? www.arshadqa.com
  • 179. Playwright with Python | Issue- Why two tabs open in Non-Incognito mode?  Why do we get two tabs when try to run non incognito mode? www.arshadqa.com
  • 180. Pytest-How to use multiple fixture in single test | Playwright with Python www.arshadqa.com
  • 181. Select first and last element from Multi Select Dropdown using Playwright and Python  Select First Element  Select Last Element www.arshadqa.com
  • 182. How do I stop my browser from closing in Playwright with Python | Add breakpoint | Pause script  How to I stop my browser from closing in Playwright?  Page.pause() www.arshadqa.com
  • 184. Framework Components  Framework follows a modular approach, ensuring better maintainability and scalability. Here’s a breakdown of each component 1. Test Cases:  Contains actual test scripts using Pytest.  Calls functions from Page Objects for actions. 2. Page Objects:  Implements the Page Object Model (POM) to encapsulate UI elements and actions.  Enhances reusability and maintainability.
  • 185. Framework Components  3. Utils (config.py, logger.py)  config.py: Stores environment variables and configurations.  logger.py: Implements logging for debugging and reporting. 4. Test Data (JSON, Excel)  Manages test data separately for data-driven testing.  Use pytest parameterization or Faker library for dynamic data.
  • 186. Framework Components  5. Pytest  Runs test cases and integrates with Page Objects.  Supports parallel execution (pytest-xdist).  Generates logs, screenshots, and reports. 6. Reports, Screenshots, Logs  HTML Reports: Use pytest-html for detail test reports  Screenshots: Capture failures for debugging.  Logs: Track test execution details.
  • 187. Framework Components  7. CI/CD Integration  Automates test execution in CI/CD pipelines.  Integrates with Jenkins, GitHub Actions, or GitLab CI.  8. Git & GitHub  Version control for the framework.  Supports code reviews, branching, and collaboration.