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 Set expected condition in Protractor
Sikuli –Desktop UI automation tool
FindFailed exception in Sikuli
Selenium
Selenium is a web test automaton framework. Selenium uses WebDriver interface to do web ui interactions. Selenium currently used in IT industry for the test automation of regression, functional, in-sprint, smoke test scenarios.
Selenium features
Selenium supports Cross Browser Testing and parallel testing. The Selenium tests can be run on multiple browsers and multiple machines and multiple Operating systems. Selenium offers open source tools and supports test automation for web applications
Supports several scripting languages like Java, Python, C#, and PHP
Reporting are very easy and extensible,
Selenium uses Browser native commands. It locates and actions applied on UI elements
TestNG quick summary:
TestNG’s is Selenium + reporting features. It is easy to generate reports using Listeners and Reporters in TestNG
Features of TestNG includes the following,
1) Annotations – please refer my annotation blog Annotation – TestNG’s test case priority
2) Supports parameterization/ data driven testing
3) Test cases can be grouped and parallel testing is allowed.
How to run selenium on linux server using Firefox binary
code sample:
String Xport = System.getProperty(“lmportal.xvfb.id”, “:1”); // setup firefox binary to start Xvfb
final File ffPath = new File(System.getProperty(“lmportal.deploy.firefox.path”, “/usr/bin/firefox”));
FirefoxBinary ffBinary = new FirefoxBinary(ffPath);
ffBinary.setEnvironmentProperty(“DISPLAY”, Xport);
WebDriver driver = new FirefoxDriver(ffBinary, null);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get(“URL”);
How to handle the error popup on site security certificate is not trusted with chrome selenium python automation
For Chrome, add –ignore-certificate-errors in following code
options = webdriver.ChromeOptions()
options.add_argument(‘–ignore-certificate-errors’)
driver = webdriver.Chrome(chrome_options=options)
driver.get(‘URL’)
For the Internet Explorer, set acceptSslCerts desired capability as true:
capabilities = webdriver.DesiredCapabilities().INTERNETEXPLORER
capabilities[‘acceptSslCerts’] = True
driver = webdriver.Ie(capabilities=capabilities)
driver.get(‘URL’)
For Firefox, set accept_untrusted_certs as true
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
driver = webdriver.Firefox(firefox_profile=profile)
driver.get(‘URL’)
Summary about Jenkins, Selenium and QTP automation frameworks
1) go to https://jenkins.io and download Jenkins.war file
2) place the war file in a folder (e.g. C:\Jenkins\Jenkins.war )
3) then open command prompt (windows start menu > run > cmd will open command prompt )
4) in command prompt, go to folder C:\Jenkins\ ( command : “CD C:\Jenkins\” ) and then run command ” java -jar Jenkins.war ”
5) this will exract a folder name “.jenkins” into your user folder ( the path is usually “C:\users\”your login”\.jenkins”
6) copy “.jenkins” folder and paste to folder C:\Jenkins\, so that you have “C:\Jenkins\.jenkins” as the folder path.
7) Now you setup a Enviroment variable (to set up that go to Control panel > system > Advanced System settings )
8) then add Enviroment variable as “JENKINS_HOME” and value as “C:\Jenkins\.jenkins”
You all set to run Jenkins on your machine!
Open a browser and type “localhost:8080” to see Jenkins session.
Selenium jenkins integration
1) start jenkins by running command in DOS prompt (detailed steps in here )
2) then make sure you are able to access url : localhost:8080
3) then you need to configure jenkins to run the selenium scripts – for that click on “Manage Jenkins”
4) then click on Configure systems
5) Find out the jdk files are installed (usually in C:\ program files … folder path) and copy paste the path in JDK section “JDK Installations” in ” Configure systems” which you are already in.
6) Give JDK name “JAVA_HOME” and provide Java path below in the next field.
3) Open eclipse IDE and start new Java project
4) make sure you added selenium jars (Selenium server standalone jar file which you can download add to new project) to support selenium framework for your automation testing.
5) then create a simple selenium script – make sure it is running and completing successfully in Eclipse.
6) Also create a xml file give a name “Xml1.xml” Make sure Run “Xml1.xml” as “TestNG Suite” is working fine in Eclipse. Also notedown the xml file path in selenium project. create a lib folder in that and add all jar files which are required.
7) navigate to that project folder in command prompt and set all required classpath like bin and lib etc which are already in xml file folder in selenium project which you got from selenium project in eclipse.
8) then type command “Java org.testng.testNG Xml1.xml” which will display results in command prompt/DOS screen
9) now create a batch file “Batch1.bat” which contains the above command and also a command for compiling as e.g “java -cp bin;lib/* org.testng.testNG Xml1.xml”
10) in Jenkins, create a “new item” with selection of “Freestyle project”
11) then select “Advance options” and put the Selenium project home directory path in there.
12) the build trigger section, select Batch file execution option in there, then put the batch file name “Batch1.bat”
13) click and save the new item
14) click on “Build Now” and verify the “Console output”
What is REST client in Visual studio code
REST client is an extension available in Visual Studio code available through its market place.
REST client make API test automation easy via Visual studio code development.
Consider a scenario where you needed to handshake selenium UI automation with API REST calls, normally you would need to do coding effort for REST calls. In this case REST client makes life easy.
Please find below example on REST client coding:
GET transaction for getting a response
# codes starts here
GET https://endpointurl/xxx
Authorization: {{“token”}}
# code ends..
Note : you can pass token as variable as well.
Similarly POST, or PUT works and needs the json input file/string to be attached with POST, PUT request
Machine learning vs ai vs deep learning vs data science
Machine learning : Machine learning helps a computer system to perform a specific task using the algorithms and statistical models.
AI : Artificial intelligence is an intelligence inherited by machine and behaves like human beings.
Deep Learning : Deep Learning is a subset of Machine learning and it uses machine learning methods based on artificial neural networks
Data Science : The word data science itself give an idea of what it is. It’s all about data. To understand more about it, we need to know why , where and how it is used. Data is used to make business decisions by almost all companies. Scientific methods, algorithms , programs etc uses structured or unstructured data to make decisions
Summary on Cloud, Machine learning, Artificial intelligence and other emerging technologies
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.
- Sales Cloud
2. Service Cloud
3. Marketing Cloud
4. Data cloud
5. App Cloud
6. Analytics Cloud
7. Community Cloud
Salesforce also offers Platform as a Service (PaaS) using Force.com sites.
People involved in Salesforce Implementation
1. End User ( Customer)
2. Administrator
3. Developer
4. Consultant
The following are the list of Salesforce Certifications.
- Certified Administrator
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
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.
Hadoop MapReduce
Hadoop MapReduce is the main core components of Hadoop and is a programming model Hadoop MapReduce helps implementation for processing and generating large data sets, it uses parallel and distributed algorithms on a cluster. Hadoop MapReduce can handle large scale data: petabytes, exabytes.
Mapreduce framework converts each record of input into a key/value pair.
What is Blockchain and cryptocurrency
To understand more about Blockchain and crypto currency, lets explain about current Banking system works.
Current Banking systems : when a user does an online or ATM transaction , the centralized banking ledger verifies and confirm the authenticity of accounts. For that work, every bank or third party sites charges to user.
Blockchain is not like banking centralized ledger but this software uses a decentralized ledger across the thousands of computers and every transactions are updated in each and every ledger. That means everyone is aware of the transactions rather than a centralized bank stores all information and charges for that. There are volunteering systems who does this effort of maintaining all ledgers for block chain.
Block chain uses cryptography mythology to protect the ledger information so that no one can modify or destroy this.
Block chain concept is utilized by Crypto currency , online voting system, signature system, agreement systems etc.
Top 20 cryptocurrency 2017
bitcoin BTC
ethereum ETH
bitcoincash BCH
ethereumclassic ETC
litecoin LTC
einsteinium EMC2
dash DASH
ripple XRP
bitcoingold BTG
zcash ZEC
eos EOS
qtum QTUM
syscoin SYS
neo NEO
monero XMR
vertcoin VTC
iota IOT
powerledger POWR
omisego OMG
santiment SAN