SlideShare a Scribd company logo
1
Automate user’s actions with
Selenium, AutoIT and Sikuli
Mateusz Radkiewicz
Let’s automate simple web application!
• Selenium WebDriver
What about more complex actions?
• Selenium Actions, Javascript Executor
Need to interact with OS interface?
• Java.awt.Robot
Come to grips with MS Windows.
• AutoIT
Sky is the limit!
• Sikuli
Agenda
2
Selenium WebDriver
Basic Selenium WebDriver interactions:
• Open a web page
• Hit „back” and „forward” buttons
• Refresh a page
• Get current URL
• Delete or add a cookie
• Get the source of a page
• Switch to another tab/window
• Close the tab
• Click a link, button, checkbox,
radiobutton, image
• Enter text into textfield, textarea
• Get text from a label
• Get web page element’s attributes
• Check if element is displayed
• Get element’s location on the
screen
3
Control a browser Interact with a page
Selenium WebDriver
Let’s automate simple web application!
4
Selenium WebDriver
Amazon.com – simple test case
Objectives:
• Go to amazon.com
• Search for „octocopter”
• Get number of search results
5
Selenium WebDriver
Demo
6
Selenium WebDriver
What about more complex actions?
7
Selenium WebDriver
Selenium Actions
Simulate more advanced actions using mouse and keyboard:
• Click right mouse button
• Double click
• Move mouse over element
• Drag and drop
• Press combination of keys
• Hold Ctrl key and click elements on the list
8
Selenium WebDriver
Selenium Actions - example
Objectives:
• Select „Ford” and „Porsche”
• Move them to the right container
9
Resize text area by modifying „rows” attribute
Scroll the page left by 20 pixels
Enter text with JavaScript
Enable the button
Selenium WebDriver
Javascript Executor – a little bit of magic
A simple way to execute JavaScript code directly from Selenium test
10
Java.awt.Robot
Need to interact with OS interface?
Robot lets you press the keys and click on the coordinates on a screen.
11
Java.awt.Robot
Robot - example
Objectives:
• Open TED.com page
• Press Ctrl+F to enable search
• Search for „gems” word
12
AutoIT
Come to grips with MS Windows
13
AutoIT
Features
• Simple scripting language for automating Windows GUI
• Interacts with all standard windows controls
• Simulates keyboard and mouse actions
• Suitable for general scripting and creating simple applications
• Scripts can be compiled into standalone *.exe
• Easy to learn
• Freeware
14
AutoIT
File upload with Selenium and AutoIT - example
Objectives:
• Go to „https://careers.kainos.com/members/”
• Click „Upload a CV …” button
• Enter a path to local file and click „Open”
15
AutoIT
Step 1: Inspect the window
Use „AutoIT Window Info” tool to identify the window, field and button.
16
AutoIT
Step 2: Write the script in „SciTE” editor
17
AutoIT
Step 3: Compile the code
18
Step 4: Include AutoIT *.exe into Selenium test
• Open „SciTE” menu Tools > Compile
• Enter location of output *.exe file
• Click „Compile Script”
AutoIT
Demo
19
Sikuli
Sky is the limit!
20
Sikuli
Features
• Lets you automate anything that is displayed on the screen
• Uses image recognition algorithms to identify GUI components
• Can reach anything that’s out of range for other tools
• No need to have access to application’s structure
• Cross-platform
• Freeware
• Provides own IDE (Jython)
• Provides libraries for development in Java
• Extremely easy to create automatic test, problematic to maintain it
21
Sikuli
File download with Selenium and Sikuli - example
Objectives:
• Go to „https://code.google.com/p/altdrag”
• Click „Download installer”
• Click „Save File” button
• Click „Save” button in the next window
• Press Win+D to minimize all windows
• Verify downloaded on the desktop
• Delete above file
22
Sikuli
Step 1: Download and install Sikuli
• http://www.sikuli.org
23
Step 2: Include Sikuli in your project
• Add „sikuli-java.jar” library in your IDE
Step 3: Create screenshots
Sikuli
Step 4: Write the script
24
Sikuli
Demo
25
Sikuli
Sikuli IDE
26
Sikuli
Matching Preview
27
Sikuli
Let’s rock!
Objectives:
• Run the script on Windows
• Switch to Ubuntu on VMware
• Open Firefox
• Navigate to Rio de Janeiro
on Google Maps
• Collapse side panel
• Enable Google Street View
on Astoria Palace
• Look around Copacapana
until you find a girl on a bicycle
• Zoom into the girl 28
Sikuli
Sikuli IDE - demo
29
30
31

More Related Content

PPTX
Sikuli Slides
PPTX
Sikuli_Demo.pptx
PDF
Practical Sikuli: using screenshots for GUI automation and testing
PPTX
Exploring the internal state of user interfaces using sikuli
PPTX
sikuli final
PDF
Sikuli script
PPSX
Sikuli script
PDF
Sikuli Slides
Sikuli_Demo.pptx
Practical Sikuli: using screenshots for GUI automation and testing
Exploring the internal state of user interfaces using sikuli
sikuli final
Sikuli script
Sikuli script

What's hot (20)

PPTX
Introduction_to_android_and_android_studio
PPTX
Visual Studio tips and tricks to boost your productivity – Unite Copenhagen 2019
PPTX
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
PDF
#Code2Create:: Introduction to App Development in Flutter with Dart
PDF
Introduction to Android Studio
PPTX
Introduction to android studio 2.0 and data binding library
PDF
Generating efficient APK by Reducing Size and Improving Performance
PDF
Swift
PPTX
Android Studio vs Eclipse: What are the main differences?
PPTX
Basic iOS Training with SWIFT - Part 1
PDF
Introduction to android (and mobile) game development
PDF
Making apps for the Apple TV
PPTX
Android Fish Game Development
PDF
XCUITest Introduction: Test Automation University
PPTX
Options for Entity interaction - Unite Copenhagen 2019
PPTX
Creating the first app with android studio
PDF
MOPCON 2014 - Best software architecture in app development
PPSX
Swt vs swing
PDF
Intro to Building Android Games using libGDX
PPTX
Basic iOS Training with SWIFT - Part 4
Introduction_to_android_and_android_studio
Visual Studio tips and tricks to boost your productivity – Unite Copenhagen 2019
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
#Code2Create:: Introduction to App Development in Flutter with Dart
Introduction to Android Studio
Introduction to android studio 2.0 and data binding library
Generating efficient APK by Reducing Size and Improving Performance
Swift
Android Studio vs Eclipse: What are the main differences?
Basic iOS Training with SWIFT - Part 1
Introduction to android (and mobile) game development
Making apps for the Apple TV
Android Fish Game Development
XCUITest Introduction: Test Automation University
Options for Entity interaction - Unite Copenhagen 2019
Creating the first app with android studio
MOPCON 2014 - Best software architecture in app development
Swt vs swing
Intro to Building Android Games using libGDX
Basic iOS Training with SWIFT - Part 4
Ad

Viewers also liked (19)

PDF
Streamline RJS Document Management with AutoMate
PPTX
How to Develop for Data Transformation with FME Server
PPT
Software Quality Assurance(Sqa) automated software testing
PPTX
Small Business Automation, More Than a CRM
PPTX
Test automation with cucumber jvm
PPTX
Big Data – Tap into Cloud Infrastructure with FME
PDF
Magento 2 integration tests
ODP
Buildbot
PPTX
How to Automate Practically Anything with FME Server (Technical Webinar)
PDF
20160331_Automate the boring stuff with python
PPTX
Nascenia: Road to Software Industry
PPTX
Using FME to Automate Lidar QA\QC Processes
PPTX
Business Process Management Software
PDF
Discutindo DevOps na pratica, por Danilo Sato
PDF
Automated vs manual testing
PDF
Pavol Adamcak - How do we fully automate Google Shopping campaigns
PPTX
Growth Hacking: How I Automated 45K+ Follower Instagram Profiles
PPT
Chapter 1 introduction to automation
PDF
Office automation system
Streamline RJS Document Management with AutoMate
How to Develop for Data Transformation with FME Server
Software Quality Assurance(Sqa) automated software testing
Small Business Automation, More Than a CRM
Test automation with cucumber jvm
Big Data – Tap into Cloud Infrastructure with FME
Magento 2 integration tests
Buildbot
How to Automate Practically Anything with FME Server (Technical Webinar)
20160331_Automate the boring stuff with python
Nascenia: Road to Software Industry
Using FME to Automate Lidar QA\QC Processes
Business Process Management Software
Discutindo DevOps na pratica, por Danilo Sato
Automated vs manual testing
Pavol Adamcak - How do we fully automate Google Shopping campaigns
Growth Hacking: How I Automated 45K+ Follower Instagram Profiles
Chapter 1 introduction to automation
Office automation system
Ad

Similar to Mateusz Radkiewicz - "Automate user's actions with Selenium, Auto it and Sikuli" (20)

PPTX
Selenium- A Software Testing Tool
PPTX
Automation using Javascript
PPTX
Android workshop
PDF
Desktop apps with node webkit
PPTX
UI Automation Quirks
KEY
Beginning jQuery Mobile
PDF
jQuery: The World's Most Popular JavaScript Library Comes to XPages
PPTX
Controlling the browser through python and selenium
PDF
Interview question & Answers for 3+ years experienced in Selenium | LearningSlot
PPTX
Ios driver presentation copy
PPT
Android Application Development Using Java
PPTX
Selenium withnet
PPTX
Open Source Automation Tools That Really Work V2
PPTX
b4usolution_Appium Mobile Automation Testing Made Awesome
PDF
Testing on Android
PPTX
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
PPTX
Selenium training
PDF
playwrightmeetup-14jan2021-210114173639.pdf
PDF
Creating Modern UI PowerBuilder Framework using native objects
Selenium- A Software Testing Tool
Automation using Javascript
Android workshop
Desktop apps with node webkit
UI Automation Quirks
Beginning jQuery Mobile
jQuery: The World's Most Popular JavaScript Library Comes to XPages
Controlling the browser through python and selenium
Interview question & Answers for 3+ years experienced in Selenium | LearningSlot
Ios driver presentation copy
Android Application Development Using Java
Selenium withnet
Open Source Automation Tools That Really Work V2
b4usolution_Appium Mobile Automation Testing Made Awesome
Testing on Android
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Selenium training
playwrightmeetup-14jan2021-210114173639.pdf
Creating Modern UI PowerBuilder Framework using native objects

More from Trójmiejska Grupa Testerska (20)

PPTX
Rafal prezentacja testowanie ai
PPTX
Tgt 23 przemyslaw_pradzynski
PDF
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
PPTX
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
PPTX
TGT#20 - Ataki XSS - Robert Charewicz
PDF
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
PPTX
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
PPTX
TGT#19 - 3 seconds or less - Piotr Liss
PPTX
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
PPTX
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
PPTX
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
PDF
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
PPTX
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
PPT
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
PPTX
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
PPTX
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
PPTX
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
PPTX
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
PPTX
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
PPTX
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
Rafal prezentacja testowanie ai
Tgt 23 przemyslaw_pradzynski
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#19 - 3 seconds or less - Piotr Liss
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...

Recently uploaded (20)

PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
assetexplorer- product-overview - presentation
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Introduction to Artificial Intelligence
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Computer Software and OS of computer science of grade 11.pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Design an Analysis of Algorithms I-SECS-1021-03
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Digital Systems & Binary Numbers (comprehensive )
wealthsignaloriginal-com-DS-text-... (1).pdf
Digital Strategies for Manufacturing Companies
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Reimagine Home Health with the Power of Agentic AI​
Designing Intelligence for the Shop Floor.pdf
assetexplorer- product-overview - presentation
L1 - Introduction to python Backend.pptx
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Introduction to Artificial Intelligence
2025 Textile ERP Trends: SAP, Odoo & Oracle
Computer Software and OS of computer science of grade 11.pptx

Mateusz Radkiewicz - "Automate user's actions with Selenium, Auto it and Sikuli"

  • 1. 1 Automate user’s actions with Selenium, AutoIT and Sikuli Mateusz Radkiewicz
  • 2. Let’s automate simple web application! • Selenium WebDriver What about more complex actions? • Selenium Actions, Javascript Executor Need to interact with OS interface? • Java.awt.Robot Come to grips with MS Windows. • AutoIT Sky is the limit! • Sikuli Agenda 2
  • 3. Selenium WebDriver Basic Selenium WebDriver interactions: • Open a web page • Hit „back” and „forward” buttons • Refresh a page • Get current URL • Delete or add a cookie • Get the source of a page • Switch to another tab/window • Close the tab • Click a link, button, checkbox, radiobutton, image • Enter text into textfield, textarea • Get text from a label • Get web page element’s attributes • Check if element is displayed • Get element’s location on the screen 3 Control a browser Interact with a page
  • 4. Selenium WebDriver Let’s automate simple web application! 4
  • 5. Selenium WebDriver Amazon.com – simple test case Objectives: • Go to amazon.com • Search for „octocopter” • Get number of search results 5
  • 7. Selenium WebDriver What about more complex actions? 7
  • 8. Selenium WebDriver Selenium Actions Simulate more advanced actions using mouse and keyboard: • Click right mouse button • Double click • Move mouse over element • Drag and drop • Press combination of keys • Hold Ctrl key and click elements on the list 8
  • 9. Selenium WebDriver Selenium Actions - example Objectives: • Select „Ford” and „Porsche” • Move them to the right container 9
  • 10. Resize text area by modifying „rows” attribute Scroll the page left by 20 pixels Enter text with JavaScript Enable the button Selenium WebDriver Javascript Executor – a little bit of magic A simple way to execute JavaScript code directly from Selenium test 10
  • 11. Java.awt.Robot Need to interact with OS interface? Robot lets you press the keys and click on the coordinates on a screen. 11
  • 12. Java.awt.Robot Robot - example Objectives: • Open TED.com page • Press Ctrl+F to enable search • Search for „gems” word 12
  • 13. AutoIT Come to grips with MS Windows 13
  • 14. AutoIT Features • Simple scripting language for automating Windows GUI • Interacts with all standard windows controls • Simulates keyboard and mouse actions • Suitable for general scripting and creating simple applications • Scripts can be compiled into standalone *.exe • Easy to learn • Freeware 14
  • 15. AutoIT File upload with Selenium and AutoIT - example Objectives: • Go to „https://careers.kainos.com/members/” • Click „Upload a CV …” button • Enter a path to local file and click „Open” 15
  • 16. AutoIT Step 1: Inspect the window Use „AutoIT Window Info” tool to identify the window, field and button. 16
  • 17. AutoIT Step 2: Write the script in „SciTE” editor 17
  • 18. AutoIT Step 3: Compile the code 18 Step 4: Include AutoIT *.exe into Selenium test • Open „SciTE” menu Tools > Compile • Enter location of output *.exe file • Click „Compile Script”
  • 20. Sikuli Sky is the limit! 20
  • 21. Sikuli Features • Lets you automate anything that is displayed on the screen • Uses image recognition algorithms to identify GUI components • Can reach anything that’s out of range for other tools • No need to have access to application’s structure • Cross-platform • Freeware • Provides own IDE (Jython) • Provides libraries for development in Java • Extremely easy to create automatic test, problematic to maintain it 21
  • 22. Sikuli File download with Selenium and Sikuli - example Objectives: • Go to „https://code.google.com/p/altdrag” • Click „Download installer” • Click „Save File” button • Click „Save” button in the next window • Press Win+D to minimize all windows • Verify downloaded on the desktop • Delete above file 22
  • 23. Sikuli Step 1: Download and install Sikuli • http://www.sikuli.org 23 Step 2: Include Sikuli in your project • Add „sikuli-java.jar” library in your IDE Step 3: Create screenshots
  • 24. Sikuli Step 4: Write the script 24
  • 28. Sikuli Let’s rock! Objectives: • Run the script on Windows • Switch to Ubuntu on VMware • Open Firefox • Navigate to Rio de Janeiro on Google Maps • Collapse side panel • Enable Google Street View on Astoria Palace • Look around Copacapana until you find a girl on a bicycle • Zoom into the girl 28
  • 30. 30
  • 31. 31