SlideShare a Scribd company logo
1 of 64
WebDriver + Thucydides
TDT – October 2, 2013
Vlad Voicu, Gabi Kis
Thucydides intro
Why use Thucydides framework ?
#1 Awesome reports 
Fully integrated with WebDriver
Multiple browsers supported
Native support for DDT
Native support for BDD
Continuous Integration support
Integrated with JIRA
Reports
JUnit
Automate testing process
From Automation testing to Automated testing
Project Structure
Main tools
WebDriver
What?
WebDriver is a browser automation API
Used for?
UI Functional testing
Thucydides
What?
Testing framework using WebDriver
Used for?
Running tests, advanced reports
+
Project structure
Page 1 Page 2 Page 3
Steps
Tests
Project structure
• Java JDK
o http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-
1902814.html
o Download and install JDK
• Maven
o http://maven.apache.org/
o Download maven and unpack it on your drive
• Eclipse
o http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-
developers/junosr2
o m2eclipse plug-in
 Eclipse > Help > Install New Software > Work with: All Available Sites > m2e
• Firefox 11
o http://www.oldapps.com/firefox.php?old_firefox=7395
o Disable updates
Environment Setup
Path
MavenJava
Environment Variables
Check setup
Open Command Prompt and check versions:
from the command line
from the Eclipse IDE
How to create a new project
Create a Thucydides project – 1/7
Create a Thucydides project – 2/7
Need to enter a archetype number
Create a Thucydides project – 3/7
How to select the right archetype
Create a Thucydides project – 4/7
Thucydides version number
Create a Thucydides project – 5/7
Group naming
Project naming
Create a Thucydides project – 6/7
Version and package
Create a Thucydides project – 7/7
New Thucydides project - Eclipse
1
2
3
4
Quick glance on Generated Project
Page Objects
Features
Steps
Tests
Our Project structure
Scope
Requirement
As a user I want to enter a search term and
navigate to a result.
Test case:
Go to Google search
Type a search term
Grab a search result from the list
Navigate to it
Validate the navigation
Creating a page
public class GoogleSearchPage{
}
Creating a page
public class GoogleSearchPage extends PageObject {
}
Creating a page
public class GoogleSearchPage extends PageObject {
//add constructor due to PageObject
public GoogleSearchPage (WebDriver driver){
super(driver);
}
}
Creating a page
public class GoogleSearchPage extends PageObject {
…
//add your WebElement to the Page
private WebElement searchInput;
}
Creating a page
public class GoogleSearchPage extends PageObject {
…
@FindBy(|)
private WebElement searchInput;
}
Creating a page
public class GoogleSearchPage extends PageObject {
…
@FindBy(id=“?”)
private WebElement searchInput;
}
Grab elements from HTML
Grab elements from HTML
Find element id:
Creating a page
public class GoogleSearchPage extends PageObject {
…
@FindBy(id=“gbqfq”)
private WebElement searchInput;
}
Creating a page
public class GoogleSearchPage extends PageObject {
…
@FindBy(id=“gbqfq”)
private WebElement searchInput;
@FindBy(id=“gbqfbw”)
private WebElement searchButton;
}
Creating a page
public class GoogleSearchPage extends PageObject {
…
@FindBy(id=“gbqfq”)
private WebElement searchInput;
public void inputTerm(String searchTerm){
element(searchInput).waitUntilVisible();
}
}
Creating a page
public class GoogleSearchPage extends PageObject {
…
@FindBy(id=“gbqfq”)
private WebElement searchInput;
public void inputTerm(String searchTerm){
element(searchInput).waitUntilVisible();
searchInput.sendKeys(searchTerm);
}
}
Creating a page
public class GoogleSearchPage extends PageObject {
…
@FindBy(id=“gbqfbw”)
private WebElement searchButton;
public void clickOnSearch(String searchTerm){
element(searchButton).waitUntilVisible();
searchButton.click();
}
}
Creating Second Page
Creating Second Page
Creating Second Page
Creating Second Page
Creating Second Page
public class GoogleResultsPage extends PageObject {
…
@FindBy(id=“search”)
private WebElement searchResults;
}
Creating Second Page
public class GoogleResultsPage extends PageObject {
public void findResult(String resultTerm){
element(searchResults).waitUntilVisible();
waitFor(ExpectedConditions.presenceOfAllElementsLocatedBy
(By.cssSelector(“div#search li.g”)));
List<WebElement> resultList =
searchResults.findElements(By.cssSelector(“li.g”));
for(WebElement elementNow:resultList){
if(elementNow.getText().contains(resultsTerm)){
elementNow.findElement(By.cssSelector(“a.l”)).click();
break;
}
}}
Adding Steps
Steps are recorded in reports
Method parameters are captured in the report
Step method names are split by camelCase
Adding Steps
public class GoogleSteps extends ScenarioSteps{
public GoogleSteps(Pages pages){
super(pages);
}
}
Adding Steps
public class GoogleSteps extends ScenarioSteps{
…
public GoogleSearchPage googleSearchPage(){
return getPages.currentPageAt(GoogleSearchPage.class);
}
public GoogleResultsPage googleResultsPage(){
return getPages.currentPageAt(GoogleResultsPage.class);
}
}
Adding Steps
public class GoogleSteps extends ScenarioSteps{
…
@Step
public void inputSearchTerm(String search){
googleSearchPage().inputTerm(search);
}
@Step
public void clickOnSearch(){
googleSearchPage(). clickOnSearch();
}
}
Adding Steps
public class GoogleSteps extends ScenarioSteps{
…
@StepGroup
public void performSearch(String search){
inputSearchTerm(search);
clickOnSearch();
}
}
Adding Steps
public class GoogleSteps extends ScenarioSteps{
…
@Step
public void findSearchResult(String search){
googleResultsPage().findResult(search);
}
}
Adding Steps
public class GoogleSteps extends ScenarioSteps{
…
@Step
public void verifyUrl(String url){
Assert.assertTrue(“Url does not match! ”,
getDriver().getCurrentUrl.contains(url));
}
}
Adding Steps
Creating a Test
@RunWith(ThucydidesRunner.class)
public class GoogleSearchTest {
@Managed(uniqueSession = true)
public WebDriver webdriver;
@ManagedPages(defaultUrl = “http://www.google.com”)
public Pages pages;
@Steps
public GoogleSteps googleSteps;
}
Creating a Test
@RunWith(ThucydidesRunner.class)
public class GoogleSearchTest {
…
@ManagedPages(defaultUrl = “http://www.google.com”)
public Pages pages;
…
@Test
public void googleSearchTest(){
googleSteps.performSearch(“evozon”);
googleSteps.findSearchResult(“on Twitter”);
googleSteps.verifyUrl(“twitter.com/evozon”);
}
}
Test
Test case:
Go to Google search
Type a search term
Grab a search result from the list
Navigate to it
Validate the navigation
@RunWith(ThucydidesRunner.class)
public class GoogleSearchTest {
…
@ManagedPages(defaultUrl
= “http://www.google.com”)
public Pages pages;
…
@Test
public void googleSearchTest(){
googleSteps.performSearch(“evozon”);
googleSteps.findSearchResult(“on Twitter”);
googleSteps.verifyUrl(“twitter.com/evozon”);
}
}
Project Example
Project implementation.
Run parameters
mvn integration-test
will run all tests in the project
mvn test –Dtest=[TEST_NAME]
will run specific test
Note: need to configure in pom.xml
mvn test –Dwebdriver.dirver=firefox
will specify the browser to run with
Note: other browsers need additional
configuration
Aggregate reports
mvn thucydides:aggregate
aggregate final report
Report location:
Project Root
– target
– site
– thucydides
– index.html
Data Driven Testing
TestData3
TestData2
TestData1
Test
CSV
File
Outcome
1
Outcome
2
Outcome
3
Data Driven
CSV files
Group tests in features and stories
Group tests in suites
Automate testing process
Jenkins
Automate testing process
Jenkins integration
Questions
Thank you!

More Related Content

What's hot

Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyMark Proctor
 
Sword fighting with Dagger GDG-NYC Jan 2016
 Sword fighting with Dagger GDG-NYC Jan 2016 Sword fighting with Dagger GDG-NYC Jan 2016
Sword fighting with Dagger GDG-NYC Jan 2016Mike Nakhimovich
 
Full Stack Reactive with React and Spring WebFlux - SpringOne 2018
Full Stack Reactive with React and Spring WebFlux - SpringOne 2018Full Stack Reactive with React and Spring WebFlux - SpringOne 2018
Full Stack Reactive with React and Spring WebFlux - SpringOne 2018Matt Raible
 
Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptExploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptwesley chun
 
React Native Androidはなぜ動くのか
React Native Androidはなぜ動くのかReact Native Androidはなぜ動くのか
React Native Androidはなぜ動くのかYukiya Nakagawa
 
The Screenplay Pattern: Better Interactions for Better Automation
The Screenplay Pattern: Better Interactions for Better AutomationThe Screenplay Pattern: Better Interactions for Better Automation
The Screenplay Pattern: Better Interactions for Better AutomationApplitools
 
A realtime infrastructure for Android apps: Firebase may be what you need..an...
A realtime infrastructure for Android apps: Firebase may be what you need..an...A realtime infrastructure for Android apps: Firebase may be what you need..an...
A realtime infrastructure for Android apps: Firebase may be what you need..an...Alessandro Martellucci
 
Better web apps with React and Redux
Better web apps with React and ReduxBetter web apps with React and Redux
Better web apps with React and ReduxAli Sa'o
 
WebGL Crash Course
WebGL Crash CourseWebGL Crash Course
WebGL Crash CourseTony Parisi
 
Android studio tips and tricks
Android studio tips and tricksAndroid studio tips and tricks
Android studio tips and tricksOleg Mazhukin
 
Effective Application State Management (@DevCamp2017)
Effective Application State Management (@DevCamp2017)Effective Application State Management (@DevCamp2017)
Effective Application State Management (@DevCamp2017)Oliver Häger
 
Hybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKitHybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKitAriya Hidayat
 
Access google command list from the command line
Access google command list from the command lineAccess google command list from the command line
Access google command list from the command lineEthan Lorance
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-pythonDeepak Garg
 
Making the Most of Your Gradle Builds
Making the Most of Your Gradle BuildsMaking the Most of Your Gradle Builds
Making the Most of Your Gradle BuildsEgor Andreevich
 
Micronaut: Changing the Micro Future
Micronaut: Changing the Micro FutureMicronaut: Changing the Micro Future
Micronaut: Changing the Micro FutureZachary Klein
 

What's hot (20)

Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
 
GWT Reloaded
GWT ReloadedGWT Reloaded
GWT Reloaded
 
Sword fighting with Dagger GDG-NYC Jan 2016
 Sword fighting with Dagger GDG-NYC Jan 2016 Sword fighting with Dagger GDG-NYC Jan 2016
Sword fighting with Dagger GDG-NYC Jan 2016
 
Full Stack Reactive with React and Spring WebFlux - SpringOne 2018
Full Stack Reactive with React and Spring WebFlux - SpringOne 2018Full Stack Reactive with React and Spring WebFlux - SpringOne 2018
Full Stack Reactive with React and Spring WebFlux - SpringOne 2018
 
Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptExploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScript
 
React Native Androidはなぜ動くのか
React Native Androidはなぜ動くのかReact Native Androidはなぜ動くのか
React Native Androidはなぜ動くのか
 
The Screenplay Pattern: Better Interactions for Better Automation
The Screenplay Pattern: Better Interactions for Better AutomationThe Screenplay Pattern: Better Interactions for Better Automation
The Screenplay Pattern: Better Interactions for Better Automation
 
A realtime infrastructure for Android apps: Firebase may be what you need..an...
A realtime infrastructure for Android apps: Firebase may be what you need..an...A realtime infrastructure for Android apps: Firebase may be what you need..an...
A realtime infrastructure for Android apps: Firebase may be what you need..an...
 
Better web apps with React and Redux
Better web apps with React and ReduxBetter web apps with React and Redux
Better web apps with React and Redux
 
WebGL Crash Course
WebGL Crash CourseWebGL Crash Course
WebGL Crash Course
 
Android studio tips and tricks
Android studio tips and tricksAndroid studio tips and tricks
Android studio tips and tricks
 
Effective Application State Management (@DevCamp2017)
Effective Application State Management (@DevCamp2017)Effective Application State Management (@DevCamp2017)
Effective Application State Management (@DevCamp2017)
 
Hybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKitHybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKit
 
Access google command list from the command line
Access google command list from the command lineAccess google command list from the command line
Access google command list from the command line
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-python
 
Making the Most of Your Gradle Builds
Making the Most of Your Gradle BuildsMaking the Most of Your Gradle Builds
Making the Most of Your Gradle Builds
 
Micronaut: Changing the Micro Future
Micronaut: Changing the Micro FutureMicronaut: Changing the Micro Future
Micronaut: Changing the Micro Future
 
Gradle
GradleGradle
Gradle
 
Open sourcing the store
Open sourcing the storeOpen sourcing the store
Open sourcing the store
 
Gradle build capabilities
Gradle build capabilities Gradle build capabilities
Gradle build capabilities
 

Viewers also liked

The Future Tester at Suncorp - A Journey of Building Quality In Through Agile
The Future Tester at Suncorp - A Journey of Building Quality In Through AgileThe Future Tester at Suncorp - A Journey of Building Quality In Through Agile
The Future Tester at Suncorp - A Journey of Building Quality In Through AgileCraig Smith
 
The Speed to Cool: Agile Testing & Building Quality In
The Speed to Cool: Agile Testing & Building Quality InThe Speed to Cool: Agile Testing & Building Quality In
The Speed to Cool: Agile Testing & Building Quality InCraig Smith
 
Examenes de eso
Examenes de esoExamenes de eso
Examenes de esoPj Pascual
 
PIOGA Winter Meeting 2-15
PIOGA Winter Meeting 2-15PIOGA Winter Meeting 2-15
PIOGA Winter Meeting 2-15Joseph Baran
 
Two Sides of the Same Coin - the Connection Between Legal and Illegal Immigra...
Two Sides of the Same Coin - the Connection Between Legal and Illegal Immigra...Two Sides of the Same Coin - the Connection Between Legal and Illegal Immigra...
Two Sides of the Same Coin - the Connection Between Legal and Illegal Immigra...Instituto Diáspora Brasil (IDB)
 
Sosyal Medya ve İçerik Pazarlaması
Sosyal Medya ve İçerik PazarlamasıSosyal Medya ve İçerik Pazarlaması
Sosyal Medya ve İçerik PazarlamasıSafakEsen
 
Guía práctica para publicar un artículo
Guía práctica para publicar un artículoGuía práctica para publicar un artículo
Guía práctica para publicar un artículoResidentes1hun
 
Seminario empresas en un dia
Seminario empresas en un diaSeminario empresas en un dia
Seminario empresas en un diaMarcelo Gonzalez
 
Powert ines 6º tema 3 nuevo
Powert ines 6º tema 3 nuevoPowert ines 6º tema 3 nuevo
Powert ines 6º tema 3 nuevomaestrojuanavila
 
269609464 analisis-de-la-pata-de-mono
269609464 analisis-de-la-pata-de-mono269609464 analisis-de-la-pata-de-mono
269609464 analisis-de-la-pata-de-monopatao
 
El hombre como ser social
El hombre como ser socialEl hombre como ser social
El hombre como ser socialjose quiñones
 
Inhaled Corticosteroids Increase the Risk of Pneumonia in Patients with Chron...
Inhaled Corticosteroids Increase the Risk of Pneumonia in Patients with Chron...Inhaled Corticosteroids Increase the Risk of Pneumonia in Patients with Chron...
Inhaled Corticosteroids Increase the Risk of Pneumonia in Patients with Chron...Ming Chia Lee
 
O novo ASP.NET - Verity IT - Janeiro/2017
O novo ASP.NET - Verity IT - Janeiro/2017O novo ASP.NET - Verity IT - Janeiro/2017
O novo ASP.NET - Verity IT - Janeiro/2017Renato Groff
 
AURYN - Therapeutisches Reiten 2009
AURYN - Therapeutisches Reiten 2009AURYN - Therapeutisches Reiten 2009
AURYN - Therapeutisches Reiten 2009A. Meister
 

Viewers also liked (20)

The Future Tester at Suncorp - A Journey of Building Quality In Through Agile
The Future Tester at Suncorp - A Journey of Building Quality In Through AgileThe Future Tester at Suncorp - A Journey of Building Quality In Through Agile
The Future Tester at Suncorp - A Journey of Building Quality In Through Agile
 
The Speed to Cool: Agile Testing & Building Quality In
The Speed to Cool: Agile Testing & Building Quality InThe Speed to Cool: Agile Testing & Building Quality In
The Speed to Cool: Agile Testing & Building Quality In
 
Examenes de eso
Examenes de esoExamenes de eso
Examenes de eso
 
PIOGA Winter Meeting 2-15
PIOGA Winter Meeting 2-15PIOGA Winter Meeting 2-15
PIOGA Winter Meeting 2-15
 
Two Sides of the Same Coin - the Connection Between Legal and Illegal Immigra...
Two Sides of the Same Coin - the Connection Between Legal and Illegal Immigra...Two Sides of the Same Coin - the Connection Between Legal and Illegal Immigra...
Two Sides of the Same Coin - the Connection Between Legal and Illegal Immigra...
 
Sosyal Medya ve İçerik Pazarlaması
Sosyal Medya ve İçerik PazarlamasıSosyal Medya ve İçerik Pazarlaması
Sosyal Medya ve İçerik Pazarlaması
 
Guía práctica para publicar un artículo
Guía práctica para publicar un artículoGuía práctica para publicar un artículo
Guía práctica para publicar un artículo
 
Seminario empresas en un dia
Seminario empresas en un diaSeminario empresas en un dia
Seminario empresas en un dia
 
Tema 7 lengua 6º.Víctor
Tema 7 lengua 6º.VíctorTema 7 lengua 6º.Víctor
Tema 7 lengua 6º.Víctor
 
Powert ines 6º tema 3 nuevo
Powert ines 6º tema 3 nuevoPowert ines 6º tema 3 nuevo
Powert ines 6º tema 3 nuevo
 
269609464 analisis-de-la-pata-de-mono
269609464 analisis-de-la-pata-de-mono269609464 analisis-de-la-pata-de-mono
269609464 analisis-de-la-pata-de-mono
 
Creación Empresas chile
Creación Empresas chileCreación Empresas chile
Creación Empresas chile
 
El hombre como ser social
El hombre como ser socialEl hombre como ser social
El hombre como ser social
 
Inhaled Corticosteroids Increase the Risk of Pneumonia in Patients with Chron...
Inhaled Corticosteroids Increase the Risk of Pneumonia in Patients with Chron...Inhaled Corticosteroids Increase the Risk of Pneumonia in Patients with Chron...
Inhaled Corticosteroids Increase the Risk of Pneumonia in Patients with Chron...
 
O novo ASP.NET - Verity IT - Janeiro/2017
O novo ASP.NET - Verity IT - Janeiro/2017O novo ASP.NET - Verity IT - Janeiro/2017
O novo ASP.NET - Verity IT - Janeiro/2017
 
Figaronron - Cirque Mickael
Figaronron - Cirque MickaelFigaronron - Cirque Mickael
Figaronron - Cirque Mickael
 
Dvbcn.com
Dvbcn.comDvbcn.com
Dvbcn.com
 
4. estadísticas comparativas sobre seguridad
4. estadísticas comparativas sobre seguridad4. estadísticas comparativas sobre seguridad
4. estadísticas comparativas sobre seguridad
 
AURYN - Therapeutisches Reiten 2009
AURYN - Therapeutisches Reiten 2009AURYN - Therapeutisches Reiten 2009
AURYN - Therapeutisches Reiten 2009
 
Les journées de Chipo - Jour 323
Les journées de Chipo - Jour 323Les journées de Chipo - Jour 323
Les journées de Chipo - Jour 323
 

Similar to Webdriver with Thucydides - TdT@Cluj #18

Hybrid App using WordPress
Hybrid App using WordPressHybrid App using WordPress
Hybrid App using WordPressHaim Michael
 
Тарас Олексин - Sculpt! Your! Tests!
Тарас Олексин  - Sculpt! Your! Tests!Тарас Олексин  - Sculpt! Your! Tests!
Тарас Олексин - Sculpt! Your! Tests!DataArt
 
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect ModelComprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect ModelvodQA
 
Building Grails Plugins - Tips And Tricks
Building Grails Plugins - Tips And TricksBuilding Grails Plugins - Tips And Tricks
Building Grails Plugins - Tips And TricksMike Hugo
 
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...Iakiv Kramarenko
 
Gretty: Managing Web Containers with Gradle
Gretty: Managing Web Containers with GradleGretty: Managing Web Containers with Gradle
Gretty: Managing Web Containers with GradleAndrey Hihlovsky
 
A test framework out of the box - Geb for Web and mobile
A test framework out of the box - Geb for Web and mobileA test framework out of the box - Geb for Web and mobile
A test framework out of the box - Geb for Web and mobileGlobalLogic Ukraine
 
Google Play Services Rock
Google Play Services RockGoogle Play Services Rock
Google Play Services RockPeter Friese
 
Easy tests with Selenide and Easyb
Easy tests with Selenide and EasybEasy tests with Selenide and Easyb
Easy tests with Selenide and EasybIakiv Kramarenko
 
WordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp ChicagoWordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp ChicagoJoseph Dolson
 
Google Analytics intro - Best practices for WCM
Google Analytics intro - Best practices for WCMGoogle Analytics intro - Best practices for WCM
Google Analytics intro - Best practices for WCMAmplexor
 
[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Searchindeedeng
 
BDD, ATDD, Page Objects: The Road to Sustainable Web Testing
BDD, ATDD, Page Objects: The Road to Sustainable Web TestingBDD, ATDD, Page Objects: The Road to Sustainable Web Testing
BDD, ATDD, Page Objects: The Road to Sustainable Web TestingJohn Ferguson Smart Limited
 
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-JupiterToolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-JupiterBoni García
 
How to Webpack your Django!
How to Webpack your Django!How to Webpack your Django!
How to Webpack your Django!David Gibbons
 
GDG İstanbul Şubat Etkinliği - Sunum
GDG İstanbul Şubat Etkinliği - SunumGDG İstanbul Şubat Etkinliği - Sunum
GDG İstanbul Şubat Etkinliği - SunumCüneyt Yeşilkaya
 
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.pptDevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.pptVinoaj Vijeyakumaar
 
Workshop: Building Vaadin add-ons
Workshop: Building Vaadin add-onsWorkshop: Building Vaadin add-ons
Workshop: Building Vaadin add-onsSami Ekblad
 

Similar to Webdriver with Thucydides - TdT@Cluj #18 (20)

Hybrid App using WordPress
Hybrid App using WordPressHybrid App using WordPress
Hybrid App using WordPress
 
Тарас Олексин - Sculpt! Your! Tests!
Тарас Олексин  - Sculpt! Your! Tests!Тарас Олексин  - Sculpt! Your! Tests!
Тарас Олексин - Sculpt! Your! Tests!
 
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect ModelComprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
 
Building Grails Plugins - Tips And Tricks
Building Grails Plugins - Tips And TricksBuilding Grails Plugins - Tips And Tricks
Building Grails Plugins - Tips And Tricks
 
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
 
Gretty: Managing Web Containers with Gradle
Gretty: Managing Web Containers with GradleGretty: Managing Web Containers with Gradle
Gretty: Managing Web Containers with Gradle
 
A test framework out of the box - Geb for Web and mobile
A test framework out of the box - Geb for Web and mobileA test framework out of the box - Geb for Web and mobile
A test framework out of the box - Geb for Web and mobile
 
Google Play Services Rock
Google Play Services RockGoogle Play Services Rock
Google Play Services Rock
 
Easy tests with Selenide and Easyb
Easy tests with Selenide and EasybEasy tests with Selenide and Easyb
Easy tests with Selenide and Easyb
 
WordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp ChicagoWordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp Chicago
 
Night Watch with QA
Night Watch with QANight Watch with QA
Night Watch with QA
 
Google Analytics intro - Best practices for WCM
Google Analytics intro - Best practices for WCMGoogle Analytics intro - Best practices for WCM
Google Analytics intro - Best practices for WCM
 
[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search
 
BDD, ATDD, Page Objects: The Road to Sustainable Web Testing
BDD, ATDD, Page Objects: The Road to Sustainable Web TestingBDD, ATDD, Page Objects: The Road to Sustainable Web Testing
BDD, ATDD, Page Objects: The Road to Sustainable Web Testing
 
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-JupiterToolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
 
How to Webpack your Django!
How to Webpack your Django!How to Webpack your Django!
How to Webpack your Django!
 
GDG İstanbul Şubat Etkinliği - Sunum
GDG İstanbul Şubat Etkinliği - SunumGDG İstanbul Şubat Etkinliği - Sunum
GDG İstanbul Şubat Etkinliği - Sunum
 
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.pptDevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.ppt
 
Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)
 
Workshop: Building Vaadin add-ons
Workshop: Building Vaadin add-onsWorkshop: Building Vaadin add-ons
Workshop: Building Vaadin add-ons
 

More from Tabăra de Testare

Zed Attack Proxy (ZAP) Quick Intro - TdT@Cluj #20
Zed Attack Proxy (ZAP) Quick Intro - TdT@Cluj #20Zed Attack Proxy (ZAP) Quick Intro - TdT@Cluj #20
Zed Attack Proxy (ZAP) Quick Intro - TdT@Cluj #20Tabăra de Testare
 
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20Tabăra de Testare
 
Robotium framework & Jenkins CI tools - TdT@Cluj #19
Robotium framework & Jenkins CI tools - TdT@Cluj #19Robotium framework & Jenkins CI tools - TdT@Cluj #19
Robotium framework & Jenkins CI tools - TdT@Cluj #19Tabăra de Testare
 
Tap into mobile app testing@TDT Iasi Sept2013
Tap into mobile app testing@TDT Iasi Sept2013Tap into mobile app testing@TDT Iasi Sept2013
Tap into mobile app testing@TDT Iasi Sept2013Tabăra de Testare
 
Test analysis & design good practices@TDT Iasi 17Oct2013
Test analysis & design   good practices@TDT Iasi 17Oct2013Test analysis & design   good practices@TDT Iasi 17Oct2013
Test analysis & design good practices@TDT Iasi 17Oct2013Tabăra de Testare
 
Behavior Driven Development - TdT@Cluj #15
Behavior Driven Development - TdT@Cluj #15Behavior Driven Development - TdT@Cluj #15
Behavior Driven Development - TdT@Cluj #15Tabăra de Testare
 
TdT@Cluj #14 - Mobile Testing Workshop
TdT@Cluj #14 - Mobile Testing WorkshopTdT@Cluj #14 - Mobile Testing Workshop
TdT@Cluj #14 - Mobile Testing WorkshopTabăra de Testare
 
Test Automation Techniques for Windows Applications
Test Automation Techniques for Windows ApplicationsTest Automation Techniques for Windows Applications
Test Automation Techniques for Windows ApplicationsTabăra de Testare
 
How to bring creativity in testing
How to bring creativity in testingHow to bring creativity in testing
How to bring creativity in testingTabăra de Testare
 
Testarea: Prieten sau dusman? Adrian speteanu
Testarea: Prieten sau dusman? Adrian speteanuTestarea: Prieten sau dusman? Adrian speteanu
Testarea: Prieten sau dusman? Adrian speteanuTabăra de Testare
 

More from Tabăra de Testare (20)

Zed Attack Proxy (ZAP) Quick Intro - TdT@Cluj #20
Zed Attack Proxy (ZAP) Quick Intro - TdT@Cluj #20Zed Attack Proxy (ZAP) Quick Intro - TdT@Cluj #20
Zed Attack Proxy (ZAP) Quick Intro - TdT@Cluj #20
 
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
 
Robotium framework & Jenkins CI tools - TdT@Cluj #19
Robotium framework & Jenkins CI tools - TdT@Cluj #19Robotium framework & Jenkins CI tools - TdT@Cluj #19
Robotium framework & Jenkins CI tools - TdT@Cluj #19
 
Tap into mobile app testing@TDT Iasi Sept2013
Tap into mobile app testing@TDT Iasi Sept2013Tap into mobile app testing@TDT Iasi Sept2013
Tap into mobile app testing@TDT Iasi Sept2013
 
Test analysis & design good practices@TDT Iasi 17Oct2013
Test analysis & design   good practices@TDT Iasi 17Oct2013Test analysis & design   good practices@TDT Iasi 17Oct2013
Test analysis & design good practices@TDT Iasi 17Oct2013
 
Mobile Web UX - TdT@Cluj #17
Mobile Web UX - TdT@Cluj #17Mobile Web UX - TdT@Cluj #17
Mobile Web UX - TdT@Cluj #17
 
Behavior Driven Development - TdT@Cluj #15
Behavior Driven Development - TdT@Cluj #15Behavior Driven Development - TdT@Cluj #15
Behavior Driven Development - TdT@Cluj #15
 
TdT@Cluj #14 - Mobile Testing Workshop
TdT@Cluj #14 - Mobile Testing WorkshopTdT@Cluj #14 - Mobile Testing Workshop
TdT@Cluj #14 - Mobile Testing Workshop
 
Security testing
Security testingSecurity testing
Security testing
 
Mobile Testing - TdT Cluj #13
Mobile Testing - TdT Cluj #13Mobile Testing - TdT Cluj #13
Mobile Testing - TdT Cluj #13
 
Td t summary
Td t   summaryTd t   summary
Td t summary
 
How to evaluate a tester
How to evaluate a testerHow to evaluate a tester
How to evaluate a tester
 
Testing, job or game
Testing, job or gameTesting, job or game
Testing, job or game
 
Test Automation Techniques for Windows Applications
Test Automation Techniques for Windows ApplicationsTest Automation Techniques for Windows Applications
Test Automation Techniques for Windows Applications
 
Help them to help you
Help them to help youHelp them to help you
Help them to help you
 
Learning the Agile way
Learning the Agile wayLearning the Agile way
Learning the Agile way
 
How to bring creativity in testing
How to bring creativity in testingHow to bring creativity in testing
How to bring creativity in testing
 
Tester with benefits
Tester with benefitsTester with benefits
Tester with benefits
 
Doing things Differently
Doing things DifferentlyDoing things Differently
Doing things Differently
 
Testarea: Prieten sau dusman? Adrian speteanu
Testarea: Prieten sau dusman? Adrian speteanuTestarea: Prieten sau dusman? Adrian speteanu
Testarea: Prieten sau dusman? Adrian speteanu
 

Recently uploaded

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Webdriver with Thucydides - TdT@Cluj #18

Editor's Notes

  1. Bonus pelangatoateastea a fostcaRapoartelearataumultmai bine siEchipa de sales a reusitsaprindanistecontractemaiinteresante.Story Noul Framework – Tocmaidescoperisemframeworkul – am fostchemat de team Lead – new ProjectCand am auzitclientu mi-o picat fata. Probabilatiauzit de ei– Press Association – UK – ceamai mare agentie de presa din anglia
  2. Problemele au continuatsaapara…acumatrebuiasaluamdouavariante de rapoartesisa le comaramintreele.generamrapoartemari la fiecare run Nevoie de a vedeadiferenteintrerapoarterapide
  3. API - Application programming interface - in term this means it is not language specific. You can write your code in the language of your choice.
  4. http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.htmlhttp://maven.apache.org/http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/junosr2
  5. http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.htmlhttp://maven.apache.org/http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/junosr2
  6. Oxford University Press Aplicatia era un document management system. ProvocariTestare cu 5 tipuri de useriptfiecare flow Jenkins for CISolutiaDDT – Data Driven Testing – un scenariu era rulatpentru 5 tipuri de utilizatorisiasteptamdiferiteoutcomeuri
  7. Jenkinseste un tool de continuous integrationContinuous integration (CI) is a software engineering practice in which isolated changes are immediately tested and reported on when they are added to a larger code base.Practiccandechipa de dev face un nou deploy de aplicatieTestelesuntporniteimediatdupa deployRuleazatestelesiai un raport instant… de passed and failed
  8. Jenkinseste un tool de continuous integrationPracticcandechipa de dev face un nou deploy de aplicatieTestelesuntporniteimediatdupa deployRuleazatestelesiai un raport instant… de passed and failed