Features and Capabilities

PassPul is a hybrid test automation framework, written in java, using Selenium and Appium
PassPul provides the user with various benefits that help them to develop, execute and report the automation test scripts efficiently

1. Easy to setup & install

JDK 8 Eclipse TestNG for Eclipse Apache Maven
Android SDK Tools Appium Genymotion SOAPUI

More details here

2. Easy to use in 5 steps

2.1 Setup Application

2.2 Design TC

2.3 Design Test Suite

2.4 Run Test Suite

2.5 Get the result (Local – Result Folder/ Email)

More details here

3. Flexible with Keyword Smart Search

Download List Search Add-in here

4. Handle Scripts and data separately

Automated test scripts are clearly separated from the input data store so that no modifications are required to the test scripts whenever data has to be changed for multiple input values.

5. Easy to custom / extend Keyword

Update in 3 files

5.1. project.keyword >> Keyword.java

Add new line

// [Custom Keyword]
public void verifyCurrentStoreList(String locatorType, String locatorValue, String value1) throws Exception;

5.2. project.keyword.impl >> KeywordImpl.java

Add new line

// [Custom Keyword]
@Override
	public void verifyCurrentStoreList(String locatorType, String locatorValue, String value1) throws Exception {
// Your code here
}

5.3 project.action.common >> UIOperation.java

Add new line

// [Custom Keyword]
case "YOUR CUSTOM KEYWORD":
keywordImpl. verifyCurrentStoreList(locatorType, locatorValue , value1);
break;

6. Clear Report

TC Report Details

Screenshot of failure test case is stored in local and upload to Dropbox

TEST SUMMARY REPORT will be generated in case Test Suite has more than one test case

7. Detailed Log

2018-11-03 22:49:45,501 INFO  [PreTestExecution] ===== Creating Result Folder: 20181103_224945 ===== 
2018-11-03 22:49:45,532 INFO  [PreTestExecution] ===== Result Folder Is Created ===== 
2018-11-03 22:49:45,555 INFO  [TestExecution]                                                                                         
2018-11-03 22:49:45,555 INFO  [TestExecution] |||||||||||||||||||||||||||||||||||||||| NEW LOG - 20181103_224945 |||||||||||||||||||||||||||||||||||||||| 
2018-11-03 22:49:45,556 INFO  [TestExecution] ===== Result folder: D:\7P7\Work\Framework\PassPul\src\test\java\com\project\resource\testcase\result\20181103_224945\===== 
2018-11-03 22:49:45,556 INFO  [TestExecution] ===== Running file : Demo_Text_VERIFY TEXT.xlsm===== 
2018-11-03 22:49:45,578 INFO  [TestExecution] ============================================== READ EXCEL ================================================= 
2018-11-03 22:49:46,813 INFO  [TestExecution] =============================== NEW TESTCASE - TC_01 =============================== 
2018-11-03 22:49:46,821 INFO  [TestExecution] =============================== NEW TESTCASE - TC_02 =============================== 
2018-11-03 22:49:46,826 INFO  [TestExecution] =============================== NEW TESTCASE - END =============================== 
2018-11-03 22:49:47,240 INFO  [TestExecution] ============================================= OPEN BROWSER ================================================ 
2018-11-03 22:49:51,966 INFO  [TestExecution] ======================================================================================= 
2018-11-03 22:49:51,966 INFO  [TestExecution] -----Text Demo----------TC_01----------1-----GO TO URL---------------SimpleFormDemoScreen------------------------- 
2018-11-03 22:49:57,018 INFO  [TestExecution] ======================================================================================= 
2018-11-03 22:49:57,018 INFO  [TestExecution] -----Text Demo----------TC_02----------2-----VERIFY TEXT----------FirstExample-----This would be your first example to start with Selenium 2.------------------------- 
2018-11-03 22:49:57,174 INFO  [KeywordImpl] ACTUAL: 
This would be your first example to start with Selenium.
 
EXPECTED: 
This would be your first example to start with Selenium 2. 
2018-11-03 22:50:00,831 INFO  [TestExecution] ============================================= WRITE RESULT (PASS / FAIL / SKIP) ================================================ 
2018-11-03 22:50:01,064 INFO  [TestExecution] ============================================= WRITE SUMMARY RESULT ================================================ 
2018-11-03 22:50:02,792 INFO  [TestExecution]                                                                                         
2018-11-03 22:50:02,792 INFO  [TestExecution] |||||||||||||||||||||||||||||||||||||||| NEW LOG - 20181103_225002 |||||||||||||||||||||||||||||||||||||||| 
2018-11-03 22:50:02,793 INFO  [TestExecution] ===== Result folder: D:\7P7\Work\Framework\PassPul\src\test\java\com\project\resource\testcase\result\20181103_224945\===== 
2018-11-03 22:50:02,793 INFO  [TestExecution] ===== Running file : Demo_Alert_VERIFY ALERT MESSAGE.xlsm===== 
2018-11-03 22:50:02,817 INFO  [TestExecution] ============================================== READ EXCEL ================================================= 
2018-11-03 22:50:03,059 INFO  [TestExecution] =============================== NEW TESTCASE - TC_01 =============================== 
2018-11-03 22:50:03,061 INFO  [TestExecution] =============================== NEW TESTCASE - TC_02 =============================== 
2018-11-03 22:50:03,065 INFO  [TestExecution] =============================== NEW TESTCASE - END =============================== 
2018-11-03 22:50:03,215 INFO  [TestExecution] ============================================= OPEN BROWSER ================================================ 
2018-11-03 22:50:07,053 INFO  [TestExecution] ======================================================================================= 
2018-11-03 22:50:07,053 INFO  [TestExecution] -----Alert Demo----------TC_01----------1-----GO TO URL---------------Demo_JavaScript_Alert_Screen------------------------- 
2018-11-03 22:50:10,009 INFO  [TestExecution] ======================================================================================= 
2018-11-03 22:50:10,010 INFO  [TestExecution] -----Alert Demo----------TC_02----------1-----CLICK----------Alert_ClickMe_Button------------------------------ 
2018-11-03 22:50:10,275 INFO  [TestExecution] ======================================================================================= 
2018-11-03 22:50:10,275 INFO  [TestExecution] ---------------TC_02----------2-----VERIFY ALERT MESSAGE---------------I am an alert box!------------------------- 
2018-11-03 22:50:10,404 INFO  [TestExecution] ============================================= WRITE RESULT (PASS / FAIL / SKIP) ================================================ 
2018-11-03 22:50:10,506 INFO  [TestExecution] ============================================= WRITE SUMMARY RESULT ================================================ 
2018-11-03 22:50:12,225 INFO  [AfterTestExecution] ===== Creating TestSummaryReport.xlsm ===== 
2018-11-03 22:50:13,290 INFO  [AfterTestExecution] ===== Reading D:\7P7\Work\Framework\PassPul\src\test\java\com\project\resource\testcase\result\20181103_224945\Demo_Text_VERIFY TEXT_20181103_224945.xlsm ===== 
2018-11-03 22:50:13,563 INFO  [AfterTestExecution] ===== Reading D:\7P7\Work\Framework\PassPul\src\test\java\com\project\resource\testcase\result\20181103_224945\Demo_Alert_VERIFY ALERT MESSAGE_20181103_225002.xlsm ===== 
2018-11-03 22:50:13,755 INFO  [AfterTestExecution] ===== Write data into TestSummaryReport.xlsm ===== 
2018-11-03 22:50:14,775 INFO  [AfterTestExecution] ===== Sending email ===== 
2018-11-03 22:50:33,042 INFO  [SendEmail] ===== Email is sent successfully =====

8. Support multiple browsers

Google Chrome

Mozilla Firefox

Microsoft Internet Explorer

9. Support multiple Databases

#Oracle
app.database.url=jdbc:oracle:thin:@<hostname>:<port>:<sid>
app.database.username=username
app.database.password=password

#MySQL
app.database.url=jdbc:mysql://<hostname>:<port>/<dbname>
app.database.username=username
app.database.password=password

#SQL Server
app.database.url=jdbc:sqlserver://<hostname>:<port>;DatabaseName=<dbname>
app.database.username=username
app.database.password=password

#DB2
app.database.url=jdbc:db2://<hostname>:<port>/<dbname>
app.database.username=username
app.database.password=password

#Salesforce
app.database.url=jdbc:salesforce:User=<username>;Password=<password>;UseSandbox=TRUE;SecurityToken=<securitytoken>;
app.database.username=
app.database.password=

UseSandbox=TRUE --> Sandbox
UseSandbox=FALSE --> Production

10. Integration with Jenkins

To install Jenkins, more details here

11. Support Web Sevice

Support SOAP & RESTful

VERIFY TEXT WSVERIFY CHECKBOX WSVERIFY RADIO BUTTON WSVERIFY TEXTBOX VALUE WSVERIFY SELECTED VALUE DROPDOWN WSVERIFY DROPDOWN WSVERIFY DATA TABLE WSRUN SOAPUI
We are using xpath to get data from SOAP WS and jsonpath to get data from RESTful WS

More details here

12. Support Mobile App Testing

Using Appium

Using emulators or real devices