Tuesday, July 19, 2016

Selenium Essentials - Become Expert in Selenium Automation

Folks, I thought of sharing Selenium Essentials which you must cover if you want to get expertise in Selenium Automation. It might help beginners and intermediate techies. I have divided the content in to two parts, Basic and Advanced. And I have linked the content to other web links of the blog, and planning to cover all in my future blog posts, and link all the contents periodically. Find below the Selenium Essentials:

Course is divided into two Parts:

PART 1 - Basic Selenium which teaches you about Selenium IDE – Record and Play, Debug, Verification points and XPATH.

PART 2 - Advanced Selenium using Java which teaches Java/JUnit, Eclipse IDE, Selenium RC, Data Driven Testing, Ajax based application Testing.

1) Manual Testing Concepts
2) Software Development Life Cycle
3) Automation
3.1 Introduction to Automation
3.2 Test Automation of Web Application


1) Selenium Overview
2) Introduction to Selenium
3) Selenium IDE Basics
3.1 Getting Started

4) Selenium IDE
4.1 Introduction of Selenium IDE
4.2 Installing Selenium IDE
4.3 Starting Selenium IDE 
4.4 Selenium IDE Commands 
4.5 Writing Sample Test Case 
4.6 Running Selenium Tests on Different browsers

5) Tools for Writing Test Cases
5.1 Introduction
5.2 Overview and Usage of tools.
6) XPATH & Regular Expressions
6.1 Introduction to XPATH
6.2 Tools (Firebug & Firepath)

7.1 Recording and Running
7.2 Editing and Debugging.
7.3 Verifying Page Elements – Assertions and Verifications.
7.4 Locating Elements
7.5 Matching Text Patterns.
7.6 Store Commands and Selenium Variables
7.7 JavaScript and Selenese Parameters
7.8 Handling Alerts, Popup and Multiple Windows.


1) Selenium Webdriver
1.1 Webdriver Architecture

2) Eclipse
2.1 Installing Eclipse
2.2 About Eclipse IDE
2.3 Preparing Eclipse
2.4 Java Project (Classes, JUnit Classes) Editors, View and Perspectives
2.5 Simple Project 
2.6 Importing and Exporting
2.7 Eclipse Features
2.8 Debugging using Eclipse
2.9 Installing Eclipse Plug-in

3) Junit


About JUnit.
Test Fixture.
Sample JUnit Test Cases.
Test Runners.
Working with Test Case.
Working with Test Suites.
Testing Exception Handling.
Exercises and Examples.
JUnit 4

4) TestNG             
4.1 Annotations - @BeforeClass, @BeforeTest, @BeforeMethod, @Test 
4.2 Annotations - @AfterClass, @AfterTest, @AfterMethod
            4.4 Priority
            4.5 testNG.xml
            4.6 Groups          

Feel free to share your views/queries. Happy Learning :)

Vaneesh Behl

Friday, July 15, 2016

Mobile IOS Automation Part 1 - Appium Configuration with MAC

In recent days I got the chance to work on a Mobile Automation assignment. I got enough time for hands-on. I didn't have much experience on mobile automation before. I thought of sharing installation steps for Appium on MAC. I pen down all the configuration details and sharing below, so others could take help from it:

MAC Configuration with Appium

List of downloads:-
1.        Download Appium version 1.XX (.dmg) file      from https://bitbucket.org/appium/appium.app/downloads/
2.        Download Appium-master from https://github.com/appium/appium/
3.        Download latest android sdk.
4.        Install latest Xcode
5.        Update Android sdk with
a)        Latest API level
b)        Android SDK Build tools, SDK tools and SDK platform-tools from tools
c)        Google USB driver and Google Web-driver from extras.
6.        Download safari-launcher from https://github.com/budhash/SafariLauncher for mobile web testing in iPhone.

Environment variables : -
1.    Open terminal
2.    vi .bash_profile 
3.    press 'i' and  enter these export commands
a)              export ANDROID_HOME=android sdk path
b)              export PATH=$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH
c)              press Esc key.
4.    ‘Shift’ + ’:’
5.    wq > enter
6.    re open terminal.

Installing IOS_Web_PROXY
1.      open terminal and enter these commands
 > ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
 > brew update
 > brew install ios-webkit-debug-proxy

Installing safari-launcher in iPhone
l  Require Apple account linked with developer program
l  Add device to developer program
l  Launch the Safari-launcher.app on connected device from Xcode.

Pre-Script Steps In terminal
·         ios_webkit_debug_proxy
·         cd
·         ./bin/ios-webkit-debug-proxy-launcher.js -c:27753

Configuring Appium from its source code
l  npm install appium@1.4.16
l  Run this bin/appium-doctor.js from installed appium folder
l  Copy .git folder from cloned appium (git clone https://github.com/appium/appium.git)
l  Navigate to appium folder and execute ./reset.sh)
l  Provide path of installed appium source code in “Use External Appium Package” in appium UI under Developer setting.
l  Troubleshooting
n  If error related to ideviceintaller :- Execute brew install --HEAD ideviceinstaller  

n  If error related to provisional profile :- Execute ./reset.sh --ios --ios-safari after navigating to installed appium folder.

Vaneesh Behl