Professional Documents
Culture Documents
Firefox Driver: Firefoxprofile Profile Firefoxprofile Profile. Webdriver Driver Firefoxdriver (Profile)
Firefox Driver: Firefoxprofile Profile Firefoxprofile Profile. Webdriver Driver Firefoxdriver (Profile)
them. For example, until we feel native events are stable on Firefox for
Linux, they are disabled by default. To enable them:
Info
See the Firefox section in the wiki page for the most up to date info.
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.
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.
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:
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
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 }