Key FeaturesLearn how to design a more effective automation frameworkExplores all of the APIs within WebDriverAcquire an in-depth understanding of each concept through practical code examplesBook DescriptionSelenium WebDriver is an open source web UI automation tool implemented through a browser-specific browser driver, which sends commands to a browser and retrieves results.
Selenium WebDriver Practical Guide will guide you through the various APIs of WebDriver which should be used in automation tests, followed by a discussion of the various WebDriver implementations available. This guide will support you by offering you access to source code files, including the essential HTML files, that allow you to work with jQuery and other examples throughout the book. Finally, you will receive an in-depth explanation of how to deal with the latest features of WebDriver through step-by-step practical tutorials.
What you will LearnLearn the basic design of Selenium WebDriver and understand how it overcomes the limitations of its predecessorSet up and use Selenium GridDiscover the various mechanisms used to locate web elementsPerform advanced actions such as drag-and-drop, double-click, right-click, and action builders on web pagesExplore the advanced features of WebDriver such as handling cookies, taking screenshotsmanaging timeouts, and browser navigationsAcquire an understanding of the various WebDriver implementations such as Firefox Driver, IE Driver, and Chrome DriverExplore WebDriver EventListenersDesign effective automation frameworks using the PageObject patternLearn how to deal with the latest features of WebDriverAbout the AuthorSatya Avasarala has rich experience in Java development and automation testing. He is an engineer in computer science. He has used WebDriver for many years now and has created several good automation frameworks. He has worked at various large software enterprises such as Oracle Corp, Yahoo! Inc., VMware Inc., and the REA Group.
Table of ContentsIntroducing WebDriver and WebElementsExploring Advanced Interactions of WebDriverExploring the Features of WebDriverDifferent Available WebDriversUnderstanding WebDriver EventsDealing with I/OExploring RemoteWebDriver and WebDriverBackedSeleniumUnderstanding Selenium GridUnderstanding PageObject PatternTesting iOS and Android Apps
Satya Avasarala I think Selenium WebDriver Practical Guide by Satya Avasarala is going to help you in the best way to learn and apply this in your project. This book almost covers everything that help the automation testers. This book has featured step by step tutorial approach that helps every reader to understand contents written in this book. So anyone can start learning with this book. This book encompasses each and every aspects of selenium WebDriver, its application and pertained difficulties in application as well with reference to real paradigms.
Chapter 1 and 2 : Basic of the Selenium webdriver and why we try to move from RC to webdriver are clearly defined. The modus operandi of Selenium RC and WebDriver are described in this chapter. The different way to find elements in WebDriver is clearly defined and meaning of the By.ID(),By.Xpath() etc is defined in a very lucid way . Advanced operations of WebDriver like mouse and keyboard event are described very well in Chapter 2 almost every methods related to this events are described.
Chapter 3 and 4 : Really DesiredCapabilities ,Alert ,Frame and windows handling are nicely described. It will be more helpful for the readers if author enlighten us on native window handling. Implicit and Explicit wait are described in such a manner that reader can easily understand the knowhow of the use of practical implementation. Author may also consider Fluent Wait class with Web element polling feature. This feature not yet described in Chapter3. Cookies handling is a very interesting topic and described with reference to practical paradigm, but multiple domain cookies handling is not yet described ,and author may consider this.
In chapter 4 Description of WebDriver configuration is interesting indeed which are elaborately described. Moreover, the basic working mode of WebDriver is clearly defined. The frozen preference and user preferences are also very effective.
Chapter 5 and 6 Web Driver Listener chapter deals with webdriver listener class and class structures. Incorporation of real practical problem and pertained solution may be more effective with reference to the present chapter. I/O handling Zip file handling and temporary file management are described effectively which is helpful in dealing the big projects.
Chapter 7 and 8 The continuity between chapter 7 and 8 is appreciable. The exact place of application and need of Selenium Grid are described with keen accuracy. In addition Remote Server and its’ configuration is described clearly. Different options for Grid setup mentioned clearly in Chapter 8 which encompasses erroneous configuration and its’ effects.
Chapter 9 Although author described PageObject model but there are several frameworks are also available like Data driven model, Keyword Driven model and Hybrid model etc. If author described this types of popular models also, then this chapter will be more attractive. But Page object model is very clearly described with real example.
When writing my master thesis about Selenium WebDriver, I have read several books (including Unmesh Gundecha - Selenium Testing Tools Cookbook and David Burns - Selenium 2 Testing Tools Beginner’s Guide) and I would say this was the best. The reason is that next to the usual description of Selenium WebDriver classes, interfaces and methods (that can be found in official documentation - plus, for free and always up-to-date) you can find there differences between different browsers and solutions to wide range of problems. What I really like is the problem-oriented point of view - it describes "how" to do it and that rather than "what" everything the tool offers. But the most useful part for me was the chapter about Page Objects pattern - this really helps to create matured and effective automated tests. Unfortunately, it was described quite generally and in my opinion this topic would deserve more pages.
I would recommend this book as a really good start into Selenium WebDriver.
Whether this book is worth picking up really kind of depends on who you are, what you're doing, and how much experience you've got. Personally, I am a full-stack developer with about 10 years of experience, so the book very much reads to me like a re-write of the official documentation. If you're a QA, BA, or a developer with less experience than myself this book probably an invaluable handbook.
Having said that, another issue with the book is that all of the code examples are in JAVA. Which for somebody who studies computer science like an academic that's not an issue, but for many software professionals(developers included) it is. Developers who spend the majority of their careers in a particular language or stack have difficulties understanding other languages even if they're of the same paradigm. So unless you're working at an Oracle shop this might not be the book for you.
Starting with discussing briefly selenium tool and history of it. We will compare selenium with another tool like QTP and RFT and we can look into major components in selenium like Selenium IDE, Selenium RC, Selenium Webdriver and Selenium Grid. https://www.sevenmentor.com/selenium-...
Selenium WebDriver Practical GuideAre you trying to switch in to Selenium WebDriver automation and your boss is insisting to automate all web application over which you working since long time then I think Selenium WebDriver Practical Guide by Satya Avasarala is going to help you in the best way. This book has incorporated everything that is going to help both Beginners along with experienced automation testers and it is easy to follow because this book has featured step by step tutorial approach and this step to step approach is going to help every reader to digest every chunk of content written in this book. So any one can start his learning with this book.
What is inside this book
The books starts with a detail history of Selenium, and has also included “how each flavor of selenium component like IDE, Selenium 1.0 and WebDriver are different from each other” and what has made Selenium Webdriver to win the race of all the previous components. This chapter also includes project setup and along with interaction with browser and commonly used actions on generic web-elements present on any web-page.
Next Chapter has covered interaction of WebDriver with Keyboard and mouse and has also included examples to show how it works
Chapter 3 is the one which is dealing the most asked question on internet . How to handle alert, frame and pop-up and how I can take screenshot of any page during script execution. Lastly in Chapter 3 implicit wait and explicit wait has been mentioned means after reading this you would learn the lesson to prevent your script breaking from Stale Elements on page or Element not visible kind of exceptions.
Chapter 4 is going to help you how to run your IE Browser, Chrome browser and all other browser by setting the property of its executable binaries
Chapter 5 is the my favorite because this chapter is going to help you to understand how to deal with the event-handling aspect of WebDriver. You can read this chapter on this link. This is the chapter that has been written for experienced WebDriver user .So this chapter will intend experience WebDriver user to purchase this book.
Chapter 6 is for the people who are not quite familiar with the file handling in java and want to read it in detail and its proper use in WebDriver. So this chapter is also going to help beginners to learn some raw java concept that is going to help them in their scripting with WebDriver.
Chapter 7 and 8 is one of the most talked topic in Selenium Script. These two chapter include detailed description of RemoteWebDriver and WebDriverBackedSelenium and has also included the concept of Selenium Grid concept .
Chapter 9 has included the concept of Page Object model and how to use it when developing your tests using java language. Author has made an effort to explain this topic with real time examples so might be you would find a way to understand the concept of Object Model in WebDriver.
Chapter 10 is going to help you out to understand the concept of mobile automation using appium and I am pretty sure that people who are seeking help related mobile automation is going to be benefitted with this part of the book a lot.
Conclusion
Overall this book is meant to both beginner and experienced WebDriver user and while reading this book you would feel like you are reading Step by Step tutorial and in some chapter you would feel like wow this is good and I was seeking this part since long.
This book is great if you need to learn API of WebDriver. You can find almost everything of API described here. That's not all, book starts with introducing into Selenium, continues with WebDriver (Selenium 2) and differences between these versions. Also you will find several notes about switching to WebDriver, that's great.
In whole book are examples simple without JUnit and even someone who doesn't know Java much (like me) can understand. Unfortunately there isn't any word about others languages and differences in implementations. That's kind of sad, because Java isn't great language for webmasters. It's too complicated. I teach webmasters and Python is much better choice for them (mostly for these who know CoffeeScript).
When you will understand to WebDriver's API, there is last chapter about Page Objects. Pattern how to write better tests. I have just feeling from book, that using Page Objects is a must. Well, not always. I work on big business application where it wouldn't be better choice.
Book isn't bad, but I am missing a lot of stuff which need to be said about Selenium. And why have one book for mainly API a one book for best practices? If I knew that there isn't any best practice, I wouldn't buy this book with this price.
Ripped through this book over the weekend. Definitely worth reading, and although all the code was in Java, the syntax was quite close to C# so it was quite legible. We don't do a lot of automated testing, and no automated integration testing, but that's not to mean we can't start. We do a lot of web and API programming, so there are lots of potential opportunities to validate forms, REST calls, or just rip through and take screenshots of pages with every browser. The remote webdriver and grid frameworks were especially interesting, as it would be reasonably possible to have a variety of dormant VMs in Amazon or Azure and just spin them up on request for testing. Glad I squeezed it in, hoping to get a chance to try it out soon.