Protractor Training
Understanding of JavaScript
Examples of Protractor
Understanding of Protractor/Set up Eclipse
Jasmin Framework
Tricks and tips
Angular
View
Template Template URL
Controller
Model
Entities View Model
Controller Classes
MVC
View
Views JSon Partial view
Controller
Model
Entities View Model
Controller Classes
Razor Engine
App Fabric Caching
Database
Cached
Yes
App Fabric Caching
Database
Cached
WCF
HTML 5 CSS 3 Bootstrap
HTTP/HTTPS
Request
Service Locator
Business Access Layer
Security
Error
Handling Logging
Framework
MVC
Filter
Log4
Net
Database
Data Access Layer
Yes
No
Service
No
Service
EntitiesEntities
D3
protractor
Interface
XML
JavaScript
Protractor
Node.Js
Jasmine
Selector
Eclipse
Css Xpath
Interface
Language
JavaScript
ID Name linkText
TagName
ClassName PartialinkText
Selector
Actions
Send Keys
alert
getTitle
getText
maximize
manage
window
Screen Capture
Close
quit
Repeater
Binding
Scroll
Select
Window Handler
Promises Jasmine IE Chrome Firefox Expect
Node Capabilities Remote Profile Frame
Pop-Up New-Tab Alert Confirmation Prompt Hidden Object
Protractor
Node.js
XMLI am the ROOT
Attribute
Element
Content
<div id=“divId”
class=“divClass”>
<span>
Hi
</span>
<span>
All
</span>
<p>
Hi
</p>
</div>
id : Who am I?
Hi : Who am I?
Div : Who am I?
Protractor Configuration
direct Connect
Framework specs
Selenium Address
On Prepare On Complete
Direct Connect
Selenium Grid
Yes No
Selenium Address
Framework
JasmineKarma
Mocha
Task
On CompleteOn Prepare
Functionality
Define Report
Set Browser Size
Set Browser Synchronization
Functionality
Sent Email
Close Browser
Share Report
Locators
by.xpath
by.id
by.name
by.className
by.css
by.cssContainingText by.linkText
by.model
by.options
by.partialButtonText
by.tagName
by.js
Driver.findElement / element
$ $$
Check Controllers
is Present
by.id
by.name
by.className
by.css
by.cssContainingText by.linkText
by.model
isElementPresent
by.partialButtonText
by.tagName
by.js
Driver.findElement / element
$ $$
JavaScript
DataType Syntax
String
Number
Boolean
Null
Undefined
Object
If
for
function
Switch
while
JavaScript
Operator Compare
+
-
*
/
%
++/--
==
===
>
<
>=
=<
!=/!==!
JavaScript
Group
Array – with Index
Object - Properties
Object - Key
JavaScript
var Name=“QuickITDotNet”
var Id= 12
var isTrainning =true
var default =undefined
var defaultObject = null
var ListOfStudent =[]
var Employee={}
var Employee = function{
this.Name=“”
}
var obj = new Employee();
obj.Name=“QuickITDotNet”;
obj[“Name”]=
“QuickITDotNet”
JavaScript
var Name=“QuickITDotNet”
var Id= 12
var isTrainning =true
var default =undefined
var defaultObject = null
var ListOfStudent =[]
var Employee={}
var Employee = function{
this.Name=“”
}
var obj = new Employee();
obj.Name=“QuickITDotNet”;
obj[“Name”]=
“QuickITDotNet”
JavaScript
for(var i=0;i<5;i++){
console.log("Hi All")
}
Var Arr=[]
for(var i in Arr){
console.log(Arr[i])
}
Var obj=new Employee()
for(var i in obj){
console.log(obj[i])
}
Var obj=new Employee()
for(let val of obj){
console.log(val)
}
JavaScript
if(true){
console.log("true")
}
else{
console.log("false")
}
switch(key){
case "Get“
console.log(“Get")
break;
case "sendKey“
console.log(“sendKey")
break;
default
console.log(“default")
}
JavaScript
function Actions(command ,key ,value ,expectedValue)
{
switch(command){
case "Get“:
console.log(“Get")
break;
case "sendKey“:
console.log(“sendKey")
break;
default
console.log(“default")
}
}
Open Browser
browser.get("https://www.google.com");
Maximize Browser
browser.manage().window().maximize();
Browser Back/Forward
browser.navigate().back();
browser.navigate().forward();
Browser Set Size
browser.driver.manage().window().setSize(width, height);
Browser Get Title
browser.getTitle().then(function(value) {
console.log(value);
});
Browser check Title
browser.getTitle().then(function(value) {
If(this.expectedValue==value){
console.log(“Pass”);
}
Else{
console.log(“Fail”);
}
} .bind({expectedValue:i}));
Browser Element Click
var e = browser.findElement(by.xpath("//*[@id='btnLogin']"));
e.click();
Browser Element SendKeys
var uname = browser.findElement(by.id("txtUsername"));
uname.sendKeys("admin");
Browser Element Mouse Move
browser.actions().mouseMove(
element(
by.xpath("//*[@id='welcome']")
)
).click().perform();
Browser Element – findby Link text
var items = browser.findElement(By.linkText("Introducing
Cleartrip Local"));
items.getText().then(function(value) {
console.log(value);
});
Browser Element – findby Id
var uname = browser.findElement(by.id("txtUsername"));
Or
var uname = $("#txtUsername");
Or
var uname = element(by.id("txtUsername"));
Browser Element – DropDown Select by Index
var opt= element.all(by.css("#fruits option"))
opt.get(2).click();
Browser Element – DropDown Select by Text
var select= element(by.css("#fruits"))
select.element(by.cssContainingText('option',"Apple")).click();
Browser Element – DropDown Select by Value
var opt= element(by.css("#fruits"))
opt.element(by.xpath('//option[@value="apple"]')).click();
Browser Element – CheckBox – checked
var e = browser.findElement(By.id("ohrmList_chkSelectAll"));
e.click();
Browser Element – Add - Cookie
browser.manage().addCookie("test", "Bentley" );
Browser Element – Delete - Cookie
browser.manage().deleteAllCookies()
Browser Element – Window - Popup
handlePromise = browser.driver.getAllWindowHandles();
var handles = handlePromise.then(function (handles) {
popUpHandle = handles[1];
var handle = browser.switchTo().window(popUpHandle);
handle = browser.getWindowHandle();
expect(handle).toEqual(popUpHandle);
browser.driver.executeScript('window.focus();');
});
Browser Element – Table
element.all(by.className("dataTable")).then(function(items){
console.log("Total size"+items.length);
for(var i=0; i<items.length;i++){
items[i].getText().then(function(text){
console.log(text);
});
}
element(by.linkText("Emami Paper Mill")).click();
});
Browser Element – Table
element.all(by.className("dataTable")).then(function(items){
console.log("Total size"+items.length);
for(var i=0; i<items.length;i++){
items[i].getText().then(function(text){
console.log(text);
});
}
element(by.linkText("Emami Paper Mill")).click();
});
Browser Element – Execute Javascript
browser.executeScript(clickMe33).then(function(text){
console.log(text);
});
Browser Element – Execute Scroll window
browser.executeScript('window.scrollTo(0,200);')
Browser Element – Alert
var alertDialog = browser.switchTo().alert();
alertDialog.getText()
.then(function(text){
console.log(text);
});
alertDialog.accept();
Browser Element – Alert
var alertDialog = browser.switchTo().alert();
alertDialog.getText()
.then(function(text){
console.log(text);
});
alertDialog.accept();
Browser Element – Screen Shoot
var fs = require('fs');
var path = require('path');
var saveScreenshot = function(pathname) {
browser.takeScreenshot().then(function(png) {
var file =
path.resolve("C:SeleniumClassTestertestedb.png");
fs.writeFileSync(file, png, { encoding: 'base64' },
console.log);
});
};
describe("Test Case Module",function(){
it("Test Cases 1",function(){
//Test step 1
//Test Step 2
});
it("Test Cases 2",function(){
//Test step 1
//Test Step 2
});
});
Jasmin – Describe - It
describe("To be ", function() {
it("Check Number to Number", function() {
expect(true).toBe(true); // true
expect(181).toBe(181); // true
});
it("Check Number to string", function() {
expect("182").toBe(182); //false
});
})
Jasmin - Tobe
describe("Not To be ", function() {
it("Check Number to Number", function() {
expect(true).not.toBe(true); // false
expect(181).not.toBe(181); // false
});
it("Check Number to string", function() {
expect("182").not.toBe(182); //true
});
});
Jasmin - Not Tobe
describe("Decimal position Compare", function() {
it("Decimal position Compare", function() {
expect(12.34).toBeCloseTo(12.32, 1); // true
expect(12.34).toBeCloseTo(12, 0); // true
});
it("Decimal position Compare - diff", function() {
expect(12.34).toBeCloseTo(12.3, 2); // false
});
});
Jasmin - Decimal position Compare
describe("Check for Defined", function() {
it("check Data", function() {
expect("Hello!").toBeDefined(); // true
expect(1).toBeDefined();
expect(true).toBeDefined();
});
it("check variable", function() {
var valUndefined;
expect(valUndefined).toBeDefined(); // false
})
Jasmin - Check for Defined
describe("Check for unDefined", function() {
it("check Data", function() {
expect("Hello!").toBeUndefined(); // true
expect(1).toBeUndefined();
expect(true).toBeUndefined();
});
it("check variable", function() {
var valUndefined;
expect(valUndefined).toBeUndefined(); // false
});
Jasmin - Check for unDefined
describe("Check toBeFalsy", function() {
it("check for false", function() {
expect(false).toBeFalsy(); //true
});
it("check for null", function() {
expect(null).toBeFalsy(); //true
});
it("check for blank", function() {
expect("").toBeFalsy(); //true
});
});
Jasmin - Check to be Falsy
describe("Check toBeFalsy", function() {
it("check for undefined", function() {
var a;
expect(a).toBeFalsy(); //true
});
it("check for value", function() {
var a=1;
expect(a).toBeFalsy(); //false
});
it("check for value 0", function() {
var a=0;
expect(a).toBeFalsy(); //true
});
});
Jasmin - Check to be Falsy
describe("Check toBe true", function() {
it("check for true", function() {
expect(true).toBeTruthy(); //true
});
it("check for value", function() {
var a=12;
expect(a).toBeTruthy(); //true
});
it("check for object", function() {
var obj={}
expect(obj).toBeTruthy(); //true
});
});
Jasmin - Check to be true
describe("Check toBe true", function() {
it("check for undefined", function() {
var a;
expect(a).toBeTruthy(); //false
});
it("check for value", function() {
var a=1;
expect(a).toBeTruthy(); //true
});
it("check for value 0", function() {
var a=0;
expect(a).toBeTruthy(); //false
});
});
Jasmin - Check to be true
describe("Check toBe Greater then", function() {
it("check for number 12 > 3", function() {
expect(12).toBeGreaterThan(3); //true
});
it("check for number 3 > 12?", function() {
expect(3).toBeGreaterThan(12); //false
});
it("check for number 'a' > 'b'?", function() {
expect("a").toBeGreaterThan("b"); //false
});
});
Jasmin - Check to be Greater then
describe("Check toBe less then", function() {
it("check for number 12 < 3", function() {
expect(12).toBeLessThan(3); //false
});
it("check for number 'abc12' < 'abc1'?", function() {
expect("abc12").toBeLessThan("abc1"); //false
});
it("check for number 'ab' < 'abc1'?", function() {
expect("ab").toBeLessThan("abc1"); //false
});
});
Jasmin - Check to be less then

Protractor Training - Online training On Skype