SlideShare a Scribd company logo
1 of 23
SELENIUM
• 
• 
•
• 
• 
• 
• 
• 
• 
• 
• 
• 
•
SELENIUM 
• 
HTTP://WWW.SELENIUMHQ.ORG/ 
•
• 
• 
• 
• 
• 
•
SELENIUM IDE 
• HTTP://GOO.GL/FUXCLZ
SELENIUM IDE 
• 
• 
• 
•
WEBDRIVER 
• 
• 
• HTTP://GOO.GL/AMKSRL 
• HTTP://GOO.GL/ZVITGS
WEBDRIVER 
• 
• 
IWebDriver driver = new ChromeDriver(); 
driver.Navigate().GoToUrl("http://localhost:57536/"); 
IWebElement element = driver.FindElement(By.Id(UserName")); 
case-sensitive!
WEBDRIVER 
• 
• 
• 
IWebElement element = driver.FindElement(By.Id("confirm")); 
element.Click(); 
ReadOnlyCollection<IWebElement> elements = driver.FindElements(By.Name("sex")); 
// or use By.Id if any 
elements[1].Click(); 
new SelectElement(driver.FindElement(By.Id("month"))).SelectByText("Mar");
WEBDRIVER 
• 
• 
ReadOnlyCollection<IWebElement> elements = driver.FindElements(By.Name("lang")); 
// or use By.Id if any 
elements[1].Click(); 
elements[2].Click(); 
IWebElement element = driver.FindElement(By.Id("name")); 
element.SendKyes("pete");
WEBDRIVER 
• REGISTRATION 
[Test] 
public void Can_Register() 
{ 
IWebDriver driver = new ChromeDriver("../../"); 
driver.Navigate().GoToUrl(@"G:meetupsampleregister.html"); 
driver.FindElement(By.Id("username")).SendKeys("pete"); 
driver.FindElement(By.Id("password")).SendKeys("123456"); 
new SelectElement(driver.FindElement(By.Id("title"))).SelectByText("Mr"); 
driver.FindElements(By.Name("sex"))[1].Click(); 
driver.FindElements(By.Name("lang"))[1].Click(); 
driver.FindElements(By.Name("lang"))[2].Click(); 
driver.FindElement(By.Id("register")).Click(); 
Assert.True(driver.FindElement(By.Id("done")).Text == "Registration Completed!"); 
}
• 
• 
driver.FindElement(By.Id("username")).SendKeys("pete"); 
_username.SendKeys("pete"); 
[FindsBy(How = How.Id, Using = "username")] 
private IWebElement _username; 
PageFactory.InitElements(driver, this);
• 
• 
[Test] 
public void Can_Register() 
{ 
IWebDriver driver = new ChromeDriver("../../"); 
RegistrationPage registrationPage = new RegistrationPage(driver); 
registrationPage.Navigate(); 
RegistrationCompletedPage completedPage = registrationPage.Register(); 
Assert.True(completedPage.Exists()); 
}
IWebDriver driver = new ChromeDriver("../../"); 
RegistrationPage registrationPage = new RegistrationPage(driver); 
registrationPage.Navigate(); 
LoginPage loginPage = registrationPage.Register("pete", "123456", "Pete"); 
loginPage.LogIn("pete", "123456"); 
PaymentPage paymentPage = new PaymentPage(driver); 
paymentPage.Navigate(); 
ThirdPartyPage thirdPartyPage = paymentPage.Deposit("41523365", 10); 
DepositCompletedPage completedPage = thirdPartyPage.Verify("pete", "123456"); 
Assert.True(completedPage.Succeeded());
FLUENTAUTOMATION 
• 
• 
• 
• 
• 
I.Open(@"G:meetupsampleregister.html") 
.Enter("pete").In("#username") 
.Enter("123456").In("#password") 
.Select(Option.Value, "Mr").From("#title") 
.Click(":radio[value='2']") 
.Click(":checkbox[value='C++']") 
.Click(":checkbox[value='C#']") 
.Click("#register") 
.Assert.Exists("#done").Text("Registration Completed!");
• HTTP://GOO.GL/PXHBTY 
SeleniumWebDriver.Bootstrap(SeleniumWebDriver.Browser.PhantomJs);
Hub 
Node Node Node Node Node
Devs 
Repository 
(GitHub / Bitbucket / Stash / TFS / …) 
Build Server 
Push 
Pull 
Notify 
Build > Run Tests (Unit Tests / 
Integrations Tests / Selenium Tests / …) 
(TeamCity / Jenkins / TFS / …)
• 
• 
• 
• 
• 
• 
• 
• 
•
WE ARE HIRING! 
• 
• 
• 
• 
•
THANKS FOR YOUR TIME 
ANY QUESTIONS ARE WELCOME

More Related Content

What's hot

Functional testing with capybara
Functional testing with capybaraFunctional testing with capybara
Functional testing with capybarakoffeinfrei
 
Html server control - ASP. NET with c#
Html server control - ASP. NET with c#Html server control - ASP. NET with c#
Html server control - ASP. NET with c#priya Nithya
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the FinishYehuda Katz
 
Velocity EU 2014 — Offline-first web apps
Velocity EU 2014 — Offline-first web appsVelocity EU 2014 — Offline-first web apps
Velocity EU 2014 — Offline-first web appsandrewsmatt
 
Javascript first-class citizenery
Javascript first-class citizeneryJavascript first-class citizenery
Javascript first-class citizenerytoddbr
 
Embracing Capybara
Embracing CapybaraEmbracing Capybara
Embracing CapybaraTim Moore
 
SproutCore is Awesome - HTML5 Summer DevFest
SproutCore is Awesome - HTML5 Summer DevFestSproutCore is Awesome - HTML5 Summer DevFest
SproutCore is Awesome - HTML5 Summer DevFesttomdale
 
Jqeury ajax plugins
Jqeury ajax pluginsJqeury ajax plugins
Jqeury ajax pluginsInbal Geffen
 
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LABHTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LABpriya Nithya
 
정오의 데이트 for iOS 코드 정리
정오의 데이트 for iOS 코드 정리정오의 데이트 for iOS 코드 정리
정오의 데이트 for iOS 코드 정리태준 김
 
How I Became a WordPress Hacker
How I Became a WordPress HackerHow I Became a WordPress Hacker
How I Became a WordPress HackerMike Zielonka
 
Polyglot automation - QA Fest - 2015
Polyglot automation - QA Fest - 2015Polyglot automation - QA Fest - 2015
Polyglot automation - QA Fest - 2015Iakiv Kramarenko
 
Better Testing With PHP Unit
Better Testing With PHP UnitBetter Testing With PHP Unit
Better Testing With PHP Unitsitecrafting
 
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationDjangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationMasashi Shibata
 

What's hot (20)

Code ceptioninstallation
Code ceptioninstallationCode ceptioninstallation
Code ceptioninstallation
 
Functional testing with capybara
Functional testing with capybaraFunctional testing with capybara
Functional testing with capybara
 
Html server control - ASP. NET with c#
Html server control - ASP. NET with c#Html server control - ASP. NET with c#
Html server control - ASP. NET with c#
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
 
Velocity EU 2014 — Offline-first web apps
Velocity EU 2014 — Offline-first web appsVelocity EU 2014 — Offline-first web apps
Velocity EU 2014 — Offline-first web apps
 
Javascript first-class citizenery
Javascript first-class citizeneryJavascript first-class citizenery
Javascript first-class citizenery
 
Embracing Capybara
Embracing CapybaraEmbracing Capybara
Embracing Capybara
 
Learning Svelte
Learning SvelteLearning Svelte
Learning Svelte
 
Grails plugin
Grails pluginGrails plugin
Grails plugin
 
SproutCore is Awesome - HTML5 Summer DevFest
SproutCore is Awesome - HTML5 Summer DevFestSproutCore is Awesome - HTML5 Summer DevFest
SproutCore is Awesome - HTML5 Summer DevFest
 
Ajax
AjaxAjax
Ajax
 
Jqeury ajax plugins
Jqeury ajax pluginsJqeury ajax plugins
Jqeury ajax plugins
 
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LABHTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
 
Svelte JS introduction
Svelte JS introductionSvelte JS introduction
Svelte JS introduction
 
정오의 데이트 for iOS 코드 정리
정오의 데이트 for iOS 코드 정리정오의 데이트 for iOS 코드 정리
정오의 데이트 for iOS 코드 정리
 
How I Became a WordPress Hacker
How I Became a WordPress HackerHow I Became a WordPress Hacker
How I Became a WordPress Hacker
 
Polyglot automation - QA Fest - 2015
Polyglot automation - QA Fest - 2015Polyglot automation - QA Fest - 2015
Polyglot automation - QA Fest - 2015
 
Better Testing With PHP Unit
Better Testing With PHP UnitBetter Testing With PHP Unit
Better Testing With PHP Unit
 
第26回PHP勉強会
第26回PHP勉強会第26回PHP勉強会
第26回PHP勉強会
 
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationDjangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django application
 

Similar to Web Automation Testing Using Selenium

How to define mobile automation strategy
How to define mobile automation strategyHow to define mobile automation strategy
How to define mobile automation strategyMesut Güneş
 
How to define mobile automation strategy
How to define mobile automation strategyHow to define mobile automation strategy
How to define mobile automation strategySelin Gungor
 
Session on "The Screenplay Pattern: Better Interactions for Better Automation...
Session on "The Screenplay Pattern: Better Interactions for Better Automation...Session on "The Screenplay Pattern: Better Interactions for Better Automation...
Session on "The Screenplay Pattern: Better Interactions for Better Automation...Agile Testing Alliance
 
Testing web application with Python
Testing web application with PythonTesting web application with Python
Testing web application with PythonJachym Cepicky
 
Google
GoogleGoogle
Googlesoon
 
Join the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.jsJoin the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.jsSeth McLaughlin
 
Integration Test Cucumber + Webrat + Selenium
Integration Test Cucumber + Webrat + SeleniumIntegration Test Cucumber + Webrat + Selenium
Integration Test Cucumber + Webrat + Seleniumtka
 
HTML5 & The Open Web - at Nackademin
HTML5 & The Open Web -  at NackademinHTML5 & The Open Web -  at Nackademin
HTML5 & The Open Web - at NackademinRobert Nyman
 
Future of Web Apps: Google Gears
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gearsdion
 
Whys and Hows of Automation
Whys and Hows of AutomationWhys and Hows of Automation
Whys and Hows of AutomationvodQA
 
Automated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriverAutomated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriverManoj Kumar Kumar
 
Web scraping 101 with goutte
Web scraping 101 with goutteWeb scraping 101 with goutte
Web scraping 101 with goutteJoshua Copeland
 
Short intro to JQuery and Modernizr
Short intro to JQuery and ModernizrShort intro to JQuery and Modernizr
Short intro to JQuery and ModernizrJussi Pohjolainen
 
Anay - Fluent interfaces in testing
Anay - Fluent interfaces in testingAnay - Fluent interfaces in testing
Anay - Fluent interfaces in testingvodQA
 
Intro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest pluginsIntro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest pluginsAsif Mohaimen
 
Week 4 - jQuery + Ajax
Week 4 - jQuery + AjaxWeek 4 - jQuery + Ajax
Week 4 - jQuery + Ajaxbaygross
 
Introduction to jQuery - The basics
Introduction to jQuery - The basicsIntroduction to jQuery - The basics
Introduction to jQuery - The basicsMaher Hossain
 

Similar to Web Automation Testing Using Selenium (20)

How to define mobile automation strategy
How to define mobile automation strategyHow to define mobile automation strategy
How to define mobile automation strategy
 
How to define mobile automation strategy
How to define mobile automation strategyHow to define mobile automation strategy
How to define mobile automation strategy
 
Session on "The Screenplay Pattern: Better Interactions for Better Automation...
Session on "The Screenplay Pattern: Better Interactions for Better Automation...Session on "The Screenplay Pattern: Better Interactions for Better Automation...
Session on "The Screenplay Pattern: Better Interactions for Better Automation...
 
Testing web application with Python
Testing web application with PythonTesting web application with Python
Testing web application with Python
 
Google
GoogleGoogle
Google
 
Join the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.jsJoin the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.js
 
Integration Test Cucumber + Webrat + Selenium
Integration Test Cucumber + Webrat + SeleniumIntegration Test Cucumber + Webrat + Selenium
Integration Test Cucumber + Webrat + Selenium
 
Webdriver
WebdriverWebdriver
Webdriver
 
HTML5 & The Open Web - at Nackademin
HTML5 & The Open Web -  at NackademinHTML5 & The Open Web -  at Nackademin
HTML5 & The Open Web - at Nackademin
 
Future of Web Apps: Google Gears
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gears
 
Whys and Hows of Automation
Whys and Hows of AutomationWhys and Hows of Automation
Whys and Hows of Automation
 
JQuery
JQueryJQuery
JQuery
 
Web driver training
Web driver trainingWeb driver training
Web driver training
 
Automated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriverAutomated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriver
 
Web scraping 101 with goutte
Web scraping 101 with goutteWeb scraping 101 with goutte
Web scraping 101 with goutte
 
Short intro to JQuery and Modernizr
Short intro to JQuery and ModernizrShort intro to JQuery and Modernizr
Short intro to JQuery and Modernizr
 
Anay - Fluent interfaces in testing
Anay - Fluent interfaces in testingAnay - Fluent interfaces in testing
Anay - Fluent interfaces in testing
 
Intro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest pluginsIntro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Selenium UI Tests with pytest & some useful pytest plugins
 
Week 4 - jQuery + Ajax
Week 4 - jQuery + AjaxWeek 4 - jQuery + Ajax
Week 4 - jQuery + Ajax
 
Introduction to jQuery - The basics
Introduction to jQuery - The basicsIntroduction to jQuery - The basics
Introduction to jQuery - The basics
 

Recently uploaded

How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 

Recently uploaded (20)

How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 

Web Automation Testing Using Selenium

  • 3. • • • • • • • • • •
  • 5. • • • • • •
  • 6. SELENIUM IDE • HTTP://GOO.GL/FUXCLZ
  • 7. SELENIUM IDE • • • •
  • 8. WEBDRIVER • • • HTTP://GOO.GL/AMKSRL • HTTP://GOO.GL/ZVITGS
  • 9. WEBDRIVER • • IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://localhost:57536/"); IWebElement element = driver.FindElement(By.Id(UserName")); case-sensitive!
  • 10. WEBDRIVER • • • IWebElement element = driver.FindElement(By.Id("confirm")); element.Click(); ReadOnlyCollection<IWebElement> elements = driver.FindElements(By.Name("sex")); // or use By.Id if any elements[1].Click(); new SelectElement(driver.FindElement(By.Id("month"))).SelectByText("Mar");
  • 11. WEBDRIVER • • ReadOnlyCollection<IWebElement> elements = driver.FindElements(By.Name("lang")); // or use By.Id if any elements[1].Click(); elements[2].Click(); IWebElement element = driver.FindElement(By.Id("name")); element.SendKyes("pete");
  • 12. WEBDRIVER • REGISTRATION [Test] public void Can_Register() { IWebDriver driver = new ChromeDriver("../../"); driver.Navigate().GoToUrl(@"G:meetupsampleregister.html"); driver.FindElement(By.Id("username")).SendKeys("pete"); driver.FindElement(By.Id("password")).SendKeys("123456"); new SelectElement(driver.FindElement(By.Id("title"))).SelectByText("Mr"); driver.FindElements(By.Name("sex"))[1].Click(); driver.FindElements(By.Name("lang"))[1].Click(); driver.FindElements(By.Name("lang"))[2].Click(); driver.FindElement(By.Id("register")).Click(); Assert.True(driver.FindElement(By.Id("done")).Text == "Registration Completed!"); }
  • 13. • • driver.FindElement(By.Id("username")).SendKeys("pete"); _username.SendKeys("pete"); [FindsBy(How = How.Id, Using = "username")] private IWebElement _username; PageFactory.InitElements(driver, this);
  • 14. • • [Test] public void Can_Register() { IWebDriver driver = new ChromeDriver("../../"); RegistrationPage registrationPage = new RegistrationPage(driver); registrationPage.Navigate(); RegistrationCompletedPage completedPage = registrationPage.Register(); Assert.True(completedPage.Exists()); }
  • 15. IWebDriver driver = new ChromeDriver("../../"); RegistrationPage registrationPage = new RegistrationPage(driver); registrationPage.Navigate(); LoginPage loginPage = registrationPage.Register("pete", "123456", "Pete"); loginPage.LogIn("pete", "123456"); PaymentPage paymentPage = new PaymentPage(driver); paymentPage.Navigate(); ThirdPartyPage thirdPartyPage = paymentPage.Deposit("41523365", 10); DepositCompletedPage completedPage = thirdPartyPage.Verify("pete", "123456"); Assert.True(completedPage.Succeeded());
  • 16. FLUENTAUTOMATION • • • • • I.Open(@"G:meetupsampleregister.html") .Enter("pete").In("#username") .Enter("123456").In("#password") .Select(Option.Value, "Mr").From("#title") .Click(":radio[value='2']") .Click(":checkbox[value='C++']") .Click(":checkbox[value='C#']") .Click("#register") .Assert.Exists("#done").Text("Registration Completed!");
  • 18. Hub Node Node Node Node Node
  • 19. Devs Repository (GitHub / Bitbucket / Stash / TFS / …) Build Server Push Pull Notify Build > Run Tests (Unit Tests / Integrations Tests / Selenium Tests / …) (TeamCity / Jenkins / TFS / …)
  • 20.
  • 21. • • • • • • • • •
  • 22. WE ARE HIRING! • • • • •
  • 23. THANKS FOR YOUR TIME ANY QUESTIONS ARE WELCOME