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

PDF
Begin your journey to be a Selenium Committer - Valencia 2025 - Pallavi Sharm...
PDF
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
PPT
Intro Of Selenium
PDF
How To Use Selenium Successfully (Java Edition)
PPT
Selenium
PPTX
تست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانی
PPT
Selenium
PPTX
Selenium Testing
Begin your journey to be a Selenium Committer - Valencia 2025 - Pallavi Sharm...
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Intro Of Selenium
How To Use Selenium Successfully (Java Edition)
Selenium
تست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانی
Selenium
Selenium Testing

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

PPTX
Selenium
PPTX
SKILLWISE_SELENIUM
PDF
How To Use Selenium Successfully
PDF
Selenium Testing The Complete Step-by-Step Tutorial.pdf
PDF
Selenium documentation 1.0
PDF
Basics of Selenium IDE,Core, Remote Control
PDF
How To Use Selenium Successfully (Java Edition)
PDF
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
PDF
Selenium with testng and eclipse ide
PPT
Selenium Basics by Quontra Solutions
DOC
Selenium course syllabus
PPTX
Selenium Tutorial for Beginners - TIB Academy
PDF
Selenium for Tester.pdf
PDF
Browser-level testing
PDF
An Overview of Selenium Grid and Its Benefits
ODP
Mastering selenium for automated acceptance tests
PDF
Learning selenium sample
PPTX
Selenium- A Software Testing Tool
DOC
Selenium Automation Using Ruby
PPT
Selenium
Selenium
SKILLWISE_SELENIUM
How To Use Selenium Successfully
Selenium Testing The Complete Step-by-Step Tutorial.pdf
Selenium documentation 1.0
Basics of Selenium IDE,Core, Remote Control
How To Use Selenium Successfully (Java Edition)
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Selenium with testng and eclipse ide
Selenium Basics by Quontra Solutions
Selenium course syllabus
Selenium Tutorial for Beginners - TIB Academy
Selenium for Tester.pdf
Browser-level testing
An Overview of Selenium Grid and Its Benefits
Mastering selenium for automated acceptance tests
Learning selenium sample
Selenium- A Software Testing Tool
Selenium Automation Using Ruby
Selenium
Ad

Recently uploaded (20)

PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Digital Logic Computer Design lecture notes
PPTX
web development for engineering and engineering
PDF
Well-logging-methods_new................
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
Geodesy 1.pptx...............................................
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Welding lecture in detail for understanding
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPT
Mechanical Engineering MATERIALS Selection
PDF
Structs to JSON How Go Powers REST APIs.pdf
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
DOCX
573137875-Attendance-Management-System-original
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
PPT on Performance Review to get promotions
PPTX
UNIT 4 Total Quality Management .pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Digital Logic Computer Design lecture notes
web development for engineering and engineering
Well-logging-methods_new................
Embodied AI: Ushering in the Next Era of Intelligent Systems
Geodesy 1.pptx...............................................
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Welding lecture in detail for understanding
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Mechanical Engineering MATERIALS Selection
Structs to JSON How Go Powers REST APIs.pdf
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
573137875-Attendance-Management-System-original
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
CH1 Production IntroductoryConcepts.pptx
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPT on Performance Review to get promotions
UNIT 4 Total Quality Management .pptx
Ad

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