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 WS, VERIFY CHECKBOX WS, VERIFY RADIO BUTTON WS, VERIFY TEXTBOX VALUE WS, VERIFY SELECTED VALUE DROPDOWN WS, VERIFY DROPDOWN WS, VERIFY DATA TABLE WS, RUN 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