SlideShare a Scribd company logo
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
• Pallavi Sharma
• Founder
• 5 Elements Learnings
• Mosaic Words
• Selenium Committer
• Professional Experience -18 years+
• Published Author – 4 Technical Books
• https://www.linkedin.com/in/pallavimuse/
• https://5elementslearning.dev/
• https://github.com/pallavigitwork
Scan QR Code
❑ About Selenium Project[5]
❑ The Selenium Documentation [10]
❑ Setting The System[5]
❑ Identify and Add[15]
❑ Committing[5]
❑ Questions /Discussions[5]
Ice Breaker
Selenium automates web
browsers, that’s it.
How we use that power
its entirely up to us!
What is
Selenium?
Selenium Project
Selenium IDE
For Record and
Playback of
scripts
Selenium WebDriver
Create robust,
browsed based
automation
Selenium Grid
Scale by
distributing on
different
machines
Selenium Governance
Selenium
PLC TLC Committers
Core Selenium Website and Docs Translators Docker
Users Sponsors Volunteers
https://www.selenium.dev/project/governance/
Why Contribute to Open Source
Learn New Skills
Network and Build Reputation
Aware of new technologies
Do it because you care
Why do anything at all? ☺
Prerequisite
• Link to submission –
https://confengine.com/conferences/se
lenium-conf-
2024/proposal/19900/begin-your-
journey-to-be-a-selenium-committer-
through-selenium-docs
• Working knowledge of Programming
Language
• Working knowledge of Selenium
• Working knowledge of unit test framework
• Working knowledge of GIT
• Motivated to help improve Selenium Project
Selenium Documentation
• Link for documentation-
https://www.selenium.dev/documentation/
• Github link-
https://github.com/SeleniumHQ/seleniumhq.
github.io
• The main folders in the repository for us are
– content and examples
CONTENT Folder
• Let us explore the Content Folder,
available on Github.
• You will find that the folders here matches
with the information on the selenium
documentation
https://www.selenium.dev/documentation/
• So if wish to make change in a particular
page, we should now be able to locate the
folder, and inside it the file.
• To understand this, we will take an
example
website_and_docs/content/documentation
Github Selenium Docs Website
EXAMPLES Folder
seleniumhq.github.io/examples/
Github Examples on Selenium Docs Website
Language Support
Coding
• Java
• Csharp
• Python
• Ruby
• JavaScript
• Kotlin
Translations
• English (.en)
• Portugese (pt-br)
• Japanese (.ja)
• Chinese (.zh-cn)
Plant a Tree ☺
Contribution Steps
System Setup
Programming
language
setup
Selenium
client
bindings for
the language
Default
browser to
run scripts
Hugo Server
to view site
locally
Github
Github
Account
Fork
Selenium
Repository
Clone
Repository
on System
Create
Branch
Identify and Add
Identify files
which needs
work
Update
content file
Update
example code
Do for all
language
translations
Run Hugo
server to
check local
website build
Commit and
Communicate
Commit the
change after
ensuring no
errors
Raise PR
Give Proper
description
Sign CLA
Wait for
approval
/change
Working Example
• https://www.selenium.dev/documentation/
webdriver/interactions/windows/
• Java Code -
https://github.com/SeleniumHQ/seleniumh
q.github.io/blob/trunk/examples/java/src/te
st/java/dev/selenium/interactions/Windows
Test.java
• We will do in this session for CSharp.
Flow
Github account Set Hugo
Fork Selenium
Repository
Clone Directory Create Branch
Go to website
and docs subdir
/examples
Run hugo, launch
localhost:1313
Identify and fix
issue
Do for all
languages files
Verify website
locally
Commit Change Raise PR Sign CLA
Wait for
acceptance, or
modifications
Celebrate first
and many
commits to come
☺
System Setup • Programming language setup(binaries, IDE)
(We are doing for C# as an example here)
• Csharp-visual studio
• .net sdk
• Selenium client bindings for the language
• Selenium Nuget
• Chrome Driver Nuget
• MSTest
• Default browser to run scripts
• Chrome
https://github.com/SeleniumHQ/sele
niumhq.github.io/blob/trunk/READM
E.md
https://www.selenium.dev/document
ation/webdriver/getting_started/usin
g_selenium/
Setting Hugo
• Hugo is a popular open source framework for building
static websites. https://gohugo.io/
• Docsy is a hugo theme used for technical
documentation sites- https://www.docsy.dev/
• Setup steps for Hugo Server
• Install git - https://www.git-scm.com/download/win
• Install Go- https://go.dev/doc/install
• Download and set Hugo (Env Variable)-
https://github.com/gohugoio/hugo/releases/tag/v0.12
7.0 (as of today)
GitHub
• Login or create a github account.
• Fork Repository -
https://github.com/SeleniumHQ/seleniumhq.git
hub.io
• On your system, clone it –
https://github.com/SeleniumHQ/seleniumhq.git
hub.io
• Once done, you will be able to see the folder –
seleniumhq.github.io.
• Directories of interest –
• website_and_docs
• examples
Identify & Add • Our main focus for now will be – Contributing to
Examples. And add that to documentation.
• Problem Area –
https://www.selenium.dev/documentation/webdriver/inter
actions/windows/
• Example code to be added here -
examples/dotnet/SeleniumDocs/Interactions/WindowsTest.cs
• Changes to be made here for files here -
website_and_docs/content/documentation/webdriver/interactions
• windows.en
• windows.ja
• windows.pt-br
• windows.zh-cn
• Clone directory to local system
• git clone https://github.com/pallavigitwork/seleniumhq.github.io.git
• Create a working branch, name appropriately
• git checkout -b issue-branch
• Initialize sub modules
• git submodule update --init --recursive
• Go to directory website_and_docs
• cd website_and_docs
• Run hugo server
• hugo server
• open link-http://localhost:1313/documentation/webdriver/interactions/windows/
Steps
• Go to the folder on system, and access the path-
• seleniumhq.github.ioexamplesdotnetSeleniumDocsInteractionsWindowsTest.
cs
• Open the file using any IDE, and add the code. Save it.
• Now we locate the sections of code as seen on website and add example code.
• Format to follow is –
• {{< tab header=“CSharp" text=true >}}
• {{< gh-codeblock
path="examples/dotnet/SeleniumDocs/Interactions/WindowsTest.cs#L*begin-
L*end" >}}
• {{< /tab >}}
• Make changes for all files. Be careful.
Cont..
• Verify the change on local website instance, do for all translations
• Once verified, we now check status for change, ensure you are in the main
folder, which is parent of both examples and website_and_docs
• git status
• Add files
• git add*
• Commit with appropriate message
• git commit –m “message”
• Push the code
• git push --set-upstream origin issue-branch
Cont..
Feelings after first commit
It works!!??
View after committing
Open a PR
❑ Open a PR.
❑ Give a meaningful title
❑ Add in description
❑ Add Motivation and context
Create PR
Sign CLA
After Steps
• PR undergoes checks.
• An AI agent, codiumai-pr-agent-pro, reviews and suggest changes.
• You can improve the code based on suggestions or ignore.
• Selenium Maintainers, members of TLC and PLC get notified, one
will initiate merge
• If any change is needed, you will be contacted through github.
• Merge gets accepted and after sometime/day(s), you can see the
change in the main selenium website
Sample PR
https://github.com/SeleniumHQ/s
eleniumhq.github.io/pull/1758
https://github.com/SeleniumHQ/s
eleniumhq.github.io/pull/1754
https://github.com/SeleniumHQ/sel
eniumhq.github.io/pull/1770
Some Areas for
Improvement
• https://www.selenium.dev/documentation/webdriver/
drivers/options/
• https://www.selenium.dev/documentation/webdriver/
drivers/
• https://www.selenium.dev/documentation/webdriver/
drivers/options/
• https://www.selenium.dev/documentation/webdriver/
elements/information/
• https://www.selenium.dev/documentation/webdriver/
interactions/
• https://www.selenium.dev/documentation/webdriver/
interactions/alerts/
• https://github.com/SeleniumHQ/seleniumhq.github.i
o/pulls
Helpful Links
• Website Link- https://www.selenium.dev/
• Get Involved- https://www.selenium.dev/getinvolved/
• Contribute financially to Selenium-
https://opencollective.com/selenium
• Contribute to Code-
https://github.com/SeleniumHQ/selenium/blob/trunk/C
ONTRIBUTING.md
• Git Repo- https://github.com/SeleniumHQ/selenium
• Link for selenium web pages-
https://www.selenium.dev/selenium/web/
• SFC- https://sfconservancy.org/
• https://www.selenium.de
v/project/structure/#selen
ium_committers
• https://github.com/Seleni
umHQ/seleniumhq.githu
b.io/graphs/contributors
Selenium Docs Committers
Q & A
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf

More Related Content

Similar to SELENIUM CONF -PALLAVI SHARMA - 2024.pdf

How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
Dave Haeffner
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from Scratch
Excella
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
Michael Lihs
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
Sauce Labs
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies
rahulbot
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino Designer
Paul Withers
 
Compliance Automation with InSpec
Compliance Automation with InSpecCompliance Automation with InSpec
Compliance Automation with InSpec
Nathen Harvey
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With Selenium
Jodie Miners
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDN
Edmund Turbin
 
Web testing with Selenium
Web testing with SeleniumWeb testing with Selenium
Web testing with Selenium
XBOSoft
 
Selenium testing - Handle Elements in WebDriver
Selenium testing - Handle Elements in WebDriver Selenium testing - Handle Elements in WebDriver
Selenium testing - Handle Elements in WebDriver
Vibrant Technologies & Computers
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
Chef
 
Selenium Introduction and IDE
Selenium Introduction and IDESelenium Introduction and IDE
Selenium Introduction and IDE
Murageppa-QA
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
Taylor Lovett
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
James Strong
 
Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02
Kdeepapal Mishra
 
Basic Selenium Training
Basic Selenium TrainingBasic Selenium Training
Basic Selenium Training
Dipesh Bhatewara
 
Step away from that knife!
Step away from that knife!Step away from that knife!
Step away from that knife!
Michael Goetz
 
Tuenti Release Workflow
Tuenti Release WorkflowTuenti Release Workflow
Tuenti Release Workflow
Tuenti
 

Similar to SELENIUM CONF -PALLAVI SHARMA - 2024.pdf (20)

How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from Scratch
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino Designer
 
Compliance Automation with InSpec
Compliance Automation with InSpecCompliance Automation with InSpec
Compliance Automation with InSpec
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With Selenium
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDN
 
Web testing with Selenium
Web testing with SeleniumWeb testing with Selenium
Web testing with Selenium
 
Selenium testing - Handle Elements in WebDriver
Selenium testing - Handle Elements in WebDriver Selenium testing - Handle Elements in WebDriver
Selenium testing - Handle Elements in WebDriver
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
 
Selenium Introduction and IDE
Selenium Introduction and IDESelenium Introduction and IDE
Selenium Introduction and IDE
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
 
Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02Selenium digitalinfobytes-120829005812-phpapp02
Selenium digitalinfobytes-120829005812-phpapp02
 
Basic Selenium Training
Basic Selenium TrainingBasic Selenium Training
Basic Selenium Training
 
Step away from that knife!
Step away from that knife!Step away from that knife!
Step away from that knife!
 
Tuenti Release Workflow
Tuenti Release WorkflowTuenti Release Workflow
Tuenti Release Workflow
 

Recently uploaded

OME754 – INDUSTRIAL SAFETY - unit notes.pptx
OME754 – INDUSTRIAL SAFETY - unit notes.pptxOME754 – INDUSTRIAL SAFETY - unit notes.pptx
OME754 – INDUSTRIAL SAFETY - unit notes.pptx
shanmugamram247
 
libro de modelado de diseño-part-1[160-250].pdf
libro de modelado de diseño-part-1[160-250].pdflibro de modelado de diseño-part-1[160-250].pdf
libro de modelado de diseño-part-1[160-250].pdf
celiosilva66
 
Online fraud prediction and prevention.pptx
Online fraud prediction and prevention.pptxOnline fraud prediction and prevention.pptx
Online fraud prediction and prevention.pptx
madihasultana209
 
Online toll plaza booking system project report.doc.pdf
Online toll plaza booking system project report.doc.pdfOnline toll plaza booking system project report.doc.pdf
Online toll plaza booking system project report.doc.pdf
Kamal Acharya
 
Introduction And Differences Between File System And Dbms.pptx
Introduction And Differences Between File System And Dbms.pptxIntroduction And Differences Between File System And Dbms.pptx
Introduction And Differences Between File System And Dbms.pptx
SerendipityYoon
 
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
PradeepKumarSK3
 
FINE-TUNING OF SMALL/MEDIUM LLMS FOR BUSINESS QA ON STRUCTURED DATA
FINE-TUNING OF SMALL/MEDIUM LLMS FOR BUSINESS QA ON STRUCTURED DATAFINE-TUNING OF SMALL/MEDIUM LLMS FOR BUSINESS QA ON STRUCTURED DATA
FINE-TUNING OF SMALL/MEDIUM LLMS FOR BUSINESS QA ON STRUCTURED DATA
kevig
 
Concepts Basic/ Technical Electronic Material.pdf
Concepts Basic/ Technical Electronic Material.pdfConcepts Basic/ Technical Electronic Material.pdf
Concepts Basic/ Technical Electronic Material.pdf
OBD II
 
Ludo system project report management .pdf
Ludo  system project report management .pdfLudo  system project report management .pdf
Ludo system project report management .pdf
Kamal Acharya
 
Disaster Management and Mitigation presentation
Disaster Management and Mitigation presentationDisaster Management and Mitigation presentation
Disaster Management and Mitigation presentation
RajaRamannaTarigoppu
 
Top EPC companies in India - Best EPC Contractor
Top EPC companies in India - Best EPC  ContractorTop EPC companies in India - Best EPC  Contractor
Top EPC companies in India - Best EPC Contractor
MangeshK6
 
readers writers Problem in operating system
readers writers Problem in operating systemreaders writers Problem in operating system
readers writers Problem in operating system
VADAPALLYPRAVEENKUMA1
 
CONFINED SPACE ENTRY TRAINING FOR OIL INDUSTRY ppt
CONFINED SPACE ENTRY TRAINING FOR OIL INDUSTRY pptCONFINED SPACE ENTRY TRAINING FOR OIL INDUSTRY ppt
CONFINED SPACE ENTRY TRAINING FOR OIL INDUSTRY ppt
ASHOK KUMAR SINGH
 
Rockets and missiles notes engineering ppt
Rockets and missiles notes engineering pptRockets and missiles notes engineering ppt
Rockets and missiles notes engineering ppt
archithaero
 
Quadcopter Dynamics, Stability and Control
Quadcopter Dynamics, Stability and ControlQuadcopter Dynamics, Stability and Control
Quadcopter Dynamics, Stability and Control
Blesson Easo Varghese
 
Evento anual Splunk .conf24 Highlights recap
Evento anual Splunk .conf24 Highlights recapEvento anual Splunk .conf24 Highlights recap
Evento anual Splunk .conf24 Highlights recap
Rafael Santos
 
Software Engineering and Project Management - Activity Planning
Software Engineering and Project Management - Activity PlanningSoftware Engineering and Project Management - Activity Planning
Software Engineering and Project Management - Activity Planning
Prakhyath Rai
 
CGR-Unit-1 Basics of Computer Graphics.pdf
CGR-Unit-1 Basics of Computer Graphics.pdfCGR-Unit-1 Basics of Computer Graphics.pdf
CGR-Unit-1 Basics of Computer Graphics.pdf
Rugved Collection
 
Adv. Digital Signal Processing LAB MANUAL.pdf
Adv. Digital Signal Processing LAB MANUAL.pdfAdv. Digital Signal Processing LAB MANUAL.pdf
Adv. Digital Signal Processing LAB MANUAL.pdf
T.D. Shashikala
 
ARITMETICO.pdf xxxxxxxxxxxxxxxxxxxxxxxx
ARITMETICO.pdf  xxxxxxxxxxxxxxxxxxxxxxxxARITMETICO.pdf  xxxxxxxxxxxxxxxxxxxxxxxx
ARITMETICO.pdf xxxxxxxxxxxxxxxxxxxxxxxx
alemaro1123
 

Recently uploaded (20)

OME754 – INDUSTRIAL SAFETY - unit notes.pptx
OME754 – INDUSTRIAL SAFETY - unit notes.pptxOME754 – INDUSTRIAL SAFETY - unit notes.pptx
OME754 – INDUSTRIAL SAFETY - unit notes.pptx
 
libro de modelado de diseño-part-1[160-250].pdf
libro de modelado de diseño-part-1[160-250].pdflibro de modelado de diseño-part-1[160-250].pdf
libro de modelado de diseño-part-1[160-250].pdf
 
Online fraud prediction and prevention.pptx
Online fraud prediction and prevention.pptxOnline fraud prediction and prevention.pptx
Online fraud prediction and prevention.pptx
 
Online toll plaza booking system project report.doc.pdf
Online toll plaza booking system project report.doc.pdfOnline toll plaza booking system project report.doc.pdf
Online toll plaza booking system project report.doc.pdf
 
Introduction And Differences Between File System And Dbms.pptx
Introduction And Differences Between File System And Dbms.pptxIntroduction And Differences Between File System And Dbms.pptx
Introduction And Differences Between File System And Dbms.pptx
 
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
21EC63_Module1B.pptx VLSI design 21ec63 MOS TRANSISTOR THEORY
 
FINE-TUNING OF SMALL/MEDIUM LLMS FOR BUSINESS QA ON STRUCTURED DATA
FINE-TUNING OF SMALL/MEDIUM LLMS FOR BUSINESS QA ON STRUCTURED DATAFINE-TUNING OF SMALL/MEDIUM LLMS FOR BUSINESS QA ON STRUCTURED DATA
FINE-TUNING OF SMALL/MEDIUM LLMS FOR BUSINESS QA ON STRUCTURED DATA
 
Concepts Basic/ Technical Electronic Material.pdf
Concepts Basic/ Technical Electronic Material.pdfConcepts Basic/ Technical Electronic Material.pdf
Concepts Basic/ Technical Electronic Material.pdf
 
Ludo system project report management .pdf
Ludo  system project report management .pdfLudo  system project report management .pdf
Ludo system project report management .pdf
 
Disaster Management and Mitigation presentation
Disaster Management and Mitigation presentationDisaster Management and Mitigation presentation
Disaster Management and Mitigation presentation
 
Top EPC companies in India - Best EPC Contractor
Top EPC companies in India - Best EPC  ContractorTop EPC companies in India - Best EPC  Contractor
Top EPC companies in India - Best EPC Contractor
 
readers writers Problem in operating system
readers writers Problem in operating systemreaders writers Problem in operating system
readers writers Problem in operating system
 
CONFINED SPACE ENTRY TRAINING FOR OIL INDUSTRY ppt
CONFINED SPACE ENTRY TRAINING FOR OIL INDUSTRY pptCONFINED SPACE ENTRY TRAINING FOR OIL INDUSTRY ppt
CONFINED SPACE ENTRY TRAINING FOR OIL INDUSTRY ppt
 
Rockets and missiles notes engineering ppt
Rockets and missiles notes engineering pptRockets and missiles notes engineering ppt
Rockets and missiles notes engineering ppt
 
Quadcopter Dynamics, Stability and Control
Quadcopter Dynamics, Stability and ControlQuadcopter Dynamics, Stability and Control
Quadcopter Dynamics, Stability and Control
 
Evento anual Splunk .conf24 Highlights recap
Evento anual Splunk .conf24 Highlights recapEvento anual Splunk .conf24 Highlights recap
Evento anual Splunk .conf24 Highlights recap
 
Software Engineering and Project Management - Activity Planning
Software Engineering and Project Management - Activity PlanningSoftware Engineering and Project Management - Activity Planning
Software Engineering and Project Management - Activity Planning
 
CGR-Unit-1 Basics of Computer Graphics.pdf
CGR-Unit-1 Basics of Computer Graphics.pdfCGR-Unit-1 Basics of Computer Graphics.pdf
CGR-Unit-1 Basics of Computer Graphics.pdf
 
Adv. Digital Signal Processing LAB MANUAL.pdf
Adv. Digital Signal Processing LAB MANUAL.pdfAdv. Digital Signal Processing LAB MANUAL.pdf
Adv. Digital Signal Processing LAB MANUAL.pdf
 
ARITMETICO.pdf xxxxxxxxxxxxxxxxxxxxxxxx
ARITMETICO.pdf  xxxxxxxxxxxxxxxxxxxxxxxxARITMETICO.pdf  xxxxxxxxxxxxxxxxxxxxxxxx
ARITMETICO.pdf xxxxxxxxxxxxxxxxxxxxxxxx
 

SELENIUM CONF -PALLAVI SHARMA - 2024.pdf

  • 2. • Pallavi Sharma • Founder • 5 Elements Learnings • Mosaic Words • Selenium Committer • Professional Experience -18 years+ • Published Author – 4 Technical Books • https://www.linkedin.com/in/pallavimuse/ • https://5elementslearning.dev/ • https://github.com/pallavigitwork Scan QR Code
  • 3. ❑ About Selenium Project[5] ❑ The Selenium Documentation [10] ❑ Setting The System[5] ❑ Identify and Add[15] ❑ Committing[5] ❑ Questions /Discussions[5]
  • 5. Selenium automates web browsers, that’s it. How we use that power its entirely up to us! What is Selenium?
  • 6. Selenium Project Selenium IDE For Record and Playback of scripts Selenium WebDriver Create robust, browsed based automation Selenium Grid Scale by distributing on different machines
  • 7. Selenium Governance Selenium PLC TLC Committers Core Selenium Website and Docs Translators Docker Users Sponsors Volunteers https://www.selenium.dev/project/governance/
  • 8. Why Contribute to Open Source Learn New Skills Network and Build Reputation Aware of new technologies Do it because you care Why do anything at all? ☺
  • 9. Prerequisite • Link to submission – https://confengine.com/conferences/se lenium-conf- 2024/proposal/19900/begin-your- journey-to-be-a-selenium-committer- through-selenium-docs • Working knowledge of Programming Language • Working knowledge of Selenium • Working knowledge of unit test framework • Working knowledge of GIT • Motivated to help improve Selenium Project
  • 10. Selenium Documentation • Link for documentation- https://www.selenium.dev/documentation/ • Github link- https://github.com/SeleniumHQ/seleniumhq. github.io • The main folders in the repository for us are – content and examples
  • 11. CONTENT Folder • Let us explore the Content Folder, available on Github. • You will find that the folders here matches with the information on the selenium documentation https://www.selenium.dev/documentation/ • So if wish to make change in a particular page, we should now be able to locate the folder, and inside it the file. • To understand this, we will take an example website_and_docs/content/documentation Github Selenium Docs Website
  • 13. Language Support Coding • Java • Csharp • Python • Ruby • JavaScript • Kotlin Translations • English (.en) • Portugese (pt-br) • Japanese (.ja) • Chinese (.zh-cn)
  • 15. Contribution Steps System Setup Programming language setup Selenium client bindings for the language Default browser to run scripts Hugo Server to view site locally Github Github Account Fork Selenium Repository Clone Repository on System Create Branch Identify and Add Identify files which needs work Update content file Update example code Do for all language translations Run Hugo server to check local website build Commit and Communicate Commit the change after ensuring no errors Raise PR Give Proper description Sign CLA Wait for approval /change
  • 16. Working Example • https://www.selenium.dev/documentation/ webdriver/interactions/windows/ • Java Code - https://github.com/SeleniumHQ/seleniumh q.github.io/blob/trunk/examples/java/src/te st/java/dev/selenium/interactions/Windows Test.java • We will do in this session for CSharp.
  • 17. Flow Github account Set Hugo Fork Selenium Repository Clone Directory Create Branch Go to website and docs subdir /examples Run hugo, launch localhost:1313 Identify and fix issue Do for all languages files Verify website locally Commit Change Raise PR Sign CLA Wait for acceptance, or modifications Celebrate first and many commits to come ☺
  • 18. System Setup • Programming language setup(binaries, IDE) (We are doing for C# as an example here) • Csharp-visual studio • .net sdk • Selenium client bindings for the language • Selenium Nuget • Chrome Driver Nuget • MSTest • Default browser to run scripts • Chrome https://github.com/SeleniumHQ/sele niumhq.github.io/blob/trunk/READM E.md https://www.selenium.dev/document ation/webdriver/getting_started/usin g_selenium/
  • 19. Setting Hugo • Hugo is a popular open source framework for building static websites. https://gohugo.io/ • Docsy is a hugo theme used for technical documentation sites- https://www.docsy.dev/ • Setup steps for Hugo Server • Install git - https://www.git-scm.com/download/win • Install Go- https://go.dev/doc/install • Download and set Hugo (Env Variable)- https://github.com/gohugoio/hugo/releases/tag/v0.12 7.0 (as of today)
  • 20. GitHub • Login or create a github account. • Fork Repository - https://github.com/SeleniumHQ/seleniumhq.git hub.io • On your system, clone it – https://github.com/SeleniumHQ/seleniumhq.git hub.io • Once done, you will be able to see the folder – seleniumhq.github.io. • Directories of interest – • website_and_docs • examples
  • 21. Identify & Add • Our main focus for now will be – Contributing to Examples. And add that to documentation. • Problem Area – https://www.selenium.dev/documentation/webdriver/inter actions/windows/ • Example code to be added here - examples/dotnet/SeleniumDocs/Interactions/WindowsTest.cs • Changes to be made here for files here - website_and_docs/content/documentation/webdriver/interactions • windows.en • windows.ja • windows.pt-br • windows.zh-cn
  • 22. • Clone directory to local system • git clone https://github.com/pallavigitwork/seleniumhq.github.io.git • Create a working branch, name appropriately • git checkout -b issue-branch • Initialize sub modules • git submodule update --init --recursive • Go to directory website_and_docs • cd website_and_docs • Run hugo server • hugo server • open link-http://localhost:1313/documentation/webdriver/interactions/windows/ Steps
  • 23. • Go to the folder on system, and access the path- • seleniumhq.github.ioexamplesdotnetSeleniumDocsInteractionsWindowsTest. cs • Open the file using any IDE, and add the code. Save it. • Now we locate the sections of code as seen on website and add example code. • Format to follow is – • {{< tab header=“CSharp" text=true >}} • {{< gh-codeblock path="examples/dotnet/SeleniumDocs/Interactions/WindowsTest.cs#L*begin- L*end" >}} • {{< /tab >}} • Make changes for all files. Be careful. Cont..
  • 24. • Verify the change on local website instance, do for all translations • Once verified, we now check status for change, ensure you are in the main folder, which is parent of both examples and website_and_docs • git status • Add files • git add* • Commit with appropriate message • git commit –m “message” • Push the code • git push --set-upstream origin issue-branch Cont..
  • 25. Feelings after first commit It works!!??
  • 27. Open a PR ❑ Open a PR. ❑ Give a meaningful title ❑ Add in description ❑ Add Motivation and context
  • 30. After Steps • PR undergoes checks. • An AI agent, codiumai-pr-agent-pro, reviews and suggest changes. • You can improve the code based on suggestions or ignore. • Selenium Maintainers, members of TLC and PLC get notified, one will initiate merge • If any change is needed, you will be contacted through github. • Merge gets accepted and after sometime/day(s), you can see the change in the main selenium website Sample PR https://github.com/SeleniumHQ/s eleniumhq.github.io/pull/1758 https://github.com/SeleniumHQ/s eleniumhq.github.io/pull/1754 https://github.com/SeleniumHQ/sel eniumhq.github.io/pull/1770
  • 31. Some Areas for Improvement • https://www.selenium.dev/documentation/webdriver/ drivers/options/ • https://www.selenium.dev/documentation/webdriver/ drivers/ • https://www.selenium.dev/documentation/webdriver/ drivers/options/ • https://www.selenium.dev/documentation/webdriver/ elements/information/ • https://www.selenium.dev/documentation/webdriver/ interactions/ • https://www.selenium.dev/documentation/webdriver/ interactions/alerts/ • https://github.com/SeleniumHQ/seleniumhq.github.i o/pulls
  • 32. Helpful Links • Website Link- https://www.selenium.dev/ • Get Involved- https://www.selenium.dev/getinvolved/ • Contribute financially to Selenium- https://opencollective.com/selenium • Contribute to Code- https://github.com/SeleniumHQ/selenium/blob/trunk/C ONTRIBUTING.md • Git Repo- https://github.com/SeleniumHQ/selenium • Link for selenium web pages- https://www.selenium.dev/selenium/web/ • SFC- https://sfconservancy.org/
  • 34. Q & A