You are on page 1of 5

As we develop features in the Firefox Driver, we expose the ability to use

them. For example, until we feel native events are stable on Firefox for
Linux, they are disabled by default. To enable them:

FirefoxProfile profile = new FirefoxProfile();


profile.setEnableNativeEvents(true);
WebDriver driver = new FirefoxDriver(profile);

Info
See the Firefox section in the wiki page for the most up to date info.

Internet Explorer Driver


The InternetExplorerDriver is a standalone server which implements
WebDriver’s wire protocol. This driver has been tested with IE 7, 8, 9, 10,
and 11 on appropriate combinations of Vista, Windows 7, Windows 8, and
Windows 8.1. As of 15 April 2014, IE 6 is no longer supported.

The driver supports running 32-bit and 64-bit versions of the browser. The
choice of how to determine which “bit-ness” to use in launching the browser
depends on which version of the IEDriverServer.exe is launched. If the 32-
bit version of IEDriverServer.exe is launched, the 32-bit version of IE will be
launched. Similarly, if the 64-bit version of IEDriverServer.exe is launched,
the 64-bit version of IE will be launched.

T Three Dimensional Knowledge is required for Software Testers ypes of Banks:


a) Saving Banks
Saving banks are established to create saving habit among the people. These banks
are helpful for salaried people and low income groups. The deposits collected from
customers are invested in bonds, securities, etc. At present most of the commercial
banks carry the functions of savings banks. Postal department also performs the
functions of saving bank.
Where can I find a full test automation
project with Selenium WebDriver?
21:43 Posted by Alex Siminiuc 11 Comments

You have been learning test automation with Selenium.

You went through lots of concepts and would like to see how they all work together.

Where can you find a project that uses everything you learned and more?

Here :)

What follows is a small project that I built a while ago for a job interview.

It uses many test automation concepts such as:

 page factory
 base classes
 html classes
 test listeners
 test ng assertions and fixtures
 annotations
 custom locators (javascript and jquery)
 screenshots
 saving errors in text files

The exercise consisted in automating the following test case with Java and Selenium WebDriver:

 Launch bestbuy url (www.bestbuy.ca)


 Search a product and add it to cart
 Go all the way through checkout process and place the order with invalid credit card
 Capture the error message due to invalid credit card

Before downloading the project and checking the source code, a few details about the project.

Project details

Maven project
- all dependencies are managed through the pom.xml file

Test NG
- unit testing library

Java JDK 8
- used for lambda expressions and streams

Page Factory
- pattern for creating page object and page fragment classes
- the elements of page object/fragment classes have names and locators
- names and locators are implemented using annotations
- available locator types are id, xpath, css, name and javascript
view source he biggest change in Selenium recently has been the inclusion of
the WebDriver API. Driving a browser natively as a user would either locally
or on a remote machine using the Selenium Server it marks a leap forward
in terms of browser automation.
Selenium WebDriver fits in the same role as RC did, and has incorporated
the original 1.x bindings. It refers to both the language bindings and the
implementations of the individual browser controlling code. This is commonly
referred to as just "WebDriver" or sometimes as Selenium 2.

Selenium 1.0 + WebDriver = Selenium 2.0


 WebDriver is designed in a simpler and more concise programming
interface along with addressing some limitations in the Selenium-RC
API.
 WebDriver is a compact Object Oriented API when compared to
Selenium1.0
 It drives the browser much more effectively and overcomes the
limitations of Selenium 1.x which affected our functional test coverage,
like the file upload or downloa

print?
01 @Name("SEARCH_HEADER")
02 @FindBy(className = "main-navigation-container")
03 public class SearchHeader extends HtmlElement{
04
05 @Name("SEARCH_FIELD")
@FindBy(id
06
= "ctl00_MasterHeader_ctl00_uchead_GlobalSearchUC_TxtSearchKeyword")
07 private TextInput searchKeywordTxt;
08
09 @Name("SEARCH_BUTTON")
@FindBy(id
10
= "ctl00_MasterHeader_ctl00_uchead_GlobalSearchUC_BtnSubmitSearch")
11 private Button searchBtn;
12
13 public void search(String keyword) {
14 searchKeywordTxt.click();
15 searchKeywordTxt.clear();
16 searchKeywordTxt.sendKeys(keyword);
17 searchBtn.click();
18 }
19 }

Main folder (framework classes)


annotations classes
- FindBy
- FindByJQUERY
- FindByJS
- Name
- Timeout
view source
print?
01 package com.bestbuy.demo.annotations;
02
03 import java.lang.annotation.ElementType;
04 import java.lang.annotation.Retention;
05 import java.lang.annotation.RetentionPolicy;
06 import java.lang.annotation.Target;
07
08 @Retention(RetentionPolicy.RUNTIME)
09 @Target({ElementType.TYPE, ElementType.FIELD})
10 public @interface Name {
11 String value();
12 }

You might also like