Skip to content

Meet Ahsan

Selenium WebDriver Recipes in Java

The Selenium WebDriver Recipes book is a quick problem-solving guide to automated testing web applications with Selenium WebDriver. It contains hundreds of solutions to real-world problems, with clear explanations and ready-to-run test scripts you can use in your own projects.

  • Introduction
    • Selenium
    • Selenium language bindings
    • Set up Development Environment
    • Cross browser testing
    • JUnit
    • Run recipe scripts
  • 2. Locating web elements
    • Start browser
    • Find element by ID
    • Find element by Name
    • Find element by Link Text
    • Find element by Partial Link Text
    • Find element by XPath
    • Find element by Tag Name
    • Find element by Class
    • Find element by CSS Selector
    • Chain findElement to find child elements
    • Find multiple elements
  • 3. Hyperlink
    • Click a link by text
    • Click a link by ID
    • Click a link by partial text
    • Click a link by XPath
    • Click Nth link with exact same label
    • Click Nth link by CSS Selector
    • Verify a link present or not?
    • Getting link data attributes
    • Test links open a new browser window
  • 4. Button
    • Click a button by label
    • Click a form button by label
    • Submit a form
    • Click a button by ID
    • Click a button by name
    • Click a image button
    • Click a button via JavaScript
    • Assert a button present
    • Assert a button enabled or disabled?
  • 5. TextField and TextArea
    • Enter text into a text field by name
    • Enter text into a text field by ID
    • Enter text into a password field
    • Clear a text field
    • Enter text into a multi-line text area
    • Assert value
    • Focus on a control
    • Set a value to a read-only or disabled text field
    • Set and assert the value of a hidden field
  • 6. Radio button
    • Select a radio button
    • Clear radio option selection
    • Assert a radio option is selected
    • Iterate radio buttons in a radio group
    • Click Nth radio button in a group
    • Click radio button by the following label
    • Customized Radio buttons – iCheck
  • 7. CheckBox
    • Check by name
    • Check by id
    • Uncheck a checkbox
    • Assert a checkbox is checked (or not)
    • Customized Checkboxes – iCheck
  • 8. Select List
    • Select an option by text
    • Select an option by value
    • Select an option by iterating all options
    • Select multiple options
    • Clear one selection
    • Clear selection
    • Assert selected option
    • Assert the value of a select list
    • Assert multiple selections
  • 9. Navigation and Browser
    • Go to a URL
    • Visit pages within a site
    • Perform actions from right click context menu such as ‘Back’, ‘Forward’ or ‘Refresh’
    • Open browser in certain size
    • Maximize browser window
    • Move browser window
    • Minimize browser window
    • Scroll focus to control
    • Switch between browser windows or tabs
    • Open new and close browser Tabs
    • Remember current web page URL, then come back to it later
  • 10. Assertion
    • Assert page title
    • Assert Page Text
    • Assert Page Source
    • Assert Label Text
    • Assert Span text
    • Assert Div text or HTML
    • Assert Table text
    • Assert text in a table cell
    • Assert text in a table row
    • Assert image present
    • Assert element location and width
    • Assert element CSS style
  • 11. Frames
    • Testing Frames
    • Testing iframe
    • Test multiple iframes
  • 12. Testing AJAX
    • Wait within a time frame
    • Explicit Waits until Time out
    • Implicit Waits until Time out
    • Wait AJAX Call to complete using JQuery
  • 13. File Upload and Popup dialogs
    • File upload
    • JavaScript pop ups
    • Timeout on a test
    • Modal style dialogs
    • Popup Handler Approach
    • Handle JavaScript dialog with Popup Handler
    • Basic or Proxy Authentication Dialog
    • Internet Explorer modal dialog
  • 14. Debugging Test Scripts
    • Print text for debugging
    • Write page source or element HTML into a file
    • Take screenshot
    • Leave browser open after test finishes
    • Debug test execution using Debugger
  • 15. Test Data
    • Get date dynamically
    • Get a random boolean value
    • Generate a number within a range
    • Get a random character
    • Get a random string at fixed length
    • Get a random string in a collection
    • Generate a test file at fixed sizes
    • Retrieve data from Database
  • 16. Browser Profile and Capabilities
    • Get browser type and version
    • Set HTTP Proxy for Browser
    • Verify file download in Chrome
    • Verify file download in Firefox
    • Bypass basic authentication by embedding username and password in URL
    • Bypass basic authentication with Firefox AutoAuth plugin
    • Manage Cookies
    • Headless browser testing with PhantomJS
    • Test responsive websites
    • Set page load timeout
  • 17. Advanced User Interactions
    • Double click a control
    • Move mouse to a control – Mouse Over
    • Click and hold – select multiple items
    • Context Click – right click a control
    • Drag and drop
    • Drag slider
    • Send key sequences – Select All and Delete
    • Click a specific part of an image
  • 18. HTML 5 and Dynamic Web Sites
    • HTML5 Email type field
    • HTML5 Time Field
    • Invoke ‘onclick’ JavaScript event
    • Invoke JavaScript events such as ‘onchange’
    • Scroll to the bottom of a page
    • Select2 – Single Select
    • Select2 – Multiple Select
    • AngularJS web pages
    • Ember JS web pages
    • “Share Location” with Firefox
    • Faking Geolocation with JavaScript
  • 19. WYSIWYG HTML editors
    • TinyMCE
    • CKEditor
    • SummerNote
    • CodeMirror
  • 20. Leverage Programming
    • Raise exceptions to fail test
    • Ignorable test statement error
    • Read external file
    • Data-Driven Tests with Excel
    • Data-Driven Tests with CSV
    • Identify element IDs with dynamically generated long prefixes
    • Sending special keys such as Enter to an element or browser
    • Use of Unicode in test scripts
    • Extract a group of dynamic data : verify search results in order
    • Verify uniqueness of a set of data
    • Extract dynamic visible data rows from a results table
    • Extract dynamic text following a pattern using Regex
  • 21. Optimization
    • Assert text in page_source is faster than the text
    • Getting text from more specific element is faster
    • Avoid programming if-else block code if possible
    • Use variable to cache not-changed data
    • Enter large text into a text box
    • Use Environment Variables to change test behaviours dynamically
    • Testing web site in two languages
    • Multi-language testing with lookups
  • 22. Gotchas
    • Test starts browser but no execution with blank screen
    • Failed to assert copied text in browser
    • The same test works for Chrome, but not for IE
    • “unexpected tag name ‘input’”
    • Element is not clickable or not visible
  • 23. Selenium Remote Control Server
    • Selenium Server Installation
    • Execute tests in specified browser on another machine
    • Selenium Grid

DOWNLOAD HERE

 

 

 

 

Admission Form