Professional Documents
Culture Documents
Complete Selenium Bootcamp: Introduction To Selenium Web Driver
Complete Selenium Bootcamp: Introduction To Selenium Web Driver
Complete Selenium Bootcamp: Introduction To Selenium Web Driver
4/22/17
Salhi Houssem
Complete Selenium
Bootcamp
INTRODUCTION TO SELENIUM WEB DRIVER
2
Course OverView
Selenium IDE : is the tool you use to develop your Selenium test cases. Its an easy-
to-use Firefox plug-in and is generally the most efficient way to develop test cases.
Selenium Remote Control (RC) : is a test tool that allows you to write automated
web application UI tests in any programming language against any HTTP website
using any mainstream JavaScript-enabled browser.
Selenium Grid : Selenium-Grid allows you run your tests on different machines
against different browsers in parallel. That is, running multiple tests at the same
time against different machines running different browsers and operating systems.
Selenium 2.0 and WebDriver : WebDriver is the replacement of Selenium RC
Selenium 1.0 (IDE) + RC = Selenium 2.0
1. Selenium needs very much expertise resources. The resource should also be very well versed
in framework architecture.
2. Selenium only supports web based application and does not support windows based
application.
3. It is difficult to test Image based application.
4. Selenium need outside support for report generation activity like dependence on TestNG or
Jenkins.
5. Selenium does not support built in add-ins support.
6. Selenium user lacks online support for the problems they face.
7. Selenium does not provide any built in IDE for script generation and it need
other IDE like Eclipse for writing scripts.
8. Selenium Automation Engineers are bit in scarcity these days.
9. Selenium script creation time is bit high.
10. Selenium does not support file upload facility.
11. Selenium partially supports for Dialog boxes.
WebDriver :
Fiefox Driver
IE Driver
Chrome Driver
Opera Driver
iPhone Driver
Android Driver
browser = webdriver.Firefox()
elem = browser.find_element_by_name(selector)
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
Implicit wait :
time to wait to get an element. If it is used then thie WebDriver will wait the
same time before getting each elemt
Explicit wait :
set a timer for a specific element (not for all elements)
Fluent wait :
WebDriver attempts to find element again and again until it find it or until the final
timer runs out.
Setup your
environment
Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads
Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Firefox: https://github.com/mozilla/geckodriver/releases
Safari: https://webkit.org/blog/6900/webdriver-support-in-safari-10/
Download from
"https://atom.io/"
browser = webdriver.Firefox()
browser.get('http://testing.todvachev.com/')