SlideShare a Scribd company logo
1 of 16
What to Expect from Sahi Pro
Simple Reliable Test Automation
@sahipro
sahipro.com
sahipro.com
Q: What is Sahi Pro?
• Sahi Pro is a test automation tool
• It enables testers to
– Convert manual tests to automation tests
– Rapidly and reliably execute batches of such tests
– Provide detailed reports of playback results
• Sahi Pro is easy to use and can be used by
non programmers too
• Sahi Pro needs minimal maintenance
sahipro.com
Q: How do the tests look?
This is a scenario file. It defines business flows.
sahipro.com
Scenarios
• Scenarios define business flows
• They are easily readable and can be used as
manual tests too.
• They do not depend on the actual user interface
• Any good tester (manual or automation) can
write them, even if they do not have
programming knowledge.
– This is the bulk of Sahi automation and requires
understanding of your business domain and
organizing your tests.
sahipro.com
Q: How does the Scenario work?
• Each step in the Scenario calls a Javascript function
or Java method
• These functions define the actual steps to be
performed on the UI
sahipro.com
Functions in Sahi Scripts
• Such Javascript functions are defined in Sahi scripts
• Sahi scripts use Sahi APIs to interact with
– Web Browsers
– Desktop applications
– Java applications
– Flex Applications
– Mobile Applications
• Sample Sahi APIs:
– Action APIs: _click, _setValue etc.
– Accessor APIs: _textbox, _button etc.
sahipro.com
Q: How do we write these functions?
• You can record your interactions using the Sahi
Recorder
• This can be converted into functions using the
“Create Function” wizard in the Sahi Pro Editor
sahipro.com
Q: Record? Hmm…
• If you have religious reasons to not use recorders,
you can write the script manually too.
– Record and playback is frowned upon because of inability
to work with dynamic data, identifiers which are sub-
optimal etc.
– Good recorders and object spies can make object
detection and interaction scripting easy.
– Use Sahi’s recorder to your advantage. You can always fall
back to manual scripting if needed.
sahipro.com
Q: How do I run Scenarios?
• Scenarios can be executed from
– Sahi Pro UI
– Command line
– ANT
– Continuous Integration systems like Jenkins
• Normally hundreds or thousands of Scenario
files are grouped in a Suite file and executed
as a batch.
sahipro.com
Suites
– Suites are a group of scenarios/scripts.
– Scenarios/scripts can be organized via tags. Selective
tags can be run
– Data can be passed to Scenarios/scripts. Same
scenario can be run with multiple sets of input data.
sahipro.com
Suite Execution
• Sahi Pro can distribute scenarios/scripts
across machines for faster results
– Say across 6 machines and finish off in 1/6th time
• Sahi Pro can run browser scenarios/scripts in
parallel on a single machine
– 6 machines each running 5 instances of browsers
can run 30 scripts simultaneously!
sahipro.com
Q: What about Reports?
• Reports are automatically generated, without
writing any code
• Reports show
 historical data of all suites and scripts run
Can be drilled down to suite report
Drill down further to script/scenario report
Drill down to function call
Drill down to step executed, along with screen shot if
there is an error
Drill down to exact line of code in Script.
sahipro.com
Q: Aren’t UI tests flaky?
• Not with Sahi. UI tests break for 2 reasons
– Brittle identification mechanisms
– Waits or synchronization issues
• Sahi uses smart identification mechanisms which are not
easily affected by UI change
– No XPaths
• Sahi automatically waits for the right amount of time
between steps
– No wait statements required
• Sahi tests have very few false positives or false negatives.
When a script fails, you can say with confidence that the
application has changed.
sahipro.com
Q: No XPaths, No waits?
_navigateTo("http://mail.google.com");
_setValue(_emailbox("identifier"), "madeupname");
_click(_span("Next"));
_setValue(_password("password"), "secret");
_click(_span("Next"));
_click(_div("COMPOSE"));
_setValue(_textarea("to"), "abc@example.com");
_setValue(_textbox("subjectbox"), "Hi there!");
_click(_image("Minimise"));
_click(_link("/Google Account: /"));
_click(_link("Sign out"));
_click(_span(0, _near(_image("photo.jpg"))));
_click(_submit("Remove an account"));
_click(_div(0, _near(paragraph("Madeup Name"))));
_click(_div("Yes, remove"));
_assertVisible(_emailbox("identifier"));
Here is a sample script, automating Gmail. Try it!
sahipro.com
Summary
• Sahi scripts are easy to create and maintain
• The tester concentrates on business
functionality. Sahi does all the tooling parts.
• Sahi scripts execute fast and reliably, helping
agile teams get rapid feedback
• Very little time is wasted in the automation
process.
sahipro.com
Try
Sahi Pro with a fully functional 1 month trial
license
Or play with the free
Sahi Pro Starter
www.sahipro.com
@sahipro
support@sahipro.com
sales@sahipro.com

More Related Content

What's hot

Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
QA or the Highway
 

What's hot (20)

Automated UI Testing
Automated UI TestingAutomated UI Testing
Automated UI Testing
 
Automated testing with Cypress
Automated testing with CypressAutomated testing with Cypress
Automated testing with Cypress
 
AI Testing What Why and How To Do It?
AI Testing What Why and How To Do It?AI Testing What Why and How To Do It?
AI Testing What Why and How To Do It?
 
Agile Testing Best Practices
Agile Testing Best PracticesAgile Testing Best Practices
Agile Testing Best Practices
 
Automate CRM systems through APIs with the new UiPath Integration Service
Automate CRM systems through APIs with the new UiPath Integration ServiceAutomate CRM systems through APIs with the new UiPath Integration Service
Automate CRM systems through APIs with the new UiPath Integration Service
 
Assisted Task Mining: Driving Continuous Discovery
Assisted Task Mining: Driving Continuous DiscoveryAssisted Task Mining: Driving Continuous Discovery
Assisted Task Mining: Driving Continuous Discovery
 
Selenium Automation in Java Using HttpWatch Plug-in
 Selenium Automation in Java Using HttpWatch Plug-in  Selenium Automation in Java Using HttpWatch Plug-in
Selenium Automation in Java Using HttpWatch Plug-in
 
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
 
What is Sauce Labs?
What is Sauce Labs? What is Sauce Labs?
What is Sauce Labs?
 
Cross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & BrowserstackCross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & Browserstack
 
Testing Best Practices
Testing Best PracticesTesting Best Practices
Testing Best Practices
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
 
What is Robotic Process Automation?
What is Robotic Process Automation?What is Robotic Process Automation?
What is Robotic Process Automation?
 
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
 
Selenium 4 with Simon Stewart [Webinar]
Selenium 4 with Simon Stewart [Webinar]Selenium 4 with Simon Stewart [Webinar]
Selenium 4 with Simon Stewart [Webinar]
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 
[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case
 
How to apply AI to Testing
How to apply AI to TestingHow to apply AI to Testing
How to apply AI to Testing
 
3 Amazing Examples of Real-life RPA Use Cases - Signity
3 Amazing Examples of Real-life RPA Use Cases - Signity3 Amazing Examples of Real-life RPA Use Cases - Signity
3 Amazing Examples of Real-life RPA Use Cases - Signity
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
 

Similar to What to Expect from Sahi Pro

Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
Kiran Munir
 

Similar to What to Expect from Sahi Pro (20)

Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.js
 
Improving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test Automation
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesKeeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When Automating
 
QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
 
Mayur_Resume (2) (1)
Mayur_Resume (2) (1)Mayur_Resume (2) (1)
Mayur_Resume (2) (1)
 
SE - Lecture 9 n 10 Intro Robotic Process Automation.pptx
SE - Lecture 9 n 10 Intro Robotic Process Automation.pptxSE - Lecture 9 n 10 Intro Robotic Process Automation.pptx
SE - Lecture 9 n 10 Intro Robotic Process Automation.pptx
 
Slides for Automation Testing or End to End testing
Slides for Automation Testing or End to End testingSlides for Automation Testing or End to End testing
Slides for Automation Testing or End to End testing
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Ui Testing with Ghost Inspector
Ui Testing with Ghost InspectorUi Testing with Ghost Inspector
Ui Testing with Ghost Inspector
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdf
 
Introduction to UI Automation Framework
Introduction to UI Automation FrameworkIntroduction to UI Automation Framework
Introduction to UI Automation Framework
 
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdfTest Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
 
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
 
MockServer-driven testing
MockServer-driven testingMockServer-driven testing
MockServer-driven testing
 
Federico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfFederico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdf
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 

What to Expect from Sahi Pro

  • 1. What to Expect from Sahi Pro Simple Reliable Test Automation @sahipro sahipro.com
  • 2. sahipro.com Q: What is Sahi Pro? • Sahi Pro is a test automation tool • It enables testers to – Convert manual tests to automation tests – Rapidly and reliably execute batches of such tests – Provide detailed reports of playback results • Sahi Pro is easy to use and can be used by non programmers too • Sahi Pro needs minimal maintenance
  • 3. sahipro.com Q: How do the tests look? This is a scenario file. It defines business flows.
  • 4. sahipro.com Scenarios • Scenarios define business flows • They are easily readable and can be used as manual tests too. • They do not depend on the actual user interface • Any good tester (manual or automation) can write them, even if they do not have programming knowledge. – This is the bulk of Sahi automation and requires understanding of your business domain and organizing your tests.
  • 5. sahipro.com Q: How does the Scenario work? • Each step in the Scenario calls a Javascript function or Java method • These functions define the actual steps to be performed on the UI
  • 6. sahipro.com Functions in Sahi Scripts • Such Javascript functions are defined in Sahi scripts • Sahi scripts use Sahi APIs to interact with – Web Browsers – Desktop applications – Java applications – Flex Applications – Mobile Applications • Sample Sahi APIs: – Action APIs: _click, _setValue etc. – Accessor APIs: _textbox, _button etc.
  • 7. sahipro.com Q: How do we write these functions? • You can record your interactions using the Sahi Recorder • This can be converted into functions using the “Create Function” wizard in the Sahi Pro Editor
  • 8. sahipro.com Q: Record? Hmm… • If you have religious reasons to not use recorders, you can write the script manually too. – Record and playback is frowned upon because of inability to work with dynamic data, identifiers which are sub- optimal etc. – Good recorders and object spies can make object detection and interaction scripting easy. – Use Sahi’s recorder to your advantage. You can always fall back to manual scripting if needed.
  • 9. sahipro.com Q: How do I run Scenarios? • Scenarios can be executed from – Sahi Pro UI – Command line – ANT – Continuous Integration systems like Jenkins • Normally hundreds or thousands of Scenario files are grouped in a Suite file and executed as a batch.
  • 10. sahipro.com Suites – Suites are a group of scenarios/scripts. – Scenarios/scripts can be organized via tags. Selective tags can be run – Data can be passed to Scenarios/scripts. Same scenario can be run with multiple sets of input data.
  • 11. sahipro.com Suite Execution • Sahi Pro can distribute scenarios/scripts across machines for faster results – Say across 6 machines and finish off in 1/6th time • Sahi Pro can run browser scenarios/scripts in parallel on a single machine – 6 machines each running 5 instances of browsers can run 30 scripts simultaneously!
  • 12. sahipro.com Q: What about Reports? • Reports are automatically generated, without writing any code • Reports show  historical data of all suites and scripts run Can be drilled down to suite report Drill down further to script/scenario report Drill down to function call Drill down to step executed, along with screen shot if there is an error Drill down to exact line of code in Script.
  • 13. sahipro.com Q: Aren’t UI tests flaky? • Not with Sahi. UI tests break for 2 reasons – Brittle identification mechanisms – Waits or synchronization issues • Sahi uses smart identification mechanisms which are not easily affected by UI change – No XPaths • Sahi automatically waits for the right amount of time between steps – No wait statements required • Sahi tests have very few false positives or false negatives. When a script fails, you can say with confidence that the application has changed.
  • 14. sahipro.com Q: No XPaths, No waits? _navigateTo("http://mail.google.com"); _setValue(_emailbox("identifier"), "madeupname"); _click(_span("Next")); _setValue(_password("password"), "secret"); _click(_span("Next")); _click(_div("COMPOSE")); _setValue(_textarea("to"), "abc@example.com"); _setValue(_textbox("subjectbox"), "Hi there!"); _click(_image("Minimise")); _click(_link("/Google Account: /")); _click(_link("Sign out")); _click(_span(0, _near(_image("photo.jpg")))); _click(_submit("Remove an account")); _click(_div(0, _near(paragraph("Madeup Name")))); _click(_div("Yes, remove")); _assertVisible(_emailbox("identifier")); Here is a sample script, automating Gmail. Try it!
  • 15. sahipro.com Summary • Sahi scripts are easy to create and maintain • The tester concentrates on business functionality. Sahi does all the tooling parts. • Sahi scripts execute fast and reliably, helping agile teams get rapid feedback • Very little time is wasted in the automation process.
  • 16. sahipro.com Try Sahi Pro with a fully functional 1 month trial license Or play with the free Sahi Pro Starter www.sahipro.com @sahipro support@sahipro.com sales@sahipro.com