SlideShare une entreprise Scribd logo
1  sur  31
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

Contenu connexe

Tendances

Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Jason Conger
 

Tendances (20)

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

En vedette

Chapter 1 introduction to automation
Chapter 1   introduction  to automationChapter 1   introduction  to automation
Chapter 1 introduction to automation
Mohamad Sahiedan
 

En vedette (19)

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

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

Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
David O'Dowd
 
Selenium withnet
Selenium withnetSelenium withnet
Selenium withnet
Vlad Maniak
 

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

Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing Tool
 
Automation using Javascript
Automation using JavascriptAutomation using Javascript
Automation using Javascript
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
UI Automation Quirks
UI Automation QuirksUI Automation Quirks
UI Automation Quirks
 
Beginning jQuery Mobile
Beginning jQuery MobileBeginning jQuery Mobile
Beginning jQuery Mobile
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
Controlling the browser through python and selenium
Controlling the browser through python and seleniumControlling the browser through python and selenium
Controlling the browser through python and selenium
 
Interview question & Answers for 3+ years experienced in Selenium | LearningSlot
Interview question & Answers for 3+ years experienced in Selenium | LearningSlotInterview question & Answers for 3+ years experienced in Selenium | LearningSlot
Interview question & Answers for 3+ years experienced in Selenium | LearningSlot
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Selenium withnet
Selenium withnetSelenium withnet
Selenium withnet
 
Open Source Automation Tools That Really Work V2
Open Source Automation Tools That Really Work V2Open Source Automation Tools That Really Work V2
Open Source Automation Tools That Really Work V2
 
b4usolution_Appium Mobile Automation Testing Made Awesome
b4usolution_AppiumMobile Automation Testing Made Awesomeb4usolution_AppiumMobile Automation Testing Made Awesome
b4usolution_Appium Mobile Automation Testing Made Awesome
 
Testing on Android
Testing on AndroidTesting on Android
Testing on Android
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
 
Selenium training
Selenium trainingSelenium training
Selenium training
 
playwrightmeetup-14jan2021-210114173639.pdf
playwrightmeetup-14jan2021-210114173639.pdfplaywrightmeetup-14jan2021-210114173639.pdf
playwrightmeetup-14jan2021-210114173639.pdf
 
Selenium
SeleniumSelenium
Selenium
 
Creating Modern UI PowerBuilder Framework using native objects
Creating Modern UI PowerBuilder Framework using native objectsCreating Modern UI PowerBuilder Framework using native objects
Creating Modern UI PowerBuilder Framework using native objects
 

Plus de Trójmiejska Grupa Testerska

Plus de Trójmiejska Grupa Testerska (20)

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

Dernier

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Dernier (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
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
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 

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