Dev Dives: Boosting Productivity with Coded Automation and Autopilot™

UiPathCommunity 1,414 views 26 slides Aug 01, 2024
Slide 1
Slide 1 of 26
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26

About This Presentation

Don’t miss this opportunity to learn how C# Coded Automation and Autopilot for Testers can revolutionize your testing processes with advanced AI.

📕 Watch this webinar and discover:
AI-Powered Test Automation: Discover the capabilities of AI-powered test automation to enhance your testing pr...


Slide Content

Dev Dives
Go deeper, automate smarter

2
Boosting Productivity with
Coded Automation and
Autopilot
UiPath Dev Dives Webinar Series

3
About today’s meeting
•Enjoy the next 60 min packed with useful guidance,
demos, andlive Q&As.
•You’ll receive the recording, useful links, and deck via
your email.
•Get answers to your questions and challenges. Please
use the chat box for Qs during the presentation. Live
Q&A session at the end.
•You're encouraged to network and share your
LinkedIn/Twitter in the chat.
•Have fun! Feedback is welcome.

4
Meet today’s speakers:
Thomas Stocker
Product Management Director

UiPath Test Suite
Boosting Tester Productivity
with Coded Automation and Autopilot
Thomas Stocker, Director, Product Management

CODE
TEST
DEVELOPER
LOW-CODE

imp ort org .openq a.sele nium.B y;
imp ort org .openq a.sele nium.W ebDriv er;
imp ort org .openq a.sele nium.W ebElem ent;
imp ort org .openq a.sele nium.c hrome. Chrome Driver ;
imp ort org .openq a.sele nium.s upport .ui.Ex pected Condit ions ;
imp ort org .openq a.sele nium.s upport .ui.We bDrive rWait ;
pub lic cl ass Loa nAppli cation Automa tion{
pub lic st atic v oid ma in(Str ing[] arg s) {
// Set th e path to th e Chro me Web Driver execu table
Sys tem.se tPrope rty("web driver .chrom e.driv er", "path/ to/chr omedri ver.ex e");
// Initia lize t he Chr omeDri ver
Web Driver drive r = ne w Chr omeDri ver();
// Naviga te to the UIB ankloa n appl icatio n page
dri ver.ge t("h ttps:/ /uiban k.uipa th.com ");
try {
// Find a nd int eract with w eb ele ments as nee ded
Web Elemen tpro ducts = dri ver.fi ndElem ent(By .id(“P roduct s"));
pro ducts. click();
Web Elemen tloa ns = dri ver.fi ndElem ent(By .id(“L oans") );
loa ns.cli ck();
Thr ead.sl eep(50 00);
Web Elemen tapp lyForL oan= dri ver.fi ndElem ent(By .id(“App lyForL oan")) ;
app lyForL oan.cl ick();
Web Elemen tema il = dri ver.fi ndElem ent(By .id(“E mail") );
ema il.sen dKeys(“j ohn@do e.com" );
Web Elemen tloa nAmoun t= dri ver.fi ndElem ent(By .id(“Loa nAmoun t")) ;
loa nAmoun t.send Keys(“1 0000") ;
Web Elemen tloa nTerm= dri ver.fi ndElem ent(By .id(“Loa nTerm")) ;
loa nTerm. sendKe ys(“3 ");
Web Elemen tyea rlyInc ome= dri ver.fi ndElem ent(By .id(“Yea rlyInc ome")) ;
yea rlyInc ome.se ndKeys(“2 0000") ;
Web Elemen tage = dri ver.fi ndElem ent(By .id(“A ge"));
age .sendK eys(“4 2");
Web Elemen tsub mit = dri ver.fi ndElem ent(By .id(“Sub mitLoa n…") );
sub mit.cl ick();
Thr ead.sl eep(50 00);
Web Elemen tloa nRate= dri ver.fi ndElem ent(By .id(“loa nRate")) ;
Str ing act ualVal ue= loa nRate. getAtt ribute("v alue") ;
Ass ert.as sertEq uals(act ualVal ue, exp ectedV alue);
} c atch ( Except ion e) {
e.p rintSt ackTra ce();
} f inally {
// Close the br owser when d one
dri ver.qu it();
}
}
}
Plain Selenium Script

imp ort org .openq a.sele nium.B y;
imp ort org .openq a.sele nium.W ebDriv er;
imp ort org .openq a.sele nium.W ebElem ent;
imp ort org .openq a.sele nium.c hrome. Chrome Driver ;
imp ort org .openq a.sele nium.s upport .ui.Ex pected Condit ions ;
imp ort org .openq a.sele nium.s upport .ui.We bDrive rWait ;
pub lic cl ass Loa nAppli cation Automa tion{
pub lic st atic v oid ma in(Str ing[] arg s) {
// Set th e path to th e Chro me Web Driver execu table
Sys tem.se tPrope rty("web driver .chrom e.driv er", "path/ to/chr omedri ver.ex e");
// Initia lize t he Chr omeDri ver
Web Driver drive r = ne w Chr omeDri ver();
// Naviga te to the UIB ankloa n appl icatio n page
dri ver.ge t("h ttps:/ /uiban k.uipa th.com ");
try {
// Find a nd int eract with w eb ele ments as nee ded
Web Elemen tpro ducts = dri ver.fi ndElem ent(By .id(“P roduct s"));
pro ducts. click();
Web Elemen tloa ns = dri ver.fi ndElem ent(By .id(“L oans") );
loa ns.cli ck();
Thr ead.sl eep(50 00);
Web Elemen tapp lyForL oan= dri ver.fi ndElem ent(By .id(“App lyForL oan")) ;
app lyForL oan.cl ick();
Web Elemen tema il = dri ver.fi ndElem ent(By .id(“E mail") );
ema il.sen dKeys(“j ohn@do e.com" );
Web Elemen tloa nAmoun t= dri ver.fi ndElem ent(By .id(“Loa nAmoun t")) ;
loa nAmoun t.send Keys(“1 0000") ;
Web Elemen tloa nTerm= dri ver.fi ndElem ent(By .id(“Loa nTerm")) ;
loa nTerm. sendKe ys(“3 ");
Web Elemen tyea rlyInc ome= dri ver.fi ndElem ent(By .id(“Yea rlyInc ome")) ;
yea rlyInc ome.se ndKeys(“2 0000") ;
Web Elemen tage = dri ver.fi ndElem ent(By .id(“A ge"));
age .sendK eys(“4 2");
Web Elemen tsub mit = dri ver.fi ndElem ent(By .id(“Sub mitLoa n…") );
sub mit.cl ick();
Thr ead.sl eep(50 00);
Web Elemen tloa nRate= dri ver.fi ndElem ent(By .id(“loa nRate")) ;
Str ing act ualVal ue= loa nRate. getAtt ribute("v alue") ;
Ass ert.as sertEq uals(act ualVal ue, exp ectedV alue);
} c atch ( Except ion e) {
e.p rintSt ackTra ce();
} f inally {
// Close the br owser when d one
dri ver.qu it();
}
}
}
Plain Selenium Script
S TA BI L I T Y
FL EX I BI LI TY
M OD ULA RI TY
R EA DA BI L I T Y
M AI N TAI N AB I LI T Y

Linear Framework
S TA BI L I T Y
FL EX I BI LI TY
M AI N TAI N AB I LI T Y
M OD ULA RI TY
R EA DA BI L I T Y
Central Error Handling
Application Synchronization
Recovery

Linear Framework
Central Selector Repository
Reusable functions
Modular Framework
S TA BI L I T Y
FL EX I BI LI TY
M OD ULA RI TY
R EA DA BI L I T Y
M AI N TAI N AB I LI T Y

Linear Framework
Test Data Management
Data Driven Testing
Modular Framework
Data-Driven Framework S TA BI L I T Y
FL EX I BI LI TY
M OD ULA RI TY
R EA DA BI L I T Y
M AI N TAI N AB I LI T Y

Linear Framework
Reusable Keywords
Modular Framework
Data-Driven Framework
Keyword-Driven Framework
S TA BI L I T Y
FL EX I BI LI TY
M OD ULA RI TY
R EA DA BI L I T Y
M AI N TAI N AB I LI T Y

Keyword-Driven Framework
S TA BI L I T Y
FL EX I BI LI TY
M OD ULA RI TY
R EA DA BI L I T Y
M AI N TAI N AB I LI T Y

Keyword-Driven Framework

Linear Modular Data-Driven Keyword-Driven
Weeks
Months
Years
Enterprise E2e
5%
90%
50%
15%
It’s better to walk away,
than to tolerate nonsense
Stop
Automation LevelImplementation Effort

Linear Modular Data-Driven Keyword-Driven Enterprise E2e
Automation LevelImplementation Effort
5%
90%
50%
15%
Maintenance
High
Low
Aim to automatefastin the short
term, sustainit in the long term

Studio Desktop
Low-Code Automation
Technical
Testers
Use low-code tools to
build custom libraries
for testautomation
Studio Desktop
Coded Automation
Developer
Testers
Use source code editors
to write & debug complex
codefor testautomation
Studio Web
No-Code Automation
Business
Testers
Use no-code tools &
pre-build activities for
test automation
Testing takesa village ▸
Share & Reuse
Automation
Share & Reuse
Automation
Test Suite empowers different roles in testing for test automation

Generate automation in C#
Automate any UI
Automate Excel, Word, Mail…
Leverage the entire .netframework
Leverage the entire UiPath
framework capabilities

Demo

A collection of advanced AI capabilities
designed to boost the productivity of testers
throughout the entire testing lifecycle
Bringing the power of AI to every phase of testing
What is Autopilot for testers in a nutshell?

What are the 4 core pillars of Autopilot for testers?
AI-Powered
Generation
AI-Powered
Evaluation
AI-Powered
Automation
AI-Powered
Insights
Generate manual tests
from requirements and
supporting documents
Evaluate requirements for
quality aspects such as clarity,
completeness & consistency
Generate self-healing coded and
low-code test automation as well
as synthetic test data from text
Get real-time actionable
insights into your test results
without prebuilt templates

AI-Powered
Automation
Generate coded and
low-code test automation as well
as synthetic test data from text
Generate automation from manual
Test Cases
Generate code from text
Refactor existing code
Generate synthetic Test Data

Test Suite, the resilient testing solution powered by the UiPath Business Automation
Platform. Leverage production-grade, AI-powered, low-code, no-code, and coding tools
to automate testing for any technology while still managing testing your way.
Accelerating Value Delivery

24
Date/Time Topic
Next steps
Join the next Dev Dives sessions:
https://bit.ly/Dev_Dives_2024
Connect with Thomas on LinkedIn:
https://www.linkedin.com/in/thomas-stocker-161727133/?originalSubdomain=at
Download our Autopilot for Testers brochure:
https://view.highspot.com/viewer/66a8a38e4236cd9b498cbb7e
Join the next Dev Dives sessions: https://bit.ly/Dev_Dives_2024
August 29,
10:00 AM EST/
4:00PM CET
Enhance your productivity
withAutopilotfor developers
Register

25
Live Q&A

Thank you
for your participation!
Join us: community.uipath.com