What is Apex?
Apex is a programming language for salesforce (only)
-
- Object Oriented Program, in which the data types have to defined.
- Allows developers for flow execution in force.com platforms.
- Enables developers to add business logic to most system events including button clicks, related record updates and visualforce pages.
Datatypes in Apex
- Primitives
Apex primitives include the following datatypes.
- Integer
- Boolean
- Decimal
- Double
- Date
- Date Time
- Time
- String
- Long
- ID- Any valid salesforce.com Id.
- sObjects
- Any object that can be stored in force.com platform database.
- sObject variable unlike primitive variable refers to row of data in salesforce. That is a complete record as a variable.
What is Salesforce
Salesforce.com is an American cloud computing company.
Salesforce offers Software as a Service (SaaS) platform which helps in Customer Relationship Management.
It has a multi-tenant architecture and subscriptions.
The following are the application clouds in Salesforce CRM.
2. Service Cloud
3. Marketing Cloud
4. Data cloud
5. App Cloud
6. Analytics Cloud
7. Community Cloud
1. End User ( Customer)
2. Administrator
3. Developer
4. Consultant
2. Certified Advanced Administrator
3. Certified Sales Cloud Consultant
4. Certified Service Cloud Consultant
5. Certified Force.com Platform App Builder
6. Certified Force.com Platform Developer I
7. Certified Force.com Platform Developer II
8. Certified Technical Architect
How to change numbers to zero
How to find the string length and reverse the string
Quick summary of QTP
QTP Quick summary:
Automation Frameworks
- Record and Playback.(Records application flow using QTP and playback)
- Data driven. (Data controls the automation flow through a spreadsheet/datatable)
- Keyword driven. (Functions are mapped to Keywords)
- Hybrid approach (Combination of Keyword and data driven)
- Business process testing(BPT)
- Functional Decomposition
Types of QTP Licenses
- Seat
- Concurrent
How to record/playback
- Open QTP/UFT
- Click on File > New Test
- Click on the ‘Record’ button
- Perform actions on the application under test
- Click ‘Stop’ at the end of Recording session
Types of QTP/UFT Add-ins
- Activex Controls
- Web
- Visual Basic
- Java Add-in 8.2
- Terminal Emulator for mainframe
- .NET
- Oracle
- SAP Solutions
- PeopleSoft
- Siebel
- Web Services
- Etc
What is Record and Run Settings
- Record and Run Settings window will be triggered right after the recording started for a new Test or an existing test.
- user can see tabs based on the loaded Add-in
- user can provide Application under test input criteria (like url, application path etc)
What are the various Recording Modes
There are 3 recording modes available
- Standard Recording: this is used for normal recording to capture user operations on the application.
- Analog Recording: this will record the exact mouse and keyboard operations.
- Low level Recording: this will record the mouse movements with respect to the coordinates on the AUT (application under test) Window.
What is Expert View
- Shows the every user actions done on the application in the form of codes.
Active Screen view
- Every code generated after recording will show corresponding application screen on Active screen window. This will help tracking the code vs application objects.
Actions in QTP:
It’s the recorded set of codes which are logically meaningful to the application flow. E.g Customer creation flow.
Types of actions in QTP:
- Non-reusable Action – action that can be called only in the test where it is stored, and can be used only once.
- Reusable Action – action that can be called from any QTP/UFT test
- External Action – reusable action stored with another QTP/UFT test. External actions are read-only.
Object Repository in QTP/UFT:
- QTP stores the recorded object details in a specific location in the tool named the ‘Object Repository’
- Browser – page – Objects are stored in a hierarchal manner.
- Every object will have some listed set of methods as e.g button can perform Click using QTP codes.
How to sort array values in qtp
Dim yourArray
Dim firstIteration
Dim secondIteration
Dim tempValue
yourArray=array(191,101,144,122,117,111,126,199,145,150,177,1,20202)
msgbox lbound(yourArray)
msgbox ubound(yourArray)
For firstIteration=lbound(yourArray) to ubound(yourArray)
For secondIteration=lbound(yourArray) to ubound(yourArray)-1
If oArray(secondIteration)>yourArray(secondIteration+1) Then
tmp=oArray(oCounter2)
yourArray(secondIteration)=yourArray(secondIteration+1)
yourArray(secondIteration+1)=tempValue
End If
Next
Next
For firstIteration=lbound(yourArray) to ubound(yourArray)
print yourArray(firstIteration)
Next
How to find duplicate character in string
Dim objStr
Dim objArray
Dim objchar
objStr = Inputbox(“Enter a String having some duplicate characters in it – as e.g. aacanddoodd”)
objchar= Inputbox(“Input the character you want to find which is duplicated or not as e.g. a or d or o”)
objArray=split(objStr,objchar)
print ubound(objArray)
How to execute javascript in webdriver using javaScriptExecutor using executescript method
How to Execute Javascript in Webdriver using Javascriptexecutor using executescript method?
JavaScriptExecutor can be used to execute javascript in WebDriver. JavaScriptExecutor actions like the way Xpath, Link, CSS, Id locators works in Selenium Webdriver.
javaScriptExecutor is supported by Selenium library and for that you need to import ‘org.openqa.selenium.JavascriptExecutor ‘ in your program.
In Selenium, javaScriptExecutor works like an interface and facilitates Javascript execution in there.
JavaScriptExecutor has two methods.one of the method is as below,
1) executescript – This method will block the execution of next line of code unitl it is completed.
example:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(Script,Arguments);
Example for executeScript
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class ExecuteScriptExample {
@Test
public void ExecuteScriptTest()
{
WebDriver driver= new FirefoxDriver();
JavascriptExecutor js = (JavascriptExecutor)driver;
driver.get(“your website url having login option”);
WebElement button =driver.findElement(By.name(“xxxxxxxx”));
driver.findElement(By.name(“uid”)).sendKeys(“admin”);
driver.findElement(By.name(“password”)).sendKeys(“admin”);
js.executeScript(“arguments[0].click();”, button);
js.executeScript(“alert(‘Test is completed – welcome to home page’);”);
}
}
How to execute javascript in webdriver using javaScriptExecutor executeAsyncScript Method
How to Execute Javascript in Webdriver using Javascriptexecutor using executeAsyncScript method?
JavaScriptExecutor can be used to execute javascript in WebDriver. JavaScriptExecutor actions like the way Xpath, Link, CSS, Id locators works in Selenium Webdriver.
javaScriptExecutor is supported by Selenium library and for that you need to import ‘org.openqa.selenium.JavascriptExecutor ‘ in your program.
In Selenium, javaScriptExecutor works like an interface and facilitates Javascript execution in there.
JavaScriptExecutor has two methods and one of the method is as below,
1) executeAsyncScript – This method will not block the execution of next line of code. Page rendering is fast here.
example:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeAsyncScript(Script,Arguments);
Example for executeAsyncScript
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class ExecuteAsyncScriptExample {
@Test
public void ExecuteAsyncScriptTest()
{
WebDriver driver= new FirefoxDriver();
JavascriptExecutor js = (JavascriptExecutor)driver;
driver.get(“your website url”);
driver.manage().window().maximize();
driver.manage().timeouts().setScriptTimeout(30, TimeUnit.SECONDS);
long BeginTime = System.currentTimeMillis();
//executeAsyncScript() method is used to enable 10 seconds wait.
js.executeAsyncScript(“window.setTimeout(arguments[arguments.length – 1], 10000);”);
long EndTime = System.currentTimeMillis();
System.out.println(“Passed time: ” + (EndTime – BeginTime));
}
}