I have prepared a four day training outline for selenium. 8 sessions,
two sessions per day.
I plan to have some trainings around this.
I want you ( the community people ) to know comment on how this
outline looks like:
Selenium Training - Program Outline
This a four-day program divided into 8 sessions. Sessions 2-7 are
hands on sessions. All sessions begin with a presentation. Hopes/
Expectations are clearly set at the beginning of the training and a
retrospective is done at the end; this is addition to a standup in
every session to ensure visibility and gauge progress.
Things to do a day before
Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
mercurial repo)
Prepare FlipCharts
Things to be done everyday
Feedback (end of day )
Switch pairs (beginning of every session )
Standup (beginning of day )
Session 1 - Introduction
Goals
Introduce participants to each other
Establish the goals of the program
Do a warm up on selenium
Setup Environment ( IDE, repo etc )
Outline
Hopes and Concerns
Icebreaking exercise
Introduction to various different Selenium components and
Architecture
Session 2: Selenium Core
Goals
User should be able to
Write a simple test case in Selenese
Demonstrate understanding of core and core-less
Demonstrate understanding of core profiles
Familiarity with various JS files
Demonstrate how to build and deploy core part to Maven
Agenda
Create an API goBack. This API would emulate the user pressing the
back button of the browser
Building the Selenium Core
Outline
Explain the source tree layout
Create sample HTML page
Create Selenese test case
Include the test case in the actual suite ( conditions configure for
specific browser etc)
Building the selenium core
Describe conversion
looking at pom.xml for selenese ant task
Describe important JS files which are part of Selenium Core.
Describe how Selenium coreless creates profile
Firebug
Windows Registry
difference between PI mode and non PI mode ( diff between the JS
files being loaded )
Links
Starting with Selenium
Setting up Apache on OS X
Ajax Testing with Selenium using waitForCondition
Agile Testing with Selenium
Notes
browser launcher, launcher util, WindowsUtils, creation of firefox
profile and extension, ie registry modification, fire bug extension,
fire fox 3 patch, iedoc.xml geberation with rhino
selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
selenium-testrunner.js, different between PI mode loading and non-pi
mode loading of js files
Session 3 Selenium Server
Goals
User should be able to demonstrate understanding of
the source structure of Selenium Server
how selenium server and selenium core talk to each other (Incase of
selenese test case selenium-testrunner.js and driver commands )
diff context paths in the selenium server
how selenium server handles requests
Outline
Talk about source structure of SS ( talk about selenium server =
(SeleniumCore +SeleniumCoreLess ))
Describe architecture of the Selenium Server
Describes the commands Selenium Core sends to Selenium Server
( Excercise: Do this with FireBug; involve students )
How selenium server handles selenese test cases
How selenium server handles test cases driven by driver
Talk about SSL certificates.
Notes
proxy handler
static content handler (classpath resources)
cache content handler
selenium driver handler
Session 4 Selenium Driver
Goals
User should be able to demonstrate and understanding of .
How selenium converts iedoc.xml XML to Java/ruby/python driver
interface and implementation with iedocXXX.xml xslt & Converting
selenese test case to Java test case with XLateHTML2Java and handling
special conditions while test case conversion
How to run test cases from Java driver end.
Selenium Driver <> Selenium Server interactions
Outline
From the XML doc generated in session one, we will talk about how
code is generated out of it.
In case of Java binding , how they are creating Java test case from
selenese test case.
What if we dont want them to generate the system automatically?
getEval (WaitUntilPresent)
how to get rid of getEval and extending the Selenium driver
( inheritance OR composition )
patterns (do, get , is )
Session 5 Selenium Driver
Goals
User should be able to demonstrate and understanding of .
Understanding hooks
Understanding how to extend the selenium core objects
How things would differ from PI and non PI mode
Outline
Taking the click and the wait ; such that click implicitly calls a
wait
Session 6 Selenium Modes
Goals
User should be able to demonstrate and understanding of .
IEHTA/chrome #Running a functional test case under different
browsers
Page ranking algorithm
Multi-domain issues
How to exclude files from injection
Outline
Talk about IEHTA and Chrome modes
Demonstrate running the functional tests under different browsers
Facilitated Discussion What are the major cross-browser issues have
you faced in general and with Selenium in particular?
Session 7 (part 1) XPath
Goals
User should be able to demonstrate and understanding of .
difference between XPath implementation in IE and firefox
how to change the XPath library used for IE
Outline
Talk about XPath Implementation in IE and firefox
Attendees will be asked to find out how to change the XPath library
for IE
Explain the difference between the two javascript implementations
Talk about the pros/cons of the native IE XPath implementation
( Including issues with MSXML )
Notes
MSXML cannot deal with malformed HTML documents. That is why a
JavaScript library is needed to deal with XPath.
Session 7 (part 2) Misc Selenium Issues
This session is more of discussions regarding Selenium issues
Running selenium test cases in parallel (Selenium Grid)
Slow JS
Flex Driver
Selenium-Flash demo Topics to vary wrt to time. Participation from
audience encouraged
Outline
Demonstrate the stuff mentioned in the goals and talk in detail
Session 8: Wrap Up
Facilitated discussions regarding
CI (including building things in parallel for different platforms
Release Management ( Drop a hint about Continuous Integration)
Automated Testing (Drop a hint about Agile Test Automation)
Q&A
Retro
> I have prepared a four day training outline for selenium. 8 sessions,
> two sessions per day.
> I plan to have some trainings around this.
> I want you ( the community people ) to know comment on how this
> outline looks like:
> Selenium Training - Program Outline
> This a four-day program divided into 8 sessions. Sessions 2-7 are
> hands on sessions. All sessions begin with a presentation. Hopes/
> Expectations are clearly set at the beginning of the training and a
> retrospective is done at the end; this is addition to a standup in
> every session to ensure visibility and gauge progress.
> Things to do a day before
> Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> mercurial repo)
> Prepare FlipCharts
> Things to be done everyday
> Feedback (end of day )
> Switch pairs (beginning of every session )
> Standup (beginning of day )
> Session 1 - Introduction
> Goals
> Introduce participants to each other
> Establish the goals of the program
> Do a warm up on selenium
> Setup Environment ( IDE, repo etc )
> Outline
> Hopes and Concerns
> Icebreaking exercise
> Introduction to various different Selenium components and
> Architecture
> Session 2: Selenium Core
> Goals
> User should be able to
> Write a simple test case in Selenese
> Demonstrate understanding of core and core-less
> Demonstrate understanding of core profiles
> Familiarity with various JS files
> Demonstrate how to build and deploy core part to Maven
> Agenda
> Create an API goBack. This API would emulate the user pressing the
> back button of the browser
> Building the Selenium Core
> Outline
> Explain the source tree layout
> Create sample HTML page
> Create Selenese test case
> Include the test case in the actual suite ( conditions configure
> for
> specific browser etc)
> Building the selenium core
> Describe conversion
> looking at pom.xml for selenese ant task
> Describe important JS files which are part of Selenium Core.
> Describe how Selenium coreless creates profile
> Firebug
> Windows Registry
> difference between PI mode and non PI mode ( diff between the JS
> files being loaded )
> Links
> Starting with Selenium
> Setting up Apache on OS X
> Ajax Testing with Selenium using waitForCondition
> Agile Testing with Selenium
> Notes
> browser launcher, launcher util, WindowsUtils, creation of firefox
> profile and extension, ie registry modification, fire bug extension,
> fire fox 3 patch, iedoc.xml geberation with rhino
> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> selenium-testrunner.js, different between PI mode loading and non-pi
> mode loading of js files
> Session 3 Selenium Server
> Goals
> User should be able to demonstrate understanding of
> the source structure of Selenium Server
> how selenium server and selenium core talk to each other (Incase of
> selenese test case selenium-testrunner.js and driver commands )
> diff context paths in the selenium server
> how selenium server handles requests
> Outline
> Talk about source structure of SS ( talk about selenium server =
> (SeleniumCore +SeleniumCoreLess ))
> Describe architecture of the Selenium Server
> Describes the commands Selenium Core sends to Selenium Server
> ( Excercise: Do this with FireBug; involve students )
> How selenium server handles selenese test cases
> How selenium server handles test cases driven by driver
> Talk about SSL certificates.
> Notes
> proxy handler
> static content handler (classpath resources)
> cache content handler
> selenium driver handler
> Session 4 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> How selenium converts iedoc.xml XML to Java/ruby/python driver
> interface and implementation with iedocXXX.xml xslt & Converting
> selenese test case to Java test case with XLateHTML2Java and handling
> special conditions while test case conversion
> How to run test cases from Java driver end.
> Selenium Driver <> Selenium Server interactions
> Outline
> From the XML doc generated in session one, we will talk about how
> code is generated out of it.
> In case of Java binding , how they are creating Java test case from
> selenese test case.
> What if we dont want them to generate the system automatically?
> getEval (WaitUntilPresent)
> how to get rid of getEval and extending the Selenium driver
> ( inheritance OR composition )
> patterns (do, get , is )
> Session 5 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> Understanding hooks
> Understanding how to extend the selenium core objects
> How things would differ from PI and non PI mode
> Outline
> Taking the click and the wait ; such that click implicitly calls a
> wait
> Session 6 Selenium Modes
> Goals
> User should be able to demonstrate and understanding of .
> IEHTA/chrome #Running a functional test case under different
> browsers
> Page ranking algorithm
> Multi-domain issues
> How to exclude files from injection
> Outline
> Talk about IEHTA and Chrome modes
> Demonstrate running the functional tests under different browsers
> Facilitated Discussion What are the major cross-browser issues have
> you faced in general and with Selenium in particular?
> Session 7 (part 1) XPath
> Goals
> User should be able to demonstrate and understanding of .
> difference between XPath implementation in IE and firefox
> how to change the XPath library used for IE
> Outline
> Talk about XPath Implementation in IE and firefox
> Attendees will be asked to find out how to change the XPath library
> for IE
> Explain the difference between the two javascript implementations
> Talk about the pros/cons of the native IE XPath implementation
> ( Including issues with MSXML )
> Notes
> MSXML cannot deal with malformed HTML documents. That is why a
> JavaScript library is needed to deal with XPath.
> Session 7 (part 2) Misc Selenium Issues
> This session is more of discussions regarding Selenium issues
> Running selenium test cases in parallel (Selenium Grid)
> Slow JS
> Flex Driver
> Selenium-Flash demo Topics to vary wrt to time. Participation from
> audience encouraged
> Outline
> Demonstrate the stuff mentioned in the goals and talk in detail
> Session 8: Wrap Up
> Facilitated discussions regarding
> CI (including building things in parallel for different platforms
> Release Management ( Drop a hint about Continuous Integration)
> Automated Testing (Drop a hint about Agile Test Automation)
> Q&A
> Retro
> On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty
> <manishch...@gmail.com>wrote:
> > Hey Guys,
> > I have prepared a four day training outline for selenium. 8 sessions,
> > two sessions per day.
> > I plan to have some trainings around this.
> > I want you ( the community people ) to know comment on how this
> > outline looks like:
> > Selenium Training - Program Outline
> > This a four-day program divided into 8 sessions. Sessions 2-7 are
> > hands on sessions. All sessions begin with a presentation. Hopes/
> > Expectations are clearly set at the beginning of the training and a
> > retrospective is done at the end; this is addition to a standup in
> > every session to ensure visibility and gauge progress.
> > Things to do a day before
> > Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> > mercurial repo)
> > Prepare FlipCharts
> > Things to be done everyday
> > Feedback (end of day )
> > Switch pairs (beginning of every session )
> > Standup (beginning of day )
> > Session 1 - Introduction
> > Goals
> > Introduce participants to each other
> > Establish the goals of the program
> > Do a warm up on selenium
> > Setup Environment ( IDE, repo etc )
> > Outline
> > Hopes and Concerns
> > Icebreaking exercise
> > Introduction to various different Selenium components and
> > Architecture
> > Session 2: Selenium Core
> > Goals
> > User should be able to
> > Write a simple test case in Selenese
> > Demonstrate understanding of core and core-less
> > Demonstrate understanding of core profiles
> > Familiarity with various JS files
> > Demonstrate how to build and deploy core part to Maven
> > Agenda
> > Create an API goBack. This API would emulate the user pressing the
> > back button of the browser
> > Building the Selenium Core
> > Outline
> > Explain the source tree layout
> > Create sample HTML page
> > Create Selenese test case
> > Include the test case in the actual suite ( conditions configure
> > for
> > specific browser etc)
> > Building the selenium core
> > Describe conversion
> > looking at pom.xml for selenese ant task
> > Describe important JS files which are part of Selenium Core.
> > Describe how Selenium coreless creates profile
> > Firebug
> > Windows Registry
> > difference between PI mode and non PI mode ( diff between the JS
> > files being loaded )
> > Links
> > Starting with Selenium
> > Setting up Apache on OS X
> > Ajax Testing with Selenium using waitForCondition
> > Agile Testing with Selenium
> > Notes
> > browser launcher, launcher util, WindowsUtils, creation of firefox
> > profile and extension, ie registry modification, fire bug extension,
> > fire fox 3 patch, iedoc.xml geberation with rhino
> > selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> > selenium-testrunner.js, different between PI mode loading and non-pi
> > mode loading of js files
> > Session 3 Selenium Server
> > Goals
> > User should be able to demonstrate understanding of
> > the source structure of Selenium Server
> > how selenium server and selenium core talk to each other (Incase of
> > selenese test case selenium-testrunner.js and driver commands )
> > diff context paths in the selenium server
> > how selenium server handles requests
> > Outline
> > Talk about source structure of SS ( talk about selenium server =
> > (SeleniumCore +SeleniumCoreLess ))
> > Describe architecture of the Selenium Server
> > Describes the commands Selenium Core sends to Selenium Server
> > ( Excercise: Do this with FireBug; involve students )
> > How selenium server handles selenese test cases
> > How selenium server handles test cases driven by driver
> > Talk about SSL certificates.
> > Notes
> > proxy handler
> > static content handler (classpath resources)
> > cache content handler
> > selenium driver handler
> > Session 4 Selenium Driver
> > Goals
> > User should be able to demonstrate and understanding of .
> > How selenium converts iedoc.xml XML to Java/ruby/python driver
> > interface and implementation with iedocXXX.xml xslt & Converting
> > selenese test case to Java test case with XLateHTML2Java and handling
> > special conditions while test case conversion
> > How to run test cases from Java driver end.
> > Selenium Driver <> Selenium Server interactions
> > Outline
> > From the XML doc generated in session one, we will talk about how
> > code is generated out of it.
> > In case of Java binding , how they are creating Java test case from
> > selenese test case.
> > What if we dont want them to generate the system automatically?
> > getEval (WaitUntilPresent)
> > how to get rid of getEval and extending the Selenium driver
> > ( inheritance OR composition )
> > patterns (do, get , is )
> > Session 5 Selenium Driver
> > Goals
> > User should be able to demonstrate and understanding of .
> > Understanding hooks
> > Understanding how to extend the selenium core objects
> > How things would differ from PI and non PI mode
> > Outline
> > Taking the click and the wait ; such that click implicitly calls a
> > wait
> > Session 6 Selenium Modes
> > Goals
> > User should be able to demonstrate and understanding of .
> > IEHTA/chrome #Running a functional test case under different
> > browsers
> > Page ranking algorithm
> > Multi-domain issues
> > How to exclude files from injection
> > Outline
> > Talk about IEHTA and Chrome modes
> > Demonstrate running the functional tests under different browsers
> > Facilitated Discussion What are the major cross-browser issues have
> > you faced in general and with Selenium in particular?
> > Session 7 (part 1) XPath
> > Goals
> > User should be able to demonstrate and understanding of .
> > difference between XPath implementation in IE and firefox
> > how to change the XPath library used for IE
> > Outline
> > Talk about XPath Implementation in IE and firefox
> > Attendees will be asked to find out how to change the XPath library
> > for IE
> > Explain the difference between the two javascript implementations
> > Talk about the pros/cons of the native IE XPath implementation
> > ( Including issues with MSXML )
> > Notes
> > MSXML cannot deal with malformed HTML documents. That is why a
> > JavaScript library is needed to deal with XPath.
> > Session 7 (part 2) Misc Selenium Issues
> > This session is more of discussions regarding Selenium issues
> > Running selenium test cases in parallel (Selenium Grid)
> > Slow JS
> > Flex Driver
> > Selenium-Flash demo Topics to vary wrt to time. Participation from
> > audience encouraged
> > Outline
> > Demonstrate the stuff mentioned in the goals and talk in detail
> > Session 8: Wrap Up
> > Facilitated discussions regarding
> > CI (including building things in parallel for different platforms
> > Release Management ( Drop a hint about Continuous Integration)
> > Automated Testing (Drop a hint about Agile Test Automation)
> > Q&A
> > Retro
> I have prepared a four day training outline for selenium. 8 sessions,
> two sessions per day.
> I plan to have some trainings around this.
> I want you ( the community people ) to know comment on how this
> outline looks like:
> Selenium Training - Program Outline
> This a four-day program divided into 8 sessions. Sessions 2-7 are
> hands on sessions. All sessions begin with a presentation. Hopes/
> Expectations are clearly set at the beginning of the training and a
> retrospective is done at the end; this is addition to a standup in
> every session to ensure visibility and gauge progress.
> Things to do a day before
> Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> mercurial repo)
> Prepare FlipCharts
> Things to be done everyday
> Feedback (end of day )
> Switch pairs (beginning of every session )
> Standup (beginning of day )
> Session 1 - Introduction
> Goals
> Introduce participants to each other
> Establish the goals of the program
> Do a warm up on selenium
> Setup Environment ( IDE, repo etc )
> Outline
> Hopes and Concerns
> Icebreaking exercise
> Introduction to various different Selenium components and
> Architecture
> Session 2: Selenium Core
> Goals
> User should be able to
> Write a simple test case in Selenese
> Demonstrate understanding of core and core-less
> Demonstrate understanding of core profiles
> Familiarity with various JS files
> Demonstrate how to build and deploy core part to Maven
> Agenda
> Create an API goBack. This API would emulate the user pressing the
> back button of the browser
> Building the Selenium Core
> Outline
> Explain the source tree layout
> Create sample HTML page
> Create Selenese test case
> Include the test case in the actual suite ( conditions configure
> for
> specific browser etc)
> Building the selenium core
> Describe conversion
> looking at pom.xml for selenese ant task
> Describe important JS files which are part of Selenium Core.
> Describe how Selenium coreless creates profile
> Firebug
> Windows Registry
> difference between PI mode and non PI mode ( diff between the JS
> files being loaded )
> Links
> Starting with Selenium
> Setting up Apache on OS X
> Ajax Testing with Selenium using waitForCondition
> Agile Testing with Selenium
> Notes
> browser launcher, launcher util, WindowsUtils, creation of firefox
> profile and extension, ie registry modification, fire bug extension,
> fire fox 3 patch, iedoc.xml geberation with rhino
> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> selenium-testrunner.js, different between PI mode loading and non-pi
> mode loading of js files
> Session 3 Selenium Server
> Goals
> User should be able to demonstrate understanding of
> the source structure of Selenium Server
> how selenium server and selenium core talk to each other (Incase of
> selenese test case selenium-testrunner.js and driver commands )
> diff context paths in the selenium server
> how selenium server handles requests
> Outline
> Talk about source structure of SS ( talk about selenium server =
> (SeleniumCore +SeleniumCoreLess ))
> Describe architecture of the Selenium Server
> Describes the commands Selenium Core sends to Selenium Server
> ( Excercise: Do this with FireBug; involve students )
> How selenium server handles selenese test cases
> How selenium server handles test cases driven by driver
> Talk about SSL certificates.
> Notes
> proxy handler
> static content handler (classpath resources)
> cache content handler
> selenium driver handler
> Session 4 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> How selenium converts iedoc.xml XML to Java/ruby/python driver
> interface and implementation with iedocXXX.xml xslt & Converting
> selenese test case to Java test case with XLateHTML2Java and handling
> special conditions while test case conversion
> How to run test cases from Java driver end.
> Selenium Driver <> Selenium Server interactions
> Outline
> From the XML doc generated in session one, we will talk about how
> code is generated out of it.
> In case of Java binding , how they are creating Java test case from
> selenese test case.
> What if we dont want them to generate the system automatically?
> getEval (WaitUntilPresent)
> how to get rid of getEval and extending the Selenium driver
> ( inheritance OR composition )
> patterns (do, get , is )
> Session 5 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> Understanding hooks
> Understanding how to extend the selenium core objects
> How things would differ from PI and non PI mode
> Outline
> Taking the click and the wait ; such that click implicitly calls a
> wait
> Session 6 Selenium Modes
> Goals
> User should be able to demonstrate and understanding of .
> IEHTA/chrome #Running a functional test case under different
> browsers
> Page ranking algorithm
> Multi-domain issues
> How to exclude files from injection
> Outline
> Talk about IEHTA and Chrome modes
> Demonstrate running the functional tests under different browsers
> Facilitated Discussion What are the major cross-browser issues have
> you faced in general and with Selenium in particular?
> Session 7 (part 1) XPath
> Goals
> User should be able to demonstrate and understanding of .
> difference between XPath implementation in IE and firefox
> how to change the XPath library used for IE
> Outline
> Talk about XPath Implementation in IE and firefox
> Attendees will be asked to find out how to change the XPath library
> for IE
> Explain the difference between the two javascript implementations
> Talk about the pros/cons of the native IE XPath implementation
> ( Including issues with MSXML )
> Notes
> MSXML cannot deal with malformed HTML documents. That is why a
> JavaScript library is needed to deal with XPath.
> Session 7 (part 2) Misc Selenium Issues
> This session is more of discussions regarding Selenium issues
> Running selenium test cases in parallel (Selenium Grid)
> Slow JS
> Flex Driver
> Selenium-Flash demo Topics to vary wrt to time. Participation from
> audience encouraged
> Outline
> Demonstrate the stuff mentioned in the goals and talk in detail
> Session 8: Wrap Up
> Facilitated discussions regarding
> CI (including building things in parallel for different platforms
> Release Management ( Drop a hint about Continuous Integration)
> Automated Testing (Drop a hint about Agile Test Automation)
> Q&A
> Retro
Chawla<chawla.sanc...@gmail.com> wrote:
> Hi manish,
> Sessions are fabulous , I wanna attend this training...
> Thanks
> Sanchit
Hey Sanchit,
I've conducted trainings before for other companies and it'll be fun
to have another one, for individuals,
I am looking for 10 people to sign up so that I can make a batch.
The training will most probably be held at thoughtworks
-- Manish
PS: pass this on to more people if they are interested
> On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty <manishch...@gmail.com>
> wrote:
>> Hey Guys,
>> I have prepared a four day training outline for selenium. 8 sessions,
>> two sessions per day.
>> I plan to have some trainings around this.
>> I want you ( the community people ) to know comment on how this
>> outline looks like:
>> Selenium Training - Program Outline
>> This a four-day program divided into 8 sessions. Sessions 2-7 are
>> hands on sessions. All sessions begin with a presentation. Hopes/
>> Expectations are clearly set at the beginning of the training and a
>> retrospective is done at the end; this is addition to a standup in
>> every session to ensure visibility and gauge progress.
>> Things to do a day before
>> Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
>> mercurial repo)
>> Prepare FlipCharts
>> Things to be done everyday
>> Feedback (end of day )
>> Switch pairs (beginning of every session )
>> Standup (beginning of day )
>> Session 1 - Introduction
>> Goals
>> Introduce participants to each other
>> Establish the goals of the program
>> Do a warm up on selenium
>> Setup Environment ( IDE, repo etc )
>> Outline
>> Hopes and Concerns
>> Icebreaking exercise
>> Introduction to various different Selenium components and
>> Architecture
>> Session 2: Selenium Core
>> Goals
>> User should be able to
>> Write a simple test case in Selenese
>> Demonstrate understanding of core and core-less
>> Demonstrate understanding of core profiles
>> Familiarity with various JS files
>> Demonstrate how to build and deploy core part to Maven
>> Agenda
>> Create an API goBack. This API would emulate the user pressing the
>> back button of the browser
>> Building the Selenium Core
>> Outline
>> Explain the source tree layout
>> Create sample HTML page
>> Create Selenese test case
>> Include the test case in the actual suite ( conditions configure
>> for
>> specific browser etc)
>> Building the selenium core
>> Describe conversion
>> looking at pom.xml for selenese ant task
>> Describe important JS files which are part of Selenium Core.
>> Describe how Selenium coreless creates profile
>> Firebug
>> Windows Registry
>> difference between PI mode and non PI mode ( diff between the JS
>> files being loaded )
>> Links
>> Starting with Selenium
>> Setting up Apache on OS X
>> Ajax Testing with Selenium using waitForCondition
>> Agile Testing with Selenium
>> Notes
>> browser launcher, launcher util, WindowsUtils, creation of firefox
>> profile and extension, ie registry modification, fire bug extension,
>> fire fox 3 patch, iedoc.xml geberation with rhino
>> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
>> selenium-testrunner.js, different between PI mode loading and non-pi
>> mode loading of js files
>> Session 3 Selenium Server
>> Goals
>> User should be able to demonstrate understanding of
>> the source structure of Selenium Server
>> how selenium server and selenium core talk to each other (Incase
>> of
>> selenese test case selenium-testrunner.js and driver commands )
>> diff context paths in the selenium server
>> how selenium server handles requests
>> Outline
>> Talk about source structure of SS ( talk about selenium server =
>> (SeleniumCore +SeleniumCoreLess ))
>> Describe architecture of the Selenium Server
>> Describes the commands Selenium Core sends to Selenium Server
>> ( Excercise: Do this with FireBug; involve students )
>> How selenium server handles selenese test cases
>> How selenium server handles test cases driven by driver
>> Talk about SSL certificates.
>> Notes
>> proxy handler
>> static content handler (classpath resources)
>> cache content handler
>> selenium driver handler
>> Session 4 Selenium Driver
>> Goals
>> User should be able to demonstrate and understanding of .
>> How selenium converts iedoc.xml XML to Java/ruby/python driver
>> interface and implementation with iedocXXX.xml xslt & Converting
>> selenese test case to Java test case with XLateHTML2Java and handling
>> special conditions while test case conversion
>> How to run test cases from Java driver end.
>> Selenium Driver <> Selenium Server interactions
>> Outline
>> From the XML doc generated in session one, we will talk about how
>> code is generated out of it.
>> In case of Java binding , how they are creating Java test case
>> from
>> selenese test case.
>> What if we dont want them to generate the system automatically?
>> getEval (WaitUntilPresent)
>> how to get rid of getEval and extending the Selenium driver
>> ( inheritance OR composition )
>> patterns (do, get , is )
>> Session 5 Selenium Driver
>> Goals
>> User should be able to demonstrate and understanding of .
>> Understanding hooks
>> Understanding how to extend the selenium core objects
>> How things would differ from PI and non PI mode
>> Outline
>> Taking the click and the wait ; such that click implicitly calls a
>> wait
>> Session 6 Selenium Modes
>> Goals
>> User should be able to demonstrate and understanding of .
>> IEHTA/chrome #Running a functional test case under different
>> browsers
>> Page ranking algorithm
>> Multi-domain issues
>> How to exclude files from injection
>> Outline
>> Talk about IEHTA and Chrome modes
>> Demonstrate running the functional tests under different browsers
>> Facilitated Discussion What are the major cross-browser issues have
>> you faced in general and with Selenium in particular?
>> Session 7 (part 1) XPath
>> Goals
>> User should be able to demonstrate and understanding of .
>> difference between XPath implementation in IE and firefox
>> how to change the XPath library used for IE
>> Outline
>> Talk about XPath Implementation in IE and firefox
>> Attendees will be asked to find out how to change the XPath
>> library
>> for IE
>> Explain the difference between the two javascript implementations
>> Talk about the pros/cons of the native IE XPath implementation
>> ( Including issues with MSXML )
>> Notes
>> MSXML cannot deal with malformed HTML documents. That is why a
>> JavaScript library is needed to deal with XPath.
>> Session 7 (part 2) Misc Selenium Issues
>> This session is more of discussions regarding Selenium issues
>> Running selenium test cases in parallel (Selenium Grid)
>> Slow JS
>> Flex Driver
>> Selenium-Flash demo Topics to vary wrt to time. Participation from
>> audience encouraged
>> Outline
>> Demonstrate the stuff mentioned in the goals and talk in detail
>> Session 8: Wrap Up
>> Facilitated discussions regarding
>> CI (including building things in parallel for different platforms
>> Release Management ( Drop a hint about Continuous Integration)
>> Automated Testing (Drop a hint about Agile Test Automation)
>> Q&A
>> Retro
> On Thu, Jun 18, 2009 at 11:21 AM, Sanchit
> Chawla<chawla.sanc...@gmail.com> wrote:
> > Hi manish,
> > Sessions are fabulous , I wanna attend this training...
> > Thanks
> > Sanchit
> Hey Sanchit,
> I've conducted trainings before for other companies and it'll be fun
> to have another one, for individuals,
> I am looking for 10 people to sign up so that I can make a batch.
> The training will most probably be held at thoughtworks
> -- Manish
> PS: pass this on to more people if they are interested
> > On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty <
> manishch...@gmail.com>
> > wrote:
> >> Hey Guys,
> >> I have prepared a four day training outline for selenium. 8 sessions,
> >> two sessions per day.
> >> I plan to have some trainings around this.
> >> I want you ( the community people ) to know comment on how this
> >> outline looks like:
> >> Selenium Training - Program Outline
> >> This a four-day program divided into 8 sessions. Sessions 2-7 are
> >> hands on sessions. All sessions begin with a presentation. Hopes/
> >> Expectations are clearly set at the beginning of the training and a
> >> retrospective is done at the end; this is addition to a standup in
> >> every session to ensure visibility and gauge progress.
> >> Things to do a day before
> >> Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> >> mercurial repo)
> >> Prepare FlipCharts
> >> Things to be done everyday
> >> Feedback (end of day )
> >> Switch pairs (beginning of every session )
> >> Standup (beginning of day )
> >> Session 1 - Introduction
> >> Goals
> >> Introduce participants to each other
> >> Establish the goals of the program
> >> Do a warm up on selenium
> >> Setup Environment ( IDE, repo etc )
> >> Outline
> >> Hopes and Concerns
> >> Icebreaking exercise
> >> Introduction to various different Selenium components and
> >> Architecture
> >> Session 2: Selenium Core
> >> Goals
> >> User should be able to
> >> Write a simple test case in Selenese
> >> Demonstrate understanding of core and core-less
> >> Demonstrate understanding of core profiles
> >> Familiarity with various JS files
> >> Demonstrate how to build and deploy core part to Maven
> >> Agenda
> >> Create an API goBack. This API would emulate the user pressing
> the
> >> back button of the browser
> >> Building the Selenium Core
> >> Outline
> >> Explain the source tree layout
> >> Create sample HTML page
> >> Create Selenese test case
> >> Include the test case in the actual suite ( conditions configure
> >> for
> >> specific browser etc)
> >> Building the selenium core
> >> Describe conversion
> >> looking at pom.xml for selenese ant task
> >> Describe important JS files which are part of Selenium Core.
> >> Describe how Selenium coreless creates profile
> >> Firebug
> >> Windows Registry
> >> difference between PI mode and non PI mode ( diff between the JS
> >> files being loaded )
> >> Links
> >> Starting with Selenium
> >> Setting up Apache on OS X
> >> Ajax Testing with Selenium using waitForCondition
> >> Agile Testing with Selenium
> >> Notes
> >> browser launcher, launcher util, WindowsUtils, creation of firefox
> >> profile and extension, ie registry modification, fire bug extension,
> >> fire fox 3 patch, iedoc.xml geberation with rhino
> >> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> >> selenium-testrunner.js, different between PI mode loading and non-pi
> >> mode loading of js files
> >> Session 3 Selenium Server
> >> Goals
> >> User should be able to demonstrate understanding of
> >> the source structure of Selenium Server
> >> how selenium server and selenium core talk to each other (Incase
> >> of
> >> selenese test case selenium-testrunner.js and driver commands )
> >> diff context paths in the selenium server
> >> how selenium server handles requests
> >> Outline
> >> Talk about source structure of SS ( talk about selenium server =
> >> (SeleniumCore +SeleniumCoreLess ))
> >> Describe architecture of the Selenium Server
> >> Describes the commands Selenium Core sends to Selenium Server
> >> ( Excercise: Do this with FireBug; involve students )
> >> How selenium server handles selenese test cases
> >> How selenium server handles test cases driven by driver
> >> Talk about SSL certificates.
> >> Notes
> >> proxy handler
> >> static content handler (classpath resources)
> >> cache content handler
> >> selenium driver handler
> >> Session 4 Selenium Driver
> >> Goals
> >> User should be able to demonstrate and understanding of .
> >> How selenium converts iedoc.xml XML to Java/ruby/python driver
> >> interface and implementation with iedocXXX.xml xslt & Converting
> >> selenese test case to Java test case with XLateHTML2Java and handling
> >> special conditions while test case conversion
> >> How to run test cases from Java driver end.
> >> Selenium Driver <> Selenium Server interactions
> >> Outline
> >> From the XML doc generated in session one, we will talk about
> how
> >> code is generated out of it.
> >> In case of Java binding , how they are creating Java test case
> >> from
> >> selenese test case.
> >> What if we dont want them to generate the system automatically?
> >> getEval (WaitUntilPresent)
> >> how to get rid of getEval and extending the Selenium driver
> >> ( inheritance OR composition )
> >> patterns (do, get , is )
> >> Session 5 Selenium Driver
> >> Goals
> >> User should be able to demonstrate and understanding of .
> >> Understanding hooks
> >> Understanding how to extend the selenium core objects
> >> How things would differ from PI and non PI mode
> >> Outline
> >> Taking the click and the wait ; such that click implicitly calls
> a
> >> wait
> >> Session 6 Selenium Modes
> >> Goals
> >> User should be able to demonstrate and understanding of .
> >> IEHTA/chrome #Running a functional test case under different
> >> browsers
> >> Page ranking algorithm
> >> Multi-domain issues
> >> How to exclude files from injection
> >> Outline
> >> Talk about IEHTA and Chrome modes
> >> Demonstrate running the functional tests under different
> browsers
> >> Facilitated Discussion What are the major cross-browser issues have
> >> you faced in general and with Selenium in particular?
> >> Session 7 (part 1) XPath
> >> Goals
> >> User should be able to demonstrate and understanding of .
> >> difference between XPath implementation in IE and firefox
> >> how to change the XPath library used for IE
> >> Outline
> >> Talk about XPath Implementation in IE and firefox
> >> Attendees will be asked to find out how to change the XPath
> >> library
> >> for IE
> >> Explain the difference between the two javascript
> implementations
> >> Talk about the pros/cons of the native IE XPath implementation
> >> ( Including issues with MSXML )
> >> Notes
> >> MSXML cannot deal with malformed HTML documents. That is why a
> >> JavaScript library is needed to deal with XPath.
> >> Session 7 (part 2) Misc Selenium Issues
> >> This session is more of discussions regarding Selenium issues
> >> Running selenium test cases in parallel (Selenium Grid)
> >> Slow JS
> >> Flex Driver
> >> Selenium-Flash demo Topics to vary wrt to time. Participation
> from
> >> audience encouraged
> >> Outline
> >> Demonstrate the stuff mentioned in the goals and talk in detail
> >> Session 8: Wrap Up
> >> Facilitated discussions regarding
> >> CI (including building things in parallel for different
> platforms
> >> Release Management ( Drop a hint about Continuous Integration)
> >> Automated Testing (Drop a hint about Agile Test Automation)
> >> Q&A
> >> Retro
Awesome Session schedule, I too want to join this schedule. Please Send me
the Date and Venue for this session.
Last time i have missed it but now i don't want to miss this one.
Thank You.
On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty
<manishch...@gmail.com>wrote:
> I have prepared a four day training outline for selenium. 8 sessions,
> two sessions per day.
> I plan to have some trainings around this.
> I want you ( the community people ) to know comment on how this
> outline looks like:
> Selenium Training - Program Outline
> This a four-day program divided into 8 sessions. Sessions 2-7 are
> hands on sessions. All sessions begin with a presentation. Hopes/
> Expectations are clearly set at the beginning of the training and a
> retrospective is done at the end; this is addition to a standup in
> every session to ensure visibility and gauge progress.
> Things to do a day before
> Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> mercurial repo)
> Prepare FlipCharts
> Things to be done everyday
> Feedback (end of day )
> Switch pairs (beginning of every session )
> Standup (beginning of day )
> Session 1 - Introduction
> Goals
> Introduce participants to each other
> Establish the goals of the program
> Do a warm up on selenium
> Setup Environment ( IDE, repo etc )
> Outline
> Hopes and Concerns
> Icebreaking exercise
> Introduction to various different Selenium components and
> Architecture
> Session 2: Selenium Core
> Goals
> User should be able to
> Write a simple test case in Selenese
> Demonstrate understanding of core and core-less
> Demonstrate understanding of core profiles
> Familiarity with various JS files
> Demonstrate how to build and deploy core part to Maven
> Agenda
> Create an API goBack. This API would emulate the user pressing the
> back button of the browser
> Building the Selenium Core
> Outline
> Explain the source tree layout
> Create sample HTML page
> Create Selenese test case
> Include the test case in the actual suite ( conditions configure
> for
> specific browser etc)
> Building the selenium core
> Describe conversion
> looking at pom.xml for selenese ant task
> Describe important JS files which are part of Selenium Core.
> Describe how Selenium coreless creates profile
> Firebug
> Windows Registry
> difference between PI mode and non PI mode ( diff between the JS
> files being loaded )
> Links
> Starting with Selenium
> Setting up Apache on OS X
> Ajax Testing with Selenium using waitForCondition
> Agile Testing with Selenium
> Notes
> browser launcher, launcher util, WindowsUtils, creation of firefox
> profile and extension, ie registry modification, fire bug extension,
> fire fox 3 patch, iedoc.xml geberation with rhino
> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> selenium-testrunner.js, different between PI mode loading and non-pi
> mode loading of js files
> Session 3 Selenium Server
> Goals
> User should be able to demonstrate understanding of
> the source structure of Selenium Server
> how selenium server and selenium core talk to each other (Incase of
> selenese test case selenium-testrunner.js and driver commands )
> diff context paths in the selenium server
> how selenium server handles requests
> Outline
> Talk about source structure of SS ( talk about selenium server =
> (SeleniumCore +SeleniumCoreLess ))
> Describe architecture of the Selenium Server
> Describes the commands Selenium Core sends to Selenium Server
> ( Excercise: Do this with FireBug; involve students )
> How selenium server handles selenese test cases
> How selenium server handles test cases driven by driver
> Talk about SSL certificates.
> Notes
> proxy handler
> static content handler (classpath resources)
> cache content handler
> selenium driver handler
> Session 4 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> How selenium converts iedoc.xml XML to Java/ruby/python driver
> interface and implementation with iedocXXX.xml xslt & Converting
> selenese test case to Java test case with XLateHTML2Java and handling
> special conditions while test case conversion
> How to run test cases from Java driver end.
> Selenium Driver <> Selenium Server interactions
> Outline
> From the XML doc generated in session one, we will talk about how
> code is generated out of it.
> In case of Java binding , how they are creating Java test case from
> selenese test case.
> What if we dont want them to generate the system automatically?
> getEval (WaitUntilPresent)
> how to get rid of getEval and extending the Selenium driver
> ( inheritance OR composition )
> patterns (do, get , is )
> Session 5 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> Understanding hooks
> Understanding how to extend the selenium core objects
> How things would differ from PI and non PI mode
> Outline
> Taking the click and the wait ; such that click implicitly calls a
> wait
> Session 6 Selenium Modes
> Goals
> User should be able to demonstrate and understanding of .
> IEHTA/chrome #Running a functional test case under different
> browsers
> Page ranking algorithm
> Multi-domain issues
> How to exclude files from injection
> Outline
> Talk about IEHTA and Chrome modes
> Demonstrate running the functional tests under different browsers
> Facilitated Discussion What are the major cross-browser issues have
> you faced in general and with Selenium in particular?
> Session 7 (part 1) XPath
> Goals
> User should be able to demonstrate and understanding of .
> difference between XPath implementation in IE and firefox
> how to change the XPath library used for IE
> Outline
> Talk about XPath Implementation in IE and firefox
> Attendees will be asked to find out how to change the XPath library
> for IE
> Explain the difference between the two javascript implementations
> Talk about the pros/cons of the native IE XPath implementation
> ( Including issues with MSXML )
> Notes
> MSXML cannot deal with malformed HTML documents. That is why a
> JavaScript library is needed to deal with XPath.
> Session 7 (part 2) Misc Selenium Issues
> This session is more of discussions regarding Selenium issues
> Running selenium test cases in parallel (Selenium Grid)
> Slow JS
> Flex Driver
> Selenium-Flash demo Topics to vary wrt to time. Participation from
> audience encouraged
> Outline
> Demonstrate the stuff mentioned in the goals and talk in detail
> Session 8: Wrap Up
> Facilitated discussions regarding
> CI (including building things in parallel for different platforms
> Release Management ( Drop a hint about Continuous Integration)
> Automated Testing (Drop a hint about Agile Test Automation)
> Q&A
> Retro
This is wonderful!
Some of our folks would be interested in this. Please let us know the
exact schedule once you guys finalize on this.
I would need 1 week notice in advance so that I can work on gathering
people.
Thanks and Regards,
Shree
On Jun 18, 10:27 am, Manish Chakravarty <manishch...@gmail.com> wrote:
> On Jun 18, 7:31 am, shilpa sharath <shilpasha...@gmail.com> wrote:> Hey manish,
> > Please let me know abt the date and venue of these sessions.
> Hey Shilpa,
> We've not decided on the time and date(s) of the trainings yet.
> I am waiting for more people to show interest to proceed.
> -- Manish
> > Thanks
> > Shilpa
> > On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty
> > <manishch...@gmail.com>wrote:
> > > Hey Guys,
> > > I have prepared a four day training outline for selenium. 8 sessions,
> > > two sessions per day.
> > > I plan to have some trainings around this.
> > > I want you ( the community people ) to know comment on how this
> > > outline looks like:
> > > Selenium Training - Program Outline
> > > This a four-day program divided into 8 sessions. Sessions 2-7 are
> > > hands on sessions. All sessions begin with a presentation. Hopes/
> > > Expectations are clearly set at the beginning of the training and a
> > > retrospective is done at the end; this is addition to a standup in
> > > every session to ensure visibility and gauge progress.
> > > Things to do a day before
> > > Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> > > mercurial repo)
> > > Prepare FlipCharts
> > > Things to be done everyday
> > > Feedback (end of day )
> > > Switch pairs (beginning of every session )
> > > Standup (beginning of day )
> > > Session 1 - Introduction
> > > Goals
> > > Introduce participants to each other
> > > Establish the goals of the program
> > > Do a warm up on selenium
> > > Setup Environment ( IDE, repo etc )
> > > Outline
> > > Hopes and Concerns
> > > Icebreaking exercise
> > > Introduction to various different Selenium components and
> > > Architecture
> > > Session 2: Selenium Core
> > > Goals
> > > User should be able to
> > > Write a simple test case in Selenese
> > > Demonstrate understanding of core and core-less
> > > Demonstrate understanding of core profiles
> > > Familiarity with various JS files
> > > Demonstrate how to build and deploy core part to Maven
> > > Agenda
> > > Create an API goBack. This API would emulate the user pressing the
> > > back button of the browser
> > > Building the Selenium Core
> > > Outline
> > > Explain the source tree layout
> > > Create sample HTML page
> > > Create Selenese test case
> > > Include the test case in the actual suite ( conditions configure
> > > for
> > > specific browser etc)
> > > Building the selenium core
> > > Describe conversion
> > > looking at pom.xml for selenese ant task
> > > Describe important JS files which are part of Selenium Core.
> > > Describe how Selenium coreless creates profile
> > > Firebug
> > > Windows Registry
> > > difference between PI mode and non PI mode ( diff between the JS
> > > files being loaded )
> > > Links
> > > Starting with Selenium
> > > Setting up Apache on OS X
> > > Ajax Testing with Selenium using waitForCondition
> > > Agile Testing with Selenium
> > > Notes
> > > browser launcher, launcher util, WindowsUtils, creation of firefox
> > > profile and extension, ie registry modification, fire bug extension,
> > > fire fox 3 patch, iedoc.xml geberation with rhino
> > > selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> > > selenium-testrunner.js, different between PI mode loading and non-pi
> > > mode loading of js files
> > > Session 3 Selenium Server
> > > Goals
> > > User should be able to demonstrate understanding of
> > > the source structure of Selenium Server
> > > how selenium server and selenium core talk to each other (Incase of
> > > selenese test case selenium-testrunner.js and driver commands )
> > > diff context paths in the selenium server
> > > how selenium server handles requests
> > > Outline
> > > Talk about source structure of SS ( talk about selenium server =
> > > (SeleniumCore +SeleniumCoreLess ))
> > > Describe architecture of the Selenium Server
> > > Describes the commands Selenium Core sends to Selenium Server
> > > ( Excercise: Do this with FireBug; involve students )
> > > How selenium server handles selenese test cases
> > > How selenium server handles test cases driven by driver
> > > Talk about SSL certificates.
> > > Notes
> > > proxy handler
> > > static content handler (classpath resources)
> > > cache content handler
> > > selenium driver handler
> > > Session 4 Selenium Driver
> > > Goals
> > > User should be able to demonstrate and understanding of .
> > > How selenium converts iedoc.xml XML to Java/ruby/python driver
> > > interface and implementation with iedocXXX.xml xslt & Converting
> > > selenese test case to Java test case with XLateHTML2Java and handling
> > > special conditions while test case conversion
> > > How to run test cases from Java driver end.
> > > Selenium Driver <> Selenium Server interactions
> > > Outline
> > > From the XML doc generated in session one, we will talk about how
> > > code is generated out of it.
> > > In case of Java binding , how they are creating Java test case from
> > > selenese test case.
> > > What if we dont want them to generate the system automatically?
> > > getEval (WaitUntilPresent)
> > > how to get rid of getEval and extending the Selenium driver
> > > ( inheritance OR composition )
> > > patterns (do, get , is )
> > > Session 5 Selenium Driver
> > > Goals
> > > User should be able to demonstrate and understanding of .
> > > Understanding hooks
> > > Understanding how to extend the selenium core objects
> > > How things would differ from PI and non PI mode
> > > Outline
> > > Taking the click and the wait ; such that click implicitly calls a
> > > wait
> > > Session 6 Selenium Modes
> > > Goals
> > > User should be able to demonstrate and understanding of .
> > > IEHTA/chrome #Running a functional test case under different
> > > browsers
> > > Page ranking algorithm
> > > Multi-domain issues
> > > How to exclude files from injection
> > > Outline
> > > Talk about IEHTA and Chrome modes
> > > Demonstrate running the functional tests under different browsers
> > > Facilitated Discussion What are the major cross-browser issues have
> > > you faced in general and with Selenium in particular?
> > > Session 7 (part 1) XPath
> > > Goals
> > > User should be able to demonstrate and understanding of .
> > > difference between XPath implementation in IE and firefox
> > > how to change the XPath library used for IE
> > > Outline
> > > Talk about XPath Implementation in IE and firefox
> > > Attendees will be asked to find out how to change the XPath library
> > > for IE
> > > Explain the difference between the two javascript implementations
> > > Talk about the pros/cons of the native IE XPath implementation
> > > ( Including issues with MSXML )
> > > Notes
> > > MSXML cannot deal with malformed HTML documents. That is why a
> > > JavaScript library is needed to deal with XPath.
> > > Session 7 (part 2) Misc Selenium Issues
> > > This session is more of discussions regarding Selenium issues
> > > Running selenium test cases in parallel (Selenium Grid)
> > > Slow JS
> > > Flex Driver
> > > Selenium-Flash demo Topics to vary wrt to time. Participation from
> > > audience encouraged
> > > Outline
> > > Demonstrate the stuff mentioned in the goals and talk in detail
> > > Session 8: Wrap Up
> > > Facilitated discussions regarding
> > > CI (including building things in parallel for different platforms
> > > Release Management ( Drop a hint about Continuous Integration)
> > > Automated Testing (Drop a hint about Agile Test Automation)
> > > Q&A
> > > Retro- Hide quoted text -
this training programme looks for all to get started from basic and
move on to hands on.
I will be eager to join the same, I do have recommendations/add on's
for this.
Please include Webdriver If possible.
Selenium based frameworks( using Page Objects)
How to run existing Selenium test on IE(which are currently running on
Firefox as they use Xpath)
Exception handing with Selenium
Generic Failure analysis
I know most of these points are very specific, but If these points
covered, will make automation engineer's life more easy.
Please share all of you your Suggestion/Comments .
Thanks,
Ruturaj
On Jun 17, 5:13 pm, Manish Chakravarty <manishch...@gmail.com> wrote:
> I have prepared a four day training outline for selenium. 8 sessions,
> two sessions per day.
> I plan to have some trainings around this.
> I want you ( the community people ) to know comment on how this
> outline looks like:
> Selenium Training - Program Outline
> This a four-day program divided into 8 sessions. Sessions 2-7 are
> hands on sessions. All sessions begin with a presentation. Hopes/
> Expectations are clearly set at the beginning of the training and a
> retrospective is done at the end; this is addition to a standup in
> every session to ensure visibility and gauge progress.
> Things to do a day before
> Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> mercurial repo)
> Prepare FlipCharts
> Things to be done everyday
> Feedback (end of day )
> Switch pairs (beginning of every session )
> Standup (beginning of day )
> Session 1 - Introduction
> Goals
> Introduce participants to each other
> Establish the goals of the program
> Do a warm up on selenium
> Setup Environment ( IDE, repo etc )
> Outline
> Hopes and Concerns
> Icebreaking exercise
> Introduction to various different Selenium components and
> Architecture
> Session 2: Selenium Core
> Goals
> User should be able to
> Write a simple test case in Selenese
> Demonstrate understanding of core and core-less
> Demonstrate understanding of core profiles
> Familiarity with various JS files
> Demonstrate how to build and deploy core part to Maven
> Agenda
> Create an API goBack. This API would emulate the user pressing the
> back button of the browser
> Building the Selenium Core
> Outline
> Explain the source tree layout
> Create sample HTML page
> Create Selenese test case
> Include the test case in the actual suite ( conditions configure for
> specific browser etc)
> Building the selenium core
> Describe conversion
> looking at pom.xml for selenese ant task
> Describe important JS files which are part of Selenium Core.
> Describe how Selenium coreless creates profile
> Firebug
> Windows Registry
> difference between PI mode and non PI mode ( diff between the JS
> files being loaded )
> Links
> Starting with Selenium
> Setting up Apache on OS X
> Ajax Testing with Selenium using waitForCondition
> Agile Testing with Selenium
> Notes
> browser launcher, launcher util, WindowsUtils, creation of firefox
> profile and extension, ie registry modification, fire bug extension,
> fire fox 3 patch, iedoc.xml geberation with rhino
> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> selenium-testrunner.js, different between PI mode loading and non-pi
> mode loading of js files
> Session 3 Selenium Server
> Goals
> User should be able to demonstrate understanding of
> the source structure of Selenium Server
> how selenium server and selenium core talk to each other (Incase of
> selenese test case selenium-testrunner.js and driver commands )
> diff context paths in the selenium server
> how selenium server handles requests
> Outline
> Talk about source structure of SS ( talk about selenium server =
> (SeleniumCore +SeleniumCoreLess ))
> Describe architecture of the Selenium Server
> Describes the commands Selenium Core sends to Selenium Server
> ( Excercise: Do this with FireBug; involve students )
> How selenium server handles selenese test cases
> How selenium server handles test cases driven by driver
> Talk about SSL certificates.
> Notes
> proxy handler
> static content handler (classpath resources)
> cache content handler
> selenium driver handler
> Session 4 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> How selenium converts iedoc.xml XML to Java/ruby/python driver
> interface and implementation with iedocXXX.xml xslt & Converting
> selenese test case to Java test case with XLateHTML2Java and handling
> special conditions while test case conversion
> How to run test cases from Java driver end.
> Selenium Driver <> Selenium Server interactions
> Outline
> From the XML doc generated in session one, we will talk about how
> code is generated out of it.
> In case of Java binding , how they are creating Java test case from
> selenese test case.
> What if we dont want them to generate the system automatically?
> getEval (WaitUntilPresent)
> how to get rid of getEval and extending the Selenium driver
> ( inheritance OR composition )
> patterns (do, get , is )
> Session 5 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> Understanding hooks
> Understanding how to extend the selenium core objects
> How things would differ from PI and non PI mode
> Outline
> Taking the click and the wait ; such that click implicitly calls a
> wait
> Session 6 Selenium Modes
> Goals
> User should be able to demonstrate and understanding of .
> IEHTA/chrome #Running a functional test case under different
> browsers
> Page ranking algorithm
> Multi-domain issues
> How to exclude files from injection
> Outline
> Talk about IEHTA and Chrome modes
> Demonstrate running the functional tests under different browsers
> Facilitated Discussion What are the major cross-browser issues have
> you faced in general and with Selenium in particular?
> Session 7 (part 1) XPath
> Goals
> User should be able to demonstrate and understanding of .
> difference between XPath implementation in IE and firefox
> how to change the XPath library used for IE
> Outline
> Talk about XPath Implementation in IE and firefox
> Attendees will be asked to find out how to change the XPath library
> for IE
> Explain the difference between the two javascript implementations
> Talk about the pros/cons of the native IE XPath implementation
> ( Including issues with MSXML )
> Notes
> MSXML cannot deal with malformed HTML documents. That is why a
> JavaScript library is needed to deal with XPath.
> Session 7 (part 2) Misc Selenium Issues
> This session is more of discussions regarding Selenium issues
> Running selenium test cases in parallel (Selenium Grid)
> Slow JS
> Flex Driver
> Selenium-Flash demo Topics to vary wrt to time. Participation from
> audience encouraged
> Outline
> Demonstrate the stuff mentioned in the goals and talk in detail
> Session 8: Wrap Up
> Facilitated discussions regarding
> CI (including building things in parallel for different platforms
> Release Management ( Drop a hint about Continuous Integration)
> Automated Testing (Drop a hint about Agile Test Automation)
> Q&A
> Retro
Could Web conferencing possible of this training??. As i m in noida and its
really hard to presence there.
*
*
Several others employee of my company are also interested for this training
*
*
*Please confirm...*
*
*
*Thanks*
*Sanchit*
*
*
*
*
*
*
On Thu, Jun 18, 2009 at 11:41 AM, Manish Chakravarty
<manishch...@gmail.com>wrote:
> On Thu, Jun 18, 2009 at 11:21 AM, Sanchit
> Chawla<chawla.sanc...@gmail.com> wrote:
> > Hi manish,
> > Sessions are fabulous , I wanna attend this training...
> > Thanks
> > Sanchit
> Hey Sanchit,
> I've conducted trainings before for other companies and it'll be fun
> to have another one, for individuals,
> I am looking for 10 people to sign up so that I can make a batch.
> The training will most probably be held at thoughtworks
> -- Manish
> PS: pass this on to more people if they are interested
> > On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty <
> manishch...@gmail.com>
> > wrote:
> >> Hey Guys,
> >> I have prepared a four day training outline for selenium. 8 sessions,
> >> two sessions per day.
> >> I plan to have some trainings around this.
> >> I want you ( the community people ) to know comment on how this
> >> outline looks like:
> >> Selenium Training - Program Outline
> >> This a four-day program divided into 8 sessions. Sessions 2-7 are
> >> hands on sessions. All sessions begin with a presentation. Hopes/
> >> Expectations are clearly set at the beginning of the training and a
> >> retrospective is done at the end; this is addition to a standup in
> >> every session to ensure visibility and gauge progress.
> >> Things to do a day before
> >> Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> >> mercurial repo)
> >> Prepare FlipCharts
> >> Things to be done everyday
> >> Feedback (end of day )
> >> Switch pairs (beginning of every session )
> >> Standup (beginning of day )
> >> Session 1 - Introduction
> >> Goals
> >> Introduce participants to each other
> >> Establish the goals of the program
> >> Do a warm up on selenium
> >> Setup Environment ( IDE, repo etc )
> >> Outline
> >> Hopes and Concerns
> >> Icebreaking exercise
> >> Introduction to various different Selenium components and
> >> Architecture
> >> Session 2: Selenium Core
> >> Goals
> >> User should be able to
> >> Write a simple test case in Selenese
> >> Demonstrate understanding of core and core-less
> >> Demonstrate understanding of core profiles
> >> Familiarity with various JS files
> >> Demonstrate how to build and deploy core part to Maven
> >> Agenda
> >> Create an API goBack. This API would emulate the user pressing
> the
> >> back button of the browser
> >> Building the Selenium Core
> >> Outline
> >> Explain the source tree layout
> >> Create sample HTML page
> >> Create Selenese test case
> >> Include the test case in the actual suite ( conditions configure
> >> for
> >> specific browser etc)
> >> Building the selenium core
> >> Describe conversion
> >> looking at pom.xml for selenese ant task
> >> Describe important JS files which are part of Selenium Core.
> >> Describe how Selenium coreless creates profile
> >> Firebug
> >> Windows Registry
> >> difference between PI mode and non PI mode ( diff between the JS
> >> files being loaded )
> >> Links
> >> Starting with Selenium
> >> Setting up Apache on OS X
> >> Ajax Testing with Selenium using waitForCondition
> >> Agile Testing with Selenium
> >> Notes
> >> browser launcher, launcher util, WindowsUtils, creation of firefox
> >> profile and extension, ie registry modification, fire bug extension,
> >> fire fox 3 patch, iedoc.xml geberation with rhino
> >> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> >> selenium-testrunner.js, different between PI mode loading and non-pi
> >> mode loading of js files
> >> Session 3 Selenium Server
> >> Goals
> >> User should be able to demonstrate understanding of
> >> the source structure of Selenium Server
> >> how selenium server and selenium core talk to each other (Incase
> >> of
> >> selenese test case selenium-testrunner.js and driver commands )
> >> diff context paths in the selenium server
> >> how selenium server handles requests
> >> Outline
> >> Talk about source structure of SS ( talk about selenium server =
> >> (SeleniumCore +SeleniumCoreLess ))
> >> Describe architecture of the Selenium Server
> >> Describes the commands Selenium Core sends to Selenium Server
> >> ( Excercise: Do this with FireBug; involve students )
> >> How selenium server handles selenese test cases
> >> How selenium server handles test cases driven by driver
> >> Talk about SSL certificates.
> >> Notes
> >> proxy handler
> >> static content handler (classpath resources)
> >> cache content handler
> >> selenium driver handler
> >> Session 4 Selenium Driver
> >> Goals
> >> User should be able to demonstrate and understanding of .
> >> How selenium converts iedoc.xml XML to Java/ruby/python driver
> >> interface and implementation with iedocXXX.xml xslt & Converting
> >> selenese test case to Java test case with XLateHTML2Java and handling
> >> special conditions while test case conversion
> >> How to run test cases from Java driver end.
> >> Selenium Driver <> Selenium Server interactions
> >> Outline
> >> From the XML doc generated in session one, we will talk about
> how
> >> code is generated out of it.
> >> In case of Java binding , how they are creating Java test case
> >> from
> >> selenese test case.
> >> What if we dont want them to generate the system automatically?
> >> getEval (WaitUntilPresent)
> >> how to get rid of getEval and extending the Selenium driver
> >> ( inheritance OR composition )
> >> patterns (do, get , is )
> >> Session 5 Selenium Driver
> >> Goals
> >> User should be able to demonstrate and understanding of .
> >> Understanding hooks
> >> Understanding how to extend the selenium core objects
> >> How things would differ from PI and non PI mode
> >> Outline
> >> Taking the click and the wait ; such that click implicitly calls
> a
> >> wait
> >> Session 6 Selenium Modes
> >> Goals
> >> User should be able to demonstrate and understanding of .
> >> IEHTA/chrome #Running a functional test case under different
> >> browsers
> >> Page ranking algorithm
> >> Multi-domain issues
> >> How to exclude files from injection
> >> Outline
> >> Talk about IEHTA and Chrome modes
> >> Demonstrate running the functional tests under different
> browsers
> >> Facilitated Discussion What are the major cross-browser issues have
> >> you faced in general and with Selenium in particular?
> >> Session 7 (part 1) XPath
> >> Goals
> >> User should be able to demonstrate and understanding of .
> >> difference between XPath implementation in IE and firefox
> >> how to change the XPath library used for IE
> >> Outline
> >> Talk about XPath Implementation in IE and firefox
> >> Attendees will be asked to find out how to change the XPath
> >> library
> >> for IE
> >> Explain the difference between the two javascript
> implementations
> >> Talk about the pros/cons of the native IE XPath implementation
> >> ( Including issues with MSXML )
> >> Notes
> >> MSXML cannot deal with malformed HTML documents. That is why a
> >> JavaScript library is needed to deal with XPath.
> >> Session 7 (part 2) Misc Selenium Issues
> >> This session is more of discussions regarding Selenium issues
> >> Running selenium test cases in parallel (Selenium Grid)
> >> Slow JS
> >> Flex Driver
> >> Selenium-Flash demo Topics to vary wrt to time. Participation
> from
> >> audience encouraged
> >> Outline
> >> Demonstrate the stuff mentioned in the goals and talk in detail
> >> Session 8: Wrap Up
> >> Facilitated discussions regarding
> >> CI (including building things in parallel for different
> platforms
> >> Release Management ( Drop a hint about Continuous Integration)
> >> Automated Testing (Drop a hint about Agile Test Automation)
> >> Q&A
> >> Retro
Chawla<chawla.sanc...@gmail.com> wrote:
> Hey manish..
> Thanks for ur reply...
> Could Web conferencing possible of this training??. As i m in noida and its
> really hard to presence there.
> Several others employee of my company are also interested for this training
> Please confirm...
> Thanks
> Sanchit
Hey Sanchit,
How many people would be interested in this? can you give me a figure?
In case there are enough number of people, ( ~10) we could have a
session just for you.
The pricing etc will have to figure out later, but you need to give me
a number so that I can go back to ThoughtWorks and discuss it with
them.
> On Thu, Jun 18, 2009 at 11:41 AM, Manish Chakravarty <manishch...@gmail.com>
> wrote:
>> On Thu, Jun 18, 2009 at 11:21 AM, Sanchit
>> Chawla<chawla.sanc...@gmail.com> wrote:
>> > Hi manish,
>> > Sessions are fabulous , I wanna attend this training...
>> > Thanks
>> > Sanchit
>> Hey Sanchit,
>> I've conducted trainings before for other companies and it'll be fun
>> to have another one, for individuals,
>> I am looking for 10 people to sign up so that I can make a batch.
>> The training will most probably be held at thoughtworks
>> -- Manish
>> PS: pass this on to more people if they are interested
>> > On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty
>> > <manishch...@gmail.com>
>> > wrote:
>> >> Hey Guys,
>> >> I have prepared a four day training outline for selenium. 8 sessions,
>> >> two sessions per day.
>> >> I plan to have some trainings around this.
>> >> I want you ( the community people ) to know comment on how this
>> >> outline looks like:
>> >> Selenium Training - Program Outline
>> >> This a four-day program divided into 8 sessions. Sessions 2-7 are
>> >> hands on sessions. All sessions begin with a presentation. Hopes/
>> >> Expectations are clearly set at the beginning of the training and a
>> >> retrospective is done at the end; this is addition to a standup in
>> >> every session to ensure visibility and gauge progress.
>> >> Things to do a day before
>> >> Burn CD with required software ( JDK6, Maven, Eclipse,
>> >> selenium,
>> >> mercurial repo)
>> >> Prepare FlipCharts
>> >> Things to be done everyday
>> >> Feedback (end of day )
>> >> Switch pairs (beginning of every session )
>> >> Standup (beginning of day )
>> >> Session 1 - Introduction
>> >> Goals
>> >> Introduce participants to each other
>> >> Establish the goals of the program
>> >> Do a warm up on selenium
>> >> Setup Environment ( IDE, repo etc )
>> >> Outline
>> >> Hopes and Concerns
>> >> Icebreaking exercise
>> >> Introduction to various different Selenium components and
>> >> Architecture
>> >> Session 2: Selenium Core
>> >> Goals
>> >> User should be able to
>> >> Write a simple test case in Selenese
>> >> Demonstrate understanding of core and core-less
>> >> Demonstrate understanding of core profiles
>> >> Familiarity with various JS files
>> >> Demonstrate how to build and deploy core part to Maven
>> >> Agenda
>> >> Create an API goBack. This API would emulate the user pressing
>> >> the
>> >> back button of the browser
>> >> Building the Selenium Core
>> >> Outline
>> >> Explain the source tree layout
>> >> Create sample HTML page
>> >> Create Selenese test case
>> >> Include the test case in the actual suite ( conditions
>> >> configure
>> >> for
>> >> specific browser etc)
>> >> Building the selenium core
>> >> Describe conversion
>> >> looking at pom.xml for selenese ant task
>> >> Describe important JS files which are part of Selenium Core.
>> >> Describe how Selenium coreless creates profile
>> >> Firebug
>> >> Windows Registry
>> >> difference between PI mode and non PI mode ( diff between the
>> >> JS
>> >> files being loaded )
>> >> Links
>> >> Starting with Selenium
>> >> Setting up Apache on OS X
>> >> Ajax Testing with Selenium using waitForCondition
>> >> Agile Testing with Selenium
>> >> Notes
>> >> browser launcher, launcher util, WindowsUtils, creation of firefox
>> >> profile and extension, ie registry modification, fire bug extension,
>> >> fire fox 3 patch, iedoc.xml geberation with rhino
>> >> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
>> >> selenium-testrunner.js, different between PI mode loading and non-pi
>> >> mode loading of js files
>> >> Session 3 Selenium Server
>> >> Goals
>> >> User should be able to demonstrate understanding of
>> >> the source structure of Selenium Server
>> >> how selenium server and selenium core talk to each other
>> >> (Incase
>> >> of
>> >> selenese test case selenium-testrunner.js and driver commands )
>> >> diff context paths in the selenium server
>> >> how selenium server handles requests
>> >> Outline
>> >> Talk about source structure of SS ( talk about selenium server
>> >> =
>> >> (SeleniumCore +SeleniumCoreLess ))
>> >> Describe architecture of the Selenium Server
>> >> Describes the commands Selenium Core sends to Selenium Server
>> >> ( Excercise: Do this with FireBug; involve students )
>> >> How selenium server handles selenese test cases
>> >> How selenium server handles test cases driven by driver
>> >> Talk about SSL certificates.
>> >> Notes
>> >> proxy handler
>> >> static content handler (classpath resources)
>> >> cache content handler
>> >> selenium driver handler
>> >> Session 4 Selenium Driver
>> >> Goals
>> >> User should be able to demonstrate and understanding of .
>> >> How selenium converts iedoc.xml XML to Java/ruby/python driver
>> >> interface and implementation with iedocXXX.xml xslt & Converting
>> >> selenese test case to Java test case with XLateHTML2Java and handling
>> >> special conditions while test case conversion
>> >> How to run test cases from Java driver end.
>> >> Selenium Driver <> Selenium Server interactions
>> >> Outline
>> >> From the XML doc generated in session one, we will talk about
>> >> how
>> >> code is generated out of it.
>> >> In case of Java binding , how they are creating Java test case
>> >> from
>> >> selenese test case.
>> >> What if we dont want them to generate the system automatically?
>> >> getEval (WaitUntilPresent)
>> >> how to get rid of getEval and extending the Selenium driver
>> >> ( inheritance OR composition )
>> >> patterns (do, get , is )
>> >> Session 5 Selenium Driver
>> >> Goals
>> >> User should be able to demonstrate and understanding of .
>> >> Understanding hooks
>> >> Understanding how to extend the selenium core objects
>> >> How things would differ from PI and non PI mode
>> >> Outline
>> >> Taking the click and the wait ; such that click implicitly
>> >> calls a
>> >> wait
>> >> Session 6 Selenium Modes
>> >> Goals
>> >> User should be able to demonstrate and understanding of .
>> >> IEHTA/chrome #Running a functional test case under different
>> >> browsers
>> >> Page ranking algorithm
>> >> Multi-domain issues
>> >> How to exclude files from injection
>> >> Outline
>> >> Talk about IEHTA and Chrome modes
>> >> Demonstrate running the functional tests under different
>> >> browsers
>> >> Facilitated Discussion What are the major cross-browser issues have
>> >> you faced in general and with Selenium in particular?
>> >> Session 7 (part 1) XPath
>> >> Goals
>> >> User should be able to demonstrate and understanding of .
>> >> difference between XPath implementation in IE and firefox
>> >> how to change the XPath library used for IE
>> >> Outline
>> >> Talk about XPath Implementation in IE and firefox
>> >> Attendees will be asked to find out how to change the XPath
>> >> library
>> >> for IE
>> >> Explain the difference between the two javascript
>> >> implementations
>> >> Talk about the pros/cons of the native IE XPath implementation
>> >> ( Including issues with MSXML )
>> >> Notes
>> >> MSXML cannot deal with malformed HTML documents. That is why a
>> >> JavaScript library is needed to deal with XPath.
>> >> Session 7 (part 2) Misc Selenium Issues
>> >> This session is more of discussions regarding Selenium issues
>> >> Running selenium test cases in parallel (Selenium Grid)
>> >> Slow JS
>> >> Flex Driver
>> >> Selenium-Flash demo Topics to vary wrt to time. Participation
>> >> from
>> >> audience encouraged
>> >> Outline
>> >> Demonstrate the stuff mentioned in the goals and talk in detail
>> >> Session 8: Wrap Up
>> >> Facilitated discussions regarding
>> >> CI (including building things in parallel for different
>> >> platforms
>> >> Release Management ( Drop a hint about Continuous Integration)
>> >> Automated Testing
> On Thu, Jun 18, 2009 at 11:23 PM, Sanchit
> Chawla<chawla.sanc...@gmail.com> wrote:
> > Hey manish..
> > Thanks for ur reply...
> > Could Web conferencing possible of this training??. As i m in noida and
> its
> > really hard to presence there.
> > Several others employee of my company are also interested for this
> training
> > Please confirm...
> > Thanks
> > Sanchit
> Hey Sanchit,
> How many people would be interested in this? can you give me a figure?
> In case there are enough number of people, ( ~10) we could have a
> session just for you.
> The pricing etc will have to figure out later, but you need to give me
> a number so that I can go back to ThoughtWorks and discuss it with
> them.
> Regards,
> Manish Chakravarty
> > On Thu, Jun 18, 2009 at 11:41 AM, Manish Chakravarty <
> manishch...@gmail.com>
> > wrote:
> >> On Thu, Jun 18, 2009 at 11:21 AM, Sanchit
> >> Chawla<chawla.sanc...@gmail.com> wrote:
> >> > Hi manish,
> >> > Sessions are fabulous , I wanna attend this training...
> >> > Thanks
> >> > Sanchit
> >> Hey Sanchit,
> >> I've conducted trainings before for other companies and it'll be fun
> >> to have another one, for individuals,
> >> I am looking for 10 people to sign up so that I can make a batch.
> >> The training will most probably be held at thoughtworks
> >> -- Manish
> >> PS: pass this on to more people if they are interested
> >> > On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty
> >> > <manishch...@gmail.com>
> >> > wrote:
> >> >> Hey Guys,
> >> >> I have prepared a four day training outline for selenium. 8 sessions,
> >> >> two sessions per day.
> >> >> I plan to have some trainings around this.
> >> >> I want you ( the community people ) to know comment on how this
> >> >> outline looks like:
> >> >> Selenium Training - Program Outline
> >> >> This a four-day program divided into 8 sessions. Sessions 2-7 are
> >> >> hands on sessions. All sessions begin with a presentation. Hopes/
> >> >> Expectations are clearly set at the beginning of the training and a
> >> >> retrospective is done at the end; this is addition to a standup in
> >> >> every session to ensure visibility and gauge progress.
> >> >> Things to do a day before
> >> >> Burn CD with required software ( JDK6, Maven, Eclipse,
> >> >> selenium,
> >> >> mercurial repo)
> >> >> Prepare FlipCharts
> >> >> Things to be done everyday
> >> >> Feedback (end of day )
> >> >> Switch pairs (beginning of every session )
> >> >> Standup (beginning of day )
> >> >> Session 1 - Introduction
> >> >> Goals
> >> >> Introduce participants to each other
> >> >> Establish the goals of the program
> >> >> Do a warm up on selenium
> >> >> Setup Environment ( IDE, repo etc )
> >> >> Outline
> >> >> Hopes and Concerns
> >> >> Icebreaking exercise
> >> >> Introduction to various different Selenium components and
> >> >> Architecture
> >> >> Session 2: Selenium Core
> >> >> Goals
> >> >> User should be able to
> >> >> Write a simple test case in Selenese
> >> >> Demonstrate understanding of core and core-less
> >> >> Demonstrate understanding of core profiles
> >> >> Familiarity with various JS files
> >> >> Demonstrate how to build and deploy core part to Maven
> >> >> Agenda
> >> >> Create an API goBack. This API would emulate the user
> pressing
> >> >> the
> >> >> back button of the browser
> >> >> Building the Selenium Core
> >> >> Outline
> >> >> Explain the source tree layout
> >> >> Create sample HTML page
> >> >> Create Selenese test case
> >> >> Include the test case in the actual suite ( conditions
> >> >> configure
> >> >> for
> >> >> specific browser etc)
> >> >> Building the selenium core
> >> >> Describe conversion
> >> >> looking at pom.xml for selenese ant task
> >> >> Describe important JS files which are part of Selenium Core.
> >> >> Describe how Selenium coreless creates profile
> >> >> Firebug
> >> >> Windows Registry
> >> >> difference between PI mode and non PI mode ( diff between the
> >> >> JS
> >> >> files being loaded )
> >> >> Links
> >> >> Starting with Selenium
> >> >> Setting up Apache on OS X
> >> >> Ajax Testing with Selenium using waitForCondition
> >> >> Agile Testing with Selenium
> >> >> Notes
> >> >> browser launcher, launcher util, WindowsUtils, creation of firefox
> >> >> profile and extension, ie registry modification, fire bug extension,
> >> >> fire fox 3 patch, iedoc.xml geberation with rhino
> >> >> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> >> >> selenium-testrunner.js, different between PI mode loading and non-pi
> >> >> mode loading of js files
> >> >> Session 3 Selenium Server
> >> >> Goals
> >> >> User should be able to demonstrate understanding of
> >> >> the source structure of Selenium Server
> >> >> how selenium server and selenium core talk to each other
> >> >> (Incase
> >> >> of
> >> >> selenese test case selenium-testrunner.js and driver commands )
> >> >> diff context paths in the selenium server
> >> >> how selenium server handles requests
> >> >> Outline
> >> >> Talk about source structure of SS ( talk about selenium
> server
> >> >> =
> >> >> (SeleniumCore +SeleniumCoreLess ))
> >> >> Describe architecture of the Selenium Server
> >> >> Describes the commands Selenium Core sends to Selenium Server
> >> >> ( Excercise: Do this with FireBug; involve students )
> >> >> How selenium server handles selenese test cases
> >> >> How selenium server handles test cases driven by driver
> >> >> Talk about SSL certificates.
> >> >> Notes
> >> >> proxy handler
> >> >> static content handler (classpath resources)
> >> >> cache content handler
> >> >> selenium driver handler
> >> >> Session 4 Selenium Driver
> >> >> Goals
> >> >> User should be able to demonstrate and understanding of .
> >> >> How selenium converts iedoc.xml XML to Java/ruby/python
> driver
> >> >> interface and implementation with iedocXXX.xml xslt & Converting
> >> >> selenese test case to Java test case with XLateHTML2Java and handling
> >> >> special conditions while test case conversion
> >> >> How to run test cases from Java driver end.
> >> >> Selenium Driver <> Selenium Server interactions
> >> >> Outline
> >> >> From the XML doc generated in session one, we will talk about
> >> >> how
> >> >> code is generated out of it.
> >> >> In case of Java binding , how they are creating Java test
> case
> >> >> from
> >> >> selenese test case.
> >> >> What if we dont want them to generate the system
> automatically?
> >> >> getEval (WaitUntilPresent)
> >> >> how to get rid of getEval and extending the Selenium driver
> >> >> ( inheritance OR composition )
> >> >> patterns (do, get , is )
> >> >> Session 5 Selenium Driver
> >> >> Goals
> >> >> User should be able to demonstrate and understanding of .
> >> >> Understanding hooks
> >> >> Understanding how to extend the selenium core objects
> >> >> How things would differ from PI and non PI mode
> >> >> Outline
> >> >> Taking the click and the wait ; such that click implicitly
> >> >> calls a
> >> >> wait
> >> >> Session 6 Selenium Modes
> >> >> Goals
> >> >> User should be able to demonstrate and understanding of .
> >> >> IEHTA/chrome #Running a functional test case under different
> >> >> browsers
> >> >> Page ranking algorithm
> >> >> Multi-domain issues
> >> >> How to exclude files from injection
> >> >> Outline
> >> >> Talk about IEHTA and Chrome modes
> >> >> Demonstrate running the functional tests under different
> >> >> browsers
> >> >> Facilitated Discussion What are the major cross-browser issues
> have
> >> >> you faced in general and with Selenium in particular?
> >> >> Session 7 (part 1) XPath
> >> >> Goals
> >> >> User should be able to demonstrate and understanding of .
> >> >> difference between XPath implementation in IE and firefox
> >> >> how to change the XPath library used for IE
> >> >> Outline
> >> >> Talk about XPath Implementation in IE and firefox
> >> >> Attendees will be asked to find out how to change the XPath
> >> >> library
> >> >> for IE
> >> >> Explain the difference between the two javascript
> >> >> implementations
> >> >> Talk about the pros/cons of the native IE XPath
> implementation
> >> >> ( Including issues with MSXML )
> >> >> Notes
> >> >> MSXML cannot deal with malformed HTML documents. That is why a
> >> >> JavaScript library is needed to deal with XPath.
> >> >> Session 7 (part 2) Misc Selenium Issues
> >> >> This session is more of discussions regarding Selenium issues
> >> >> Running selenium test cases in parallel (Selenium Grid)
> >> >> Slow JS
> >> >> Flex Driver
Can you please let me know when are you planning to have this session
in Bangalore.
Also please let me know where, and cost of this sessions.
please count me for this session.
Thanks
Srini.
On Jun 21, 4:43 pm, "*Ashok D*" <dandeas...@gmail.com> wrote:
> I am from Mumbai. Can you conduct this traning through online? Please let me
> know if that workable.
> Thanks
> Ashok
> On Sat, Jun 20, 2009 at 12:09 PM, Manish Chakravarty
> <manishch...@gmail.com>wrote:
> > On Thu, Jun 18, 2009 at 11:23 PM, Sanchit
> > Chawla<chawla.sanc...@gmail.com> wrote:
> > > Hey manish..
> > > Thanks for ur reply...
> > > Could Web conferencing possible of this training??. As i m in noida and
> > its
> > > really hard to presence there.
> > > Several others employee of my company are also interested for this
> > training
> > > Please confirm...
> > > Thanks
> > > Sanchit
> > Hey Sanchit,
> > How many people would be interested in this? can you give me a figure?
> > In case there are enough number of people, ( ~10) we could have a
> > session just for you.
> > The pricing etc will have to figure out later, but you need to give me
> > a number so that I can go back to ThoughtWorks and discuss it with
> > them.
> > Regards,
> > Manish Chakravarty
> > > On Thu, Jun 18, 2009 at 11:41 AM, Manish Chakravarty <
> > manishch...@gmail.com>
> > > wrote:
> > >> On Thu, Jun 18, 2009 at 11:21 AM, Sanchit
> > >> Chawla<chawla.sanc...@gmail.com> wrote:
> > >> > Hi manish,
> > >> > Sessions are fabulous , I wanna attend this training...
> > >> > Thanks
> > >> > Sanchit
> > >> Hey Sanchit,
> > >> I've conducted trainings before for other companies and it'll be fun
> > >> to have another one, for individuals,
> > >> I am looking for 10 people to sign up so that I can make a batch.
> > >> The training will most probably be held at thoughtworks
> > >> -- Manish
> > >> PS: pass this on to more people if they are interested
> > >> > On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty
> > >> > <manishch...@gmail.com>
> > >> > wrote:
> > >> >> Hey Guys,
> > >> >> I have prepared a four day training outline for selenium. 8 sessions,
> > >> >> two sessions per day.
> > >> >> I plan to have some trainings around this.
> > >> >> I want you ( the community people ) to know comment on how this
> > >> >> outline looks like:
> > >> >> Selenium Training - Program Outline
> > >> >> This a four-day program divided into 8 sessions. Sessions 2-7 are
> > >> >> hands on sessions. All sessions begin with a presentation. Hopes/
> > >> >> Expectations are clearly set at the beginning of the training and a
> > >> >> retrospective is done at the end; this is addition to a standup in
> > >> >> every session to ensure visibility and gauge progress.
> > >> >> Things to do a day before
> > >> >> Burn CD with required software ( JDK6, Maven, Eclipse,
> > >> >> selenium,
> > >> >> mercurial repo)
> > >> >> Prepare FlipCharts
> > >> >> Things to be done everyday
> > >> >> Feedback (end of day )
> > >> >> Switch pairs (beginning of every session )
> > >> >> Standup (beginning of day )
> > >> >> Session 1 - Introduction
> > >> >> Goals
> > >> >> Introduce participants to each other
> > >> >> Establish the goals of the program
> > >> >> Do a warm up on selenium
> > >> >> Setup Environment ( IDE, repo etc )
> > >> >> Outline
> > >> >> Hopes and Concerns
> > >> >> Icebreaking exercise
> > >> >> Introduction to various different Selenium components and
> > >> >> Architecture
> > >> >> Session 2: Selenium Core
> > >> >> Goals
> > >> >> User should be able to
> > >> >> Write a simple test case in Selenese
> > >> >> Demonstrate understanding of core and core-less
> > >> >> Demonstrate understanding of core profiles
> > >> >> Familiarity with various JS files
> > >> >> Demonstrate how to build and deploy core part to Maven
> > >> >> Agenda
> > >> >> Create an API goBack. This API would emulate the user
> > pressing
> > >> >> the
> > >> >> back button of the browser
> > >> >> Building the Selenium Core
> > >> >> Outline
> > >> >> Explain the source tree layout
> > >> >> Create sample HTML page
> > >> >> Create Selenese test case
> > >> >> Include the test case in the actual suite ( conditions
> > >> >> configure
> > >> >> for
> > >> >> specific browser etc)
> > >> >> Building the selenium core
> > >> >> Describe conversion
> > >> >> looking at pom.xml for selenese ant task
> > >> >> Describe important JS files which are part of Selenium Core.
> > >> >> Describe how Selenium coreless creates profile
> > >> >> Firebug
> > >> >> Windows Registry
> > >> >> difference between PI mode and non PI mode ( diff between the
> > >> >> JS
> > >> >> files being loaded )
> > >> >> Links
> > >> >> Starting with Selenium
> > >> >> Setting up Apache on OS X
> > >> >> Ajax Testing with Selenium using waitForCondition
> > >> >> Agile Testing with Selenium
> > >> >> Notes
> > >> >> browser launcher, launcher util, WindowsUtils, creation of firefox
> > >> >> profile and extension, ie registry modification, fire bug extension,
> > >> >> fire fox 3 patch, iedoc.xml geberation with rhino
> > >> >> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> > >> >> selenium-testrunner.js, different between PI mode loading and non-pi
> > >> >> mode loading of js files
> > >> >> Session 3 Selenium Server
> > >> >> Goals
> > >> >> User should be able to demonstrate understanding of
> > >> >> the source structure of Selenium Server
> > >> >> how selenium server and selenium core talk to each other
> > >> >> (Incase
> > >> >> of
> > >> >> selenese test case selenium-testrunner.js and driver commands )
> > >> >> diff context paths in the selenium server
> > >> >> how selenium server handles requests
> > >> >> Outline
> > >> >> Talk about source structure of SS ( talk about selenium
> > server
> > >> >> =
> > >> >> (SeleniumCore +SeleniumCoreLess ))
> > >> >> Describe architecture of the Selenium Server
> > >> >> Describes the commands Selenium Core sends to Selenium Server
> > >> >> ( Excercise: Do this with FireBug; involve students )
> > >> >> How selenium server handles selenese test cases
> > >> >> How selenium server handles test cases driven by driver
> > >> >> Talk about SSL certificates.
> > >> >> Notes
> > >> >> proxy handler
> > >> >> static content handler (classpath resources)
> > >> >> cache content handler
> > >> >> selenium driver handler
> > >> >> Session 4 Selenium Driver
> > >> >> Goals
> > >> >> User should be able to demonstrate and understanding of .
> > >> >> How selenium converts iedoc.xml XML to Java/ruby/python
> > driver
> > >> >> interface and implementation with iedocXXX.xml xslt & Converting
> > >> >> selenese test case to Java test case with XLateHTML2Java and handling
> > >> >> special conditions while test case conversion
> > >> >> How to run test cases from Java driver end.
> > >> >> Selenium Driver <> Selenium Server interactions
> > >> >> Outline
> > >> >> From the XML doc generated in session one, we will talk about
> > >> >> how
> > >> >> code is generated out of it.
> > >> >> In case of Java binding , how they are creating Java test
> > case
> > >> >> from
> > >> >> selenese test case.
> > >> >> What if we dont want them to generate the system
> > automatically?
> > >> >> getEval (WaitUntilPresent)
> > >> >> how to get rid of getEval and extending the Selenium driver
> > >> >> ( inheritance OR composition )
> > >> >> patterns (do, get , is )
> > >> >> Session 5 Selenium Driver
> > >> >> Goals
> > >> >> User should be able to demonstrate and understanding of .
> > >> >> Understanding hooks
> > >> >> Understanding how to extend the selenium core objects
> > >> >> How things would differ from PI and non PI mode
> > >> >> Outline
> > >> >> Taking the click and the wait ; such that click implicitly
> > >> >> calls a
> > >> >> wait
> > >> >> Session 6 Selenium Modes
> > >> >> Goals
> > >> >> User should be able to demonstrate and understanding of .
> > >> >> IEHTA/chrome #Running a functional test case under different
> > >> >> browsers
> > >> >> Page ranking algorithm
> > >> >> Multi-domain issues
> > >> >> How to exclude files from injection
> > >> >> Outline
> > >> >> Talk about IEHTA and Chrome modes
> > >> >> Demonstrate running the functional tests under different
> > >> >> browsers
> > >> >> Facilitated Discussion What are the major cross-browser issues
> > have
> > >> >> you faced in general and with Selenium in particular?
> > >> >> Session 7 (part 1) XPath
> > >> >> Goals
> > >> >> User should be able to demonstrate and understanding of .
> > >> >> difference between XPath implementation in IE and firefox
> > >> >> how to change the XPath library used for IE
> > >> >> Outline
> > >> >> Talk about XPath Implementation in IE and firefox
> Can you please let me know when are you planning to have this session
> in Bangalore.
> Also please let me know where, and cost of this sessions.
> please count me for this session.
> Thanks
> Srini.
> On Jun 21, 4:43 pm, "*Ashok D*" <dandeas...@gmail.com> wrote:
> > Hi Manish,
> > I am from Mumbai. Can you conduct this traning through online? Please let me
> > know if that workable.
> > Thanks
> > Ashok
> > On Sat, Jun 20, 2009 at 12:09 PM, Manish Chakravarty
> > <manishch...@gmail.com>wrote:
> > > On Thu, Jun 18, 2009 at 11:23 PM, Sanchit
> > > Chawla<chawla.sanc...@gmail.com> wrote:
> > > > Hey manish..
> > > > Thanks for ur reply...
> > > > Could Web conferencing possible of this training??. As i m in noida and
> > > its
> > > > really hard to presence there.
> > > > Several others employee of my company are also interested for this
> > > training
> > > > Please confirm...
> > > > Thanks
> > > > Sanchit
> > > Hey Sanchit,
> > > How many people would be interested in this? can you give me a figure?
> > > In case there are enough number of people, ( ~10) we could have a
> > > session just for you.
> > > The pricing etc will have to figure out later, but you need to give me
> > > a number so that I can go back to ThoughtWorks and discuss it with
> > > them.
> > > Regards,
> > > Manish Chakravarty
> > > > On Thu, Jun 18, 2009 at 11:41 AM, Manish Chakravarty <
> > > manishch...@gmail.com>
> > > > wrote:
> > > >> On Thu, Jun 18, 2009 at 11:21 AM, Sanchit
> > > >> Chawla<chawla.sanc...@gmail.com> wrote:
> > > >> > Hi manish,
> > > >> > Sessions are fabulous , I wanna attend this training...
> > > >> > Thanks
> > > >> > Sanchit
> > > >> Hey Sanchit,
> > > >> I've conducted trainings before for other companies and it'll be fun
> > > >> to have another one, for individuals,
> > > >> I am looking for 10 people to sign up so that I can make a batch.
> > > >> The training will most probably be held at thoughtworks
> > > >> -- Manish
> > > >> PS: pass this on to more people if they are interested
> > > >> > On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty
> > > >> > <manishch...@gmail.com>
> > > >> > wrote:
> > > >> >> Hey Guys,
> > > >> >> I have prepared a four day training outline for selenium. 8 sessions,
> > > >> >> two sessions per day.
> > > >> >> I plan to have some trainings around this.
> > > >> >> I want you ( the community people ) to know comment on how this
> > > >> >> outline looks like:
> > > >> >> Selenium Training - Program Outline
> > > >> >> This a four-day program divided into 8 sessions. Sessions 2-7 are
> > > >> >> hands on sessions. All sessions begin with a presentation. Hopes/
> > > >> >> Expectations are clearly set at the beginning of the training and a
> > > >> >> retrospective is done at the end; this is addition to a standup in
> > > >> >> every session to ensure visibility and gauge progress.
> > > >> >> Things to do a day before
> > > >> >> Burn CD with required software ( JDK6, Maven, Eclipse,
> > > >> >> selenium,
> > > >> >> mercurial repo)
> > > >> >> Prepare FlipCharts
> > > >> >> Things to be done everyday
> > > >> >> Feedback (end of day )
> > > >> >> Switch pairs (beginning of every session )
> > > >> >> Standup (beginning of day )
> > > >> >> Session 1 - Introduction
> > > >> >> Goals
> > > >> >> Introduce participants to each other
> > > >> >> Establish the goals of the program
> > > >> >> Do a warm up on selenium
> > > >> >> Setup Environment ( IDE, repo etc )
> > > >> >> Outline
> > > >> >> Hopes and Concerns
> > > >> >> Icebreaking exercise
> > > >> >> Introduction to various different Selenium components and
> > > >> >> Architecture
> > > >> >> Session 2: Selenium Core
> > > >> >> Goals
> > > >> >> User should be able to
> > > >> >> Write a simple test case in Selenese
> > > >> >> Demonstrate understanding of core and core-less
> > > >> >> Demonstrate understanding of core profiles
> > > >> >> Familiarity with various JS files
> > > >> >> Demonstrate how to build and deploy core part to Maven
> > > >> >> Agenda
> > > >> >> Create an API goBack. This API would emulate the user
> > > pressing
> > > >> >> the
> > > >> >> back button of the browser
> > > >> >> Building the Selenium Core
> > > >> >> Outline
> > > >> >> Explain the source tree layout
> > > >> >> Create sample HTML page
> > > >> >> Create Selenese test case
> > > >> >> Include the test case in the actual suite ( conditions
> > > >> >> configure
> > > >> >> for
> > > >> >> specific browser etc)
> > > >> >> Building the selenium core
> > > >> >> Describe conversion
> > > >> >> looking at pom.xml for selenese ant task
> > > >> >> Describe important JS files which are part of Selenium Core.
> > > >> >> Describe how Selenium coreless creates profile
> > > >> >> Firebug
> > > >> >> Windows Registry
> > > >> >> difference between PI mode and non PI mode ( diff between the
> > > >> >> JS
> > > >> >> files being loaded )
> > > >> >> Links
> > > >> >> Starting with Selenium
> > > >> >> Setting up Apache on OS X
> > > >> >> Ajax Testing with Selenium using waitForCondition
> > > >> >> Agile Testing with Selenium
> > > >> >> Notes
> > > >> >> browser launcher, launcher util, WindowsUtils, creation of firefox
> > > >> >> profile and extension, ie registry modification, fire bug extension,
> > > >> >> fire fox 3 patch, iedoc.xml geberation with rhino
> > > >> >> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> > > >> >> selenium-testrunner.js, different between PI mode loading and non-pi
> > > >> >> mode loading of js files
> > > >> >> Session 3 Selenium Server
> > > >> >> Goals
> > > >> >> User should be able to demonstrate understanding of
> > > >> >> the source structure of Selenium Server
> > > >> >> how selenium server and selenium core talk to each other
> > > >> >> (Incase
> > > >> >> of
> > > >> >> selenese test case selenium-testrunner.js and driver commands )
> > > >> >> diff context paths in the selenium server
> > > >> >> how selenium server handles requests
> > > >> >> Outline
> > > >> >> Talk about source structure of SS ( talk about selenium
> > > server
> > > >> >> =
> > > >> >> (SeleniumCore +SeleniumCoreLess ))
> > > >> >> Describe architecture of the Selenium Server
> > > >> >> Describes the commands Selenium Core sends to Selenium Server
> > > >> >> ( Excercise: Do this with FireBug; involve students )
> > > >> >> How selenium server handles selenese test cases
> > > >> >> How selenium server handles test cases driven by driver
> > > >> >> Talk about SSL certificates.
> > > >> >> Notes
> > > >> >> proxy handler
> > > >> >> static content handler (classpath resources)
> > > >> >> cache content handler
> > > >> >> selenium driver handler
> > > >> >> Session 4 Selenium Driver
> > > >> >> Goals
> > > >> >> User should be able to demonstrate and understanding of .
> > > >> >> How selenium converts iedoc.xml XML to Java/ruby/python
> > > driver
> > > >> >> interface and implementation with iedocXXX.xml xslt & Converting
> > > >> >> selenese test case to Java test case with XLateHTML2Java and handling
> > > >> >> special conditions while test case conversion
> > > >> >> How to run test cases from Java driver end.
> > > >> >> Selenium Driver <> Selenium Server interactions
> > > >> >> Outline
> > > >> >> From the XML doc generated in session one, we will talk about
> > > >> >> how
> > > >> >> code is generated out of it.
> > > >> >> In case of Java binding , how they are creating Java test
> > > case
> > > >> >> from
> > > >> >> selenese test case.
> > > >> >> What if we dont want them to generate the system
> > > automatically?
> > > >> >> getEval (WaitUntilPresent)
> > > >> >> how to get rid of getEval and extending the Selenium driver
> > > >> >> ( inheritance OR composition )
> > > >> >> patterns (do, get , is )
> > > >> >> Session 5 Selenium Driver
> > > >> >> Goals
> > > >> >> User should be able to demonstrate and understanding of .
> > > >> >> Understanding hooks
> > > >> >> Understanding how to extend the selenium core objects
> > > >> >> How things would differ from PI and non PI mode
> > > >> >> Outline
> > > >> >> Taking the click and the wait ; such that click implicitly
> > > >> >> calls a
> > > >> >> wait
> > > >> >> Session 6 Selenium Modes
> > > >> >> Goals
> > > >> >> User should be able to demonstrate and understanding of .
> > > >> >> IEHTA/chrome #Running a functional test case under different
> > > >> >> browsers
> > > >> >> Page ranking algorithm
> > > >> >> Multi-domain issues
> > > >> >> How to exclude files from
> Hi manish,
> Sessions are fabulous , I wanna attend this training...
> Thanks
> Sanchit
> On Wed, Jun 17, 2009 at 5:43 PM, Manish Chakravarty
> <manishch...@gmail.com>wrote:
> > Hey Guys,
> > I have prepared a four day training outline for selenium. 8 sessions,
> > two sessions per day.
> > I plan to have some trainings around this.
> > I want you ( the community people ) to know comment on how this
> > outline looks like:
> > Selenium Training - Program Outline
> > This a four-day program divided into 8 sessions. Sessions 2-7 are
> > hands on sessions. All sessions begin with a presentation. Hopes/
> > Expectations are clearly set at the beginning of the training and a
> > retrospective is done at the end; this is addition to a standup in
> > every session to ensure visibility and gauge progress.
> > Things to do a day before
> > Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> > mercurial repo)
> > Prepare FlipCharts
> > Things to be done everyday
> > Feedback (end of day )
> > Switch pairs (beginning of every session )
> > Standup (beginning of day )
> > Session 1 - Introduction
> > Goals
> > Introduce participants to each other
> > Establish the goals of the program
> > Do a warm up on selenium
> > Setup Environment ( IDE, repo etc )
> > Outline
> > Hopes and Concerns
> > Icebreaking exercise
> > Introduction to various different Selenium components and
> > Architecture
> > Session 2: Selenium Core
> > Goals
> > User should be able to
> > Write a simple test case in Selenese
> > Demonstrate understanding of core and core-less
> > Demonstrate understanding of core profiles
> > Familiarity with various JS files
> > Demonstrate how to build and deploy core part to Maven
> > Agenda
> > Create an API goBack. This API would emulate the user pressing the
> > back button of the browser
> > Building the Selenium Core
> > Outline
> > Explain the source tree layout
> > Create sample HTML page
> > Create Selenese test case
> > Include the test case in the actual suite ( conditions configure
> > for
> > specific browser etc)
> > Building the selenium core
> > Describe conversion
> > looking at pom.xml for selenese ant task
> > Describe important JS files which are part of Selenium Core.
> > Describe how Selenium coreless creates profile
> > Firebug
> > Windows Registry
> > difference between PI mode and non PI mode ( diff between the JS
> > files being loaded )
> > Links
> > Starting with Selenium
> > Setting up Apache on OS X
> > Ajax Testing with Selenium using waitForCondition
> > Agile Testing with Selenium
> > Notes
> > browser launcher, launcher util, WindowsUtils, creation of firefox
> > profile and extension, ie registry modification, fire bug extension,
> > fire fox 3 patch, iedoc.xml geberation with rhino
> > selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> > selenium-testrunner.js, different between PI mode loading and non-pi
> > mode loading of js files
> > Session 3 Selenium Server
> > Goals
> > User should be able to demonstrate understanding of
> > the source structure of Selenium Server
> > how selenium server and selenium core talk to each other (Incase of
> > selenese test case selenium-testrunner.js and driver commands )
> > diff context paths in the selenium server
> > how selenium server handles requests
> > Outline
> > Talk about source structure of SS ( talk about selenium server =
> > (SeleniumCore +SeleniumCoreLess ))
> > Describe architecture of the Selenium Server
> > Describes the commands Selenium Core sends to Selenium Server
> > ( Excercise: Do this with FireBug; involve students )
> > How selenium server handles selenese test cases
> > How selenium server handles test cases driven by driver
> > Talk about SSL certificates.
> > Notes
> > proxy handler
> > static content handler (classpath resources)
> > cache content handler
> > selenium driver handler
> > Session 4 Selenium Driver
> > Goals
> > User should be able to demonstrate and understanding of .
> > How selenium converts iedoc.xml XML to Java/ruby/python driver
> > interface and implementation with iedocXXX.xml xslt & Converting
> > selenese test case to Java test case with XLateHTML2Java and handling
> > special conditions while test case conversion
> > How to run test cases from Java driver end.
> > Selenium Driver <> Selenium Server interactions
> > Outline
> > From the XML doc generated in session one, we will talk about how
> > code is generated out of it.
> > In case of Java binding , how they are creating Java test case from
> > selenese test case.
> > What if we dont want them to generate the system automatically?
> > getEval (WaitUntilPresent)
> > how to get rid of getEval and extending the Selenium driver
> > ( inheritance OR composition )
> > patterns (do, get , is )
> > Session 5 Selenium Driver
> > Goals
> > User should be able to demonstrate and understanding of .
> > Understanding hooks
> > Understanding how to extend the selenium core objects
> > How things would differ from PI and non PI mode
> > Outline
> > Taking the click and the wait ; such that click implicitly calls a
> > wait
> > Session 6 Selenium Modes
> > Goals
> > User should be able to demonstrate and understanding of .
> > IEHTA/chrome #Running a functional test case under different
> > browsers
> > Page ranking algorithm
> > Multi-domain issues
> > How to exclude files from injection
> > Outline
> > Talk about IEHTA and Chrome modes
> > Demonstrate running the functional tests under different browsers
> > Facilitated Discussion What are the major cross-browser issues have
> > you faced in general and with Selenium in particular?
> > Session 7 (part 1) XPath
> > Goals
> > User should be able to demonstrate and understanding of .
> > difference between XPath implementation in IE and firefox
> > how to change the XPath library used for IE
> > Outline
> > Talk about XPath Implementation in IE and firefox
> > Attendees will be asked to find out how to change the XPath library
> > for IE
> > Explain the difference between the two javascript implementations
> > Talk about the pros/cons of the native IE XPath implementation
> > ( Including issues with MSXML )
> > Notes
> > MSXML cannot deal with malformed HTML documents. That is why a
> > JavaScript library is needed to deal with XPath.
> > Session 7 (part 2) Misc Selenium Issues
> > This session is more of discussions regarding Selenium issues
> > Running selenium test cases in parallel (Selenium Grid)
> > Slow JS
> > Flex Driver
> > Selenium-Flash demo Topics to vary wrt to time. Participation from
> > audience encouraged
> > Outline
> > Demonstrate the stuff mentioned in the goals and talk in detail
> > Session 8: Wrap Up
> > Facilitated discussions regarding
> > CI (including building things in parallel for different platforms
> > Release Management ( Drop a hint about Continuous Integration)
> > Automated Testing (Drop a hint about Agile Test Automation)
> > Q&A
> > Retro
> I have prepared a four day training outline for selenium. 8 sessions,
> two sessions per day.
> I plan to have some trainings around this.
> I want you ( the community people ) to know comment on how this
> outline looks like:
> Selenium Training - Program Outline
> This a four-day program divided into 8 sessions. Sessions 2-7 are
> hands on sessions. All sessions begin with a presentation. Hopes/
> Expectations are clearly set at the beginning of the training and a
> retrospective is done at the end; this is addition to a standup in
> every session to ensure visibility and gauge progress.
> Things to do a day before
> Burn CD with required software ( JDK6, Maven, Eclipse, selenium,
> mercurial repo)
> Prepare FlipCharts
> Things to be done everyday
> Feedback (end of day )
> Switch pairs (beginning of every session )
> Standup (beginning of day )
> Session 1 - Introduction
> Goals
> Introduce participants to each other
> Establish the goals of the program
> Do a warm up on selenium
> Setup Environment ( IDE, repo etc )
> Outline
> Hopes and Concerns
> Icebreaking exercise
> Introduction to various different Selenium components and
> Architecture
> Session 2: Selenium Core
> Goals
> User should be able to
> Write a simple test case in Selenese
> Demonstrate understanding of core and core-less
> Demonstrate understanding of core profiles
> Familiarity with various JS files
> Demonstrate how to build and deploy core part to Maven
> Agenda
> Create an API goBack. This API would emulate the user pressing the
> back button of the browser
> Building the Selenium Core
> Outline
> Explain the source tree layout
> Create sample HTML page
> Create Selenese test case
> Include the test case in the actual suite ( conditions configure for
> specific browser etc)
> Building the selenium core
> Describe conversion
> looking at pom.xml for selenese ant task
> Describe important JS files which are part of Selenium Core.
> Describe how Selenium coreless creates profile
> Firebug
> Windows Registry
> difference between PI mode and non PI mode ( diff between the JS
> files being loaded )
> Links
> Starting with Selenium
> Setting up Apache on OS X
> Ajax Testing with Selenium using waitForCondition
> Agile Testing with Selenium
> Notes
> browser launcher, launcher util, WindowsUtils, creation of firefox
> profile and extension, ie registry modification, fire bug extension,
> fire fox 3 patch, iedoc.xml geberation with rhino
> selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
> selenium-testrunner.js, different between PI mode loading and non-pi
> mode loading of js files
> Session 3 Selenium Server
> Goals
> User should be able to demonstrate understanding of
> the source structure of Selenium Server
> how selenium server and selenium core talk to each other (Incase of
> selenese test case selenium-testrunner.js and driver commands )
> diff context paths in the selenium server
> how selenium server handles requests
> Outline
> Talk about source structure of SS ( talk about selenium server =
> (SeleniumCore +SeleniumCoreLess ))
> Describe architecture of the Selenium Server
> Describes the commands Selenium Core sends to Selenium Server
> ( Excercise: Do this with FireBug; involve students )
> How selenium server handles selenese test cases
> How selenium server handles test cases driven by driver
> Talk about SSL certificates.
> Notes
> proxy handler
> static content handler (classpath resources)
> cache content handler
> selenium driver handler
> Session 4 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> How selenium converts iedoc.xml XML to Java/ruby/python driver
> interface and implementation with iedocXXX.xml xslt & Converting
> selenese test case to Java test case with XLateHTML2Java and handling
> special conditions while test case conversion
> How to run test cases from Java driver end.
> Selenium Driver <> Selenium Server interactions
> Outline
> From the XML doc generated in session one, we will talk about how
> code is generated out of it.
> In case of Java binding , how they are creating Java test case from
> selenese test case.
> What if we dont want them to generate the system automatically?
> getEval (WaitUntilPresent)
> how to get rid of getEval and extending the Selenium driver
> ( inheritance OR composition )
> patterns (do, get , is )
> Session 5 Selenium Driver
> Goals
> User should be able to demonstrate and understanding of .
> Understanding hooks
> Understanding how to extend the selenium core objects
> How things would differ from PI and non PI mode
> Outline
> Taking the click and the wait ; such that click implicitly calls a
> wait
> Session 6 Selenium Modes
> Goals
> User should be able to demonstrate and understanding of .
> IEHTA/chrome #Running a functional test case under different
> browsers
> Page ranking algorithm
> Multi-domain issues
> How to exclude files from injection
> Outline
> Talk about IEHTA and Chrome modes
> Demonstrate running the functional tests under different browsers
> Facilitated Discussion What are the major cross-browser issues have
> you faced in general and with Selenium in particular?
> Session 7 (part 1) XPath
> Goals
> User should be able to demonstrate and understanding of .
> difference between XPath implementation in IE and firefox
> how to change the XPath library used for IE
> Outline
> Talk about XPath Implementation in IE and firefox
> Attendees will be asked to find out how to change the XPath library
> for IE
> Explain the difference between the two javascript implementations
> Talk about the pros/cons of the native IE XPath implementation
> ( Including issues with MSXML )
> Notes
> MSXML cannot deal with malformed HTML documents. That is why a
> JavaScript library is needed to deal with XPath.
> Session 7 (part 2) Misc Selenium Issues
> This session is more of discussions regarding Selenium issues
> Running selenium test cases in parallel (Selenium Grid)
> Slow JS
> Flex Driver
> Selenium-Flash demo Topics to vary wrt to time. Participation from
> audience encouraged
> Outline
> Demonstrate the stuff mentioned in the goals and talk in detail
> Session 8: Wrap Up
> Facilitated discussions regarding
> CI (including building things in parallel for different platforms
> Release Management ( Drop a hint about Continuous Integration)
> Automated Testing (Drop a hint about Agile Test Automation)
> Q&A
> Retro