SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Test Automation
Puzzlers
WAT?
Ciklum
https://www.facebook.com/yaroslav.pernerovsky
Sergey
Pirogov
Yaroslav
Pernerovsky
https://www.facebook.com/spirogov
GlobalLogic
driver.get("google.com");
What will selenium do?
A: Open google.com B: Sent GET request
C: NullPointerException D: WebDriverException
org.openqa.selenium.WebDriverException: unknown
error: unhandled inspector error: {"code":-32000,
"message":"Cannot navigate to invalid URL"}
(Session info: chrome=60.0.3112.113)
(Driver info: chromedriver=2.32.498550
(9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platfo
rm=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The
server did not provide any stacktrace
information)
Command duration or timeout: 0 milliseconds
...
People says that Selenide is better
What will selenide do?
A: Open google.com B: Wait four seconds
C: NullPointerException D: WebDriverException
selenide.open("google.com");
Exception in thread "main"
org.openqa.selenium.WebDriverException: unknown error: unhandled
inspector error: {"code":-32000,"message":"Cannot navigate to
invalid URL"}
(Session info: chrome=61.0.3163.91)
(Driver info: chromedriver=2.32.498513
(2c63aa53b2c658de596ed550eb5267ec5967b351),platform=Linux 4.10.0-
35-generic x86_64) (WARNING: The server did not provide any
stacktrace information)
Command duration or timeout: 14 milliseconds
Build info: version: '3.4.0', revision: 'unknown', time:
'unknown'
System info: host: 'sergey-asus', ip: '127.0.1.1', os.name:
'Linux', os.arch: 'amd64', os.version: '4.10.0-35-generic',
java.version: '1.8.0_144'
Driver info: org.openqa.selenium.chrome.ChromeDriver
selenide.url: http://localhost:8080google.com
What will happen?
A: Set value to 1 B: NoSuchOptionException
C: NullPointerException D: InvalidElementStateException
<select id=”listBox”>
<option value=’2’>1</option>
</select>
$("#listBox").setValue("1");
Exception in thread "main"
org.openqa.selenium.InvalidElementStateException: invalid element
state: Element must be user-editable in order to clear it.
(Session info: chrome=60.0.3112.113)
(Driver info: chromedriver=2.32.498537
(cb2f855cbc7b82e20387eaf9a43f6b99b6105061),platform=Mac OS X
10.12.6 x86_64) (WARNING: The server did not provide any
stacktrace information)
Command duration or timeout: 8 milliseconds
What will be printed in console?
B: Element page lost
C: Nothing D: WrongLocatorException
try{
$("element").waitUntil(appear, 3000);}
catch(NoSuchElementException ex){
Assert.fail("Element page lost");}
A: NoSuchElementException
Exception in thread "main" Element not found {#bad}
Expected: visible
Screenshot:
file:/home/sergey/Github/demo/build/reports/tests/1505985705319.0
.png
Timeout: 3.500 s.
Caused by: NoSuchElementException: no such element: Unable to
locate element: {"method":"css selector","selector":"#bad"}
try{
$(“element”).waitUntil(appear, 3000);
}catch(UIAssertionError ex){
Assert.fail(“Element page lost”);
}
Which text you got?
A: “Text with spaces” B: “Text with spaces”
C: Depends on browser D: “h1”
<h1>
Text with spaces
</h1>
findElement(By.tagName("h1")).getText();
element.getAttribute("textContent");
driver.manage().timeouts()
.implicitlyWait(10,TimeUnit.SECONDS);
wait = new WebDriverWait(driver,5);
wait.until(ExpectedConditions
.presenceOfElementLocated(locator));
How long will Selenium wait?
A: 5 B: 15
C: 10 D: 0
Implicit Wait hereExplicit Wait here
Which exception will be thrown?
B: None
C: NoSuchElement D: Both
A: Timeout
driver.manage().timeouts()
.implicitlyWait(10,TimeUnit.SECONDS);
wait = new WebDriverWait(driver,5);
wait.until(ExpectedConditions
.presenceOfElementLocated(locator));
Which is faster?
A: By.id B:By.Xpath
C: They are equal D: By.css
driver.findElement(By.id("someId"));
driver.findElement(By.cssSelector("#someId"));
static id(id) {
return By.css('*[id="'+ escapeCss(id) +'"]');
}
public WebElement findElement(SearchContext context) {
if (context instanceof FindsById)
return ((FindsById) context).findElementById(id);
return ((FindsByXPath)context)
.findElementByXPath(".//*[@id = '" + id + "']");
}
How long will we wait here?
A: 7 B: 12
C: 4 D: 3
driver.manage()
.timeouts().implicitlyWait(3,SECONDS);
$("wrongId");
driver.findElement(By.id("wrongId"));
What will happen?
A: Test will pass B: Assert fail
C:NullPointerException D: NoSuchElement
class Page{ WebElement header; }
driver.get(“http://google.com”);
Page p = initElements(driver,Page.class);
Assert(p.header.text() == “Google”);
INFO: Detected dialect: OSSException in thread
"main"
org.openqa.selenium.NoSuchElementException: no
such element: Unable to locate element:
{"method":"name","selector":"header"} (Session
info: chrome=60.0.3112.113) (Driver info:
chromedriver=2.32.498537
(cb2f855cbc7b82e20387eaf9a43f6b99b6105061),platf
orm=Mac OS X 10.12.6 x86_64)
...
What will happen?
A: HateJSException B: WebDriverException
C: Print Text D: Object
console.log($('div').getText());
$(‘div’).getText()
.then(function(text) { console.log(text); })
Thank you!
https://www.facebook.com/yaroslav.pernerovskyhttps://www.facebook.com/spirogov

Weitere ähnliche Inhalte

Was ist angesagt?

Cross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App EngineCross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App EngineAndy McKay
 
Infinum Android Talks #16 - Retrofit 2 by Kristijan Jurkovic
Infinum Android Talks #16 - Retrofit 2 by Kristijan JurkovicInfinum Android Talks #16 - Retrofit 2 by Kristijan Jurkovic
Infinum Android Talks #16 - Retrofit 2 by Kristijan JurkovicInfinum
 
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Morocco 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Morocco 201910 Excellent Ways to Secure Your Spring Boot Application - Devoxx Morocco 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Morocco 2019Matt Raible
 
Metrics-Driven Engineering at Etsy
Metrics-Driven Engineering at EtsyMetrics-Driven Engineering at Etsy
Metrics-Driven Engineering at EtsyMike Brittain
 
To Err Is Human
To Err Is HumanTo Err Is Human
To Err Is HumanAlex Liu
 
The Screenplay Pattern: Better Interactions for Better Automation
The Screenplay Pattern: Better Interactions for Better AutomationThe Screenplay Pattern: Better Interactions for Better Automation
The Screenplay Pattern: Better Interactions for Better AutomationApplitools
 
Correcting Common .NET Async/Await Mistakes
Correcting Common .NET Async/Await MistakesCorrecting Common .NET Async/Await Mistakes
Correcting Common .NET Async/Await MistakesBrandon Minnick, MBA
 
Coolblue - Behind the Scenes Continuous Integration & Deployment
Coolblue - Behind the Scenes Continuous Integration & DeploymentCoolblue - Behind the Scenes Continuous Integration & Deployment
Coolblue - Behind the Scenes Continuous Integration & DeploymentMatthew Hodgkins
 
Scraping recalcitrant web sites with Python & Selenium
Scraping recalcitrant web sites with Python & SeleniumScraping recalcitrant web sites with Python & Selenium
Scraping recalcitrant web sites with Python & SeleniumRoger Barnes
 
Multi Client Development with Spring - Josh Long
Multi Client Development with Spring - Josh Long Multi Client Development with Spring - Josh Long
Multi Client Development with Spring - Josh Long jaxconf
 
Learning Java 4 – Swing, SQL, and Security API
Learning Java 4 – Swing, SQL, and Security APILearning Java 4 – Swing, SQL, and Security API
Learning Java 4 – Swing, SQL, and Security APIcaswenson
 
Callbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptCallbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptŁukasz Kużyński
 
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 201910 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019Matt Raible
 
Selenium Sandwich Part 1: Data driven Selenium
Selenium Sandwich Part 1: Data driven Selenium Selenium Sandwich Part 1: Data driven Selenium
Selenium Sandwich Part 1: Data driven Selenium Workhorse Computing
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJSPat Cito
 
2011/1/27 Amazon Route53 使ってみた@第1回クラウド女子会
2011/1/27 Amazon Route53 使ってみた@第1回クラウド女子会2011/1/27 Amazon Route53 使ってみた@第1回クラウド女子会
2011/1/27 Amazon Route53 使ってみた@第1回クラウド女子会Miki Takata
 
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)Domenic Denicola
 

Was ist angesagt? (20)

Cross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App EngineCross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App Engine
 
Infinum Android Talks #16 - Retrofit 2 by Kristijan Jurkovic
Infinum Android Talks #16 - Retrofit 2 by Kristijan JurkovicInfinum Android Talks #16 - Retrofit 2 by Kristijan Jurkovic
Infinum Android Talks #16 - Retrofit 2 by Kristijan Jurkovic
 
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Morocco 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Morocco 201910 Excellent Ways to Secure Your Spring Boot Application - Devoxx Morocco 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Morocco 2019
 
Metrics-Driven Engineering at Etsy
Metrics-Driven Engineering at EtsyMetrics-Driven Engineering at Etsy
Metrics-Driven Engineering at Etsy
 
To Err Is Human
To Err Is HumanTo Err Is Human
To Err Is Human
 
The Screenplay Pattern: Better Interactions for Better Automation
The Screenplay Pattern: Better Interactions for Better AutomationThe Screenplay Pattern: Better Interactions for Better Automation
The Screenplay Pattern: Better Interactions for Better Automation
 
Correcting Common .NET Async/Await Mistakes
Correcting Common .NET Async/Await MistakesCorrecting Common .NET Async/Await Mistakes
Correcting Common .NET Async/Await Mistakes
 
Coolblue - Behind the Scenes Continuous Integration & Deployment
Coolblue - Behind the Scenes Continuous Integration & DeploymentCoolblue - Behind the Scenes Continuous Integration & Deployment
Coolblue - Behind the Scenes Continuous Integration & Deployment
 
Scraping recalcitrant web sites with Python & Selenium
Scraping recalcitrant web sites with Python & SeleniumScraping recalcitrant web sites with Python & Selenium
Scraping recalcitrant web sites with Python & Selenium
 
Multi Client Development with Spring - Josh Long
Multi Client Development with Spring - Josh Long Multi Client Development with Spring - Josh Long
Multi Client Development with Spring - Josh Long
 
Real
RealReal
Real
 
Learning Java 4 – Swing, SQL, and Security API
Learning Java 4 – Swing, SQL, and Security APILearning Java 4 – Swing, SQL, and Security API
Learning Java 4 – Swing, SQL, and Security API
 
Callbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptCallbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascript
 
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 201910 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
10 Excellent Ways to Secure Your Spring Boot Application - Devoxx Belgium 2019
 
Selenium Sandwich Part 1: Data driven Selenium
Selenium Sandwich Part 1: Data driven Selenium Selenium Sandwich Part 1: Data driven Selenium
Selenium Sandwich Part 1: Data driven Selenium
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Your code are my tests
Your code are my testsYour code are my tests
Your code are my tests
 
I hate mocking
I hate mockingI hate mocking
I hate mocking
 
2011/1/27 Amazon Route53 使ってみた@第1回クラウド女子会
2011/1/27 Amazon Route53 使ってみた@第1回クラウド女子会2011/1/27 Amazon Route53 使ってみた@第1回クラウド女子会
2011/1/27 Amazon Route53 使ってみた@第1回クラウド女子会
 
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)
 

Andere mochten auch

QA Club Kiev #19 - ISTQB to be or not to be
QA Club Kiev #19 - ISTQB to be or not to beQA Club Kiev #19 - ISTQB to be or not to be
QA Club Kiev #19 - ISTQB to be or not to beQA Club Kiev
 
QA Fest 2017. Игорь Хрол. Кто должен писать автоматические тесты?
QA Fest 2017. Игорь Хрол. Кто должен писать автоматические тесты?QA Fest 2017. Игорь Хрол. Кто должен писать автоматические тесты?
QA Fest 2017. Игорь Хрол. Кто должен писать автоматические тесты?QAFest
 
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQAFest
 
QA Fest 2017. Mark Winteringham. The automated acceptance testing paradox
QA Fest 2017. Mark Winteringham. The automated acceptance testing paradoxQA Fest 2017. Mark Winteringham. The automated acceptance testing paradox
QA Fest 2017. Mark Winteringham. The automated acceptance testing paradoxQAFest
 
QA Fest 2017. Денис Жевнер. Вы думали ваши секреты в безопасности? Вы ошибались
QA Fest 2017. Денис Жевнер. Вы думали ваши секреты в безопасности? Вы ошибалисьQA Fest 2017. Денис Жевнер. Вы думали ваши секреты в безопасности? Вы ошибались
QA Fest 2017. Денис Жевнер. Вы думали ваши секреты в безопасности? Вы ошибалисьQAFest
 
QA Fest 2017. Никита Галкин. Контрактное тестирование на примерах или Contrac...
QA Fest 2017. Никита Галкин. Контрактное тестирование на примерах или Contrac...QA Fest 2017. Никита Галкин. Контрактное тестирование на примерах или Contrac...
QA Fest 2017. Никита Галкин. Контрактное тестирование на примерах или Contrac...QAFest
 

Andere mochten auch (6)

QA Club Kiev #19 - ISTQB to be or not to be
QA Club Kiev #19 - ISTQB to be or not to beQA Club Kiev #19 - ISTQB to be or not to be
QA Club Kiev #19 - ISTQB to be or not to be
 
QA Fest 2017. Игорь Хрол. Кто должен писать автоматические тесты?
QA Fest 2017. Игорь Хрол. Кто должен писать автоматические тесты?QA Fest 2017. Игорь Хрол. Кто должен писать автоматические тесты?
QA Fest 2017. Игорь Хрол. Кто должен писать автоматические тесты?
 
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестирования
 
QA Fest 2017. Mark Winteringham. The automated acceptance testing paradox
QA Fest 2017. Mark Winteringham. The automated acceptance testing paradoxQA Fest 2017. Mark Winteringham. The automated acceptance testing paradox
QA Fest 2017. Mark Winteringham. The automated acceptance testing paradox
 
QA Fest 2017. Денис Жевнер. Вы думали ваши секреты в безопасности? Вы ошибались
QA Fest 2017. Денис Жевнер. Вы думали ваши секреты в безопасности? Вы ошибалисьQA Fest 2017. Денис Жевнер. Вы думали ваши секреты в безопасности? Вы ошибались
QA Fest 2017. Денис Жевнер. Вы думали ваши секреты в безопасности? Вы ошибались
 
QA Fest 2017. Никита Галкин. Контрактное тестирование на примерах или Contrac...
QA Fest 2017. Никита Галкин. Контрактное тестирование на примерах или Contrac...QA Fest 2017. Никита Галкин. Контрактное тестирование на примерах или Contrac...
QA Fest 2017. Никита Галкин. Контрактное тестирование на примерах или Contrac...
 

Ähnlich wie Automation puzzlers

State of the resource timing api
State of the resource timing apiState of the resource timing api
State of the resource timing apiAaron Peters
 
Spicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QASpicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QAAlban Gérôme
 
Updates since :has() was enabled in Chrome
Updates since :has() was enabled in ChromeUpdates since :has() was enabled in Chrome
Updates since :has() was enabled in ChromeIgalia
 
Chromium Embedded Framework + Go at Brooklyn JS
Chromium Embedded Framework + Go at Brooklyn JSChromium Embedded Framework + Go at Brooklyn JS
Chromium Embedded Framework + Go at Brooklyn JSquirkey
 
Testing at Both Ends of the Triangle
Testing at Both Ends of the TriangleTesting at Both Ends of the Triangle
Testing at Both Ends of the TriangleDerek Graham
 
Going Offline with Gears And GWT
Going Offline with Gears And GWTGoing Offline with Gears And GWT
Going Offline with Gears And GWTtom.peck
 
Detecting headless browsers
Detecting headless browsersDetecting headless browsers
Detecting headless browsersSergey Shekyan
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instrumentsArtem Nagornyi
 
Naive application development
Naive application developmentNaive application development
Naive application developmentShaka Huang
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETBen Hall
 
Frameworkless Web Development in Clojure
Frameworkless Web Development in ClojureFrameworkless Web Development in Clojure
Frameworkless Web Development in ClojureKungi2342
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Startedguest1af57e
 
Drive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteerDrive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteerVodqaBLR
 
10 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 2020
10 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 202010 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 2020
10 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 2020Matt Raible
 
High Performance Snippets
High Performance SnippetsHigh Performance Snippets
High Performance SnippetsSteve Souders
 
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsMeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsSimo Ahava
 

Ähnlich wie Automation puzzlers (20)

huhu
huhuhuhu
huhu
 
State of the resource timing api
State of the resource timing apiState of the resource timing api
State of the resource timing api
 
KISS Automation.py
KISS Automation.pyKISS Automation.py
KISS Automation.py
 
Spicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QASpicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QA
 
Updates since :has() was enabled in Chrome
Updates since :has() was enabled in ChromeUpdates since :has() was enabled in Chrome
Updates since :has() was enabled in Chrome
 
Chromium Embedded Framework + Go at Brooklyn JS
Chromium Embedded Framework + Go at Brooklyn JSChromium Embedded Framework + Go at Brooklyn JS
Chromium Embedded Framework + Go at Brooklyn JS
 
Testing at Both Ends of the Triangle
Testing at Both Ends of the TriangleTesting at Both Ends of the Triangle
Testing at Both Ends of the Triangle
 
Going Offline with Gears And GWT
Going Offline with Gears And GWTGoing Offline with Gears And GWT
Going Offline with Gears And GWT
 
Detecting headless browsers
Detecting headless browsersDetecting headless browsers
Detecting headless browsers
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
 
Naive application development
Naive application developmentNaive application development
Naive application development
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NET
 
Gems Of Selenium
Gems Of SeleniumGems Of Selenium
Gems Of Selenium
 
Frameworkless Web Development in Clojure
Frameworkless Web Development in ClojureFrameworkless Web Development in Clojure
Frameworkless Web Development in Clojure
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
 
Drive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteerDrive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteer
 
10 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 2020
10 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 202010 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 2020
10 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 2020
 
Night Watch with QA
Night Watch with QANight Watch with QA
Night Watch with QA
 
High Performance Snippets
High Performance SnippetsHigh Performance Snippets
High Performance Snippets
 
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsMeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
MeasureCamp IX (London) - 10 JavaScript Concepts for web analysts
 

Kürzlich hochgeladen

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-learnAmarnathKambale
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%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 masabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%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 Bahrainmasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 

Kürzlich hochgeladen (20)

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
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%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
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%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
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 

Automation puzzlers

  • 4. driver.get("google.com"); What will selenium do? A: Open google.com B: Sent GET request C: NullPointerException D: WebDriverException
  • 5. org.openqa.selenium.WebDriverException: unknown error: unhandled inspector error: {"code":-32000, "message":"Cannot navigate to invalid URL"} (Session info: chrome=60.0.3112.113) (Driver info: chromedriver=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platfo rm=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 0 milliseconds ...
  • 6. People says that Selenide is better
  • 7. What will selenide do? A: Open google.com B: Wait four seconds C: NullPointerException D: WebDriverException selenide.open("google.com");
  • 8. Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot navigate to invalid URL"} (Session info: chrome=61.0.3163.91) (Driver info: chromedriver=2.32.498513 (2c63aa53b2c658de596ed550eb5267ec5967b351),platform=Linux 4.10.0- 35-generic x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 14 milliseconds Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' System info: host: 'sergey-asus', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.10.0-35-generic', java.version: '1.8.0_144' Driver info: org.openqa.selenium.chrome.ChromeDriver selenide.url: http://localhost:8080google.com
  • 9. What will happen? A: Set value to 1 B: NoSuchOptionException C: NullPointerException D: InvalidElementStateException <select id=”listBox”> <option value=’2’>1</option> </select> $("#listBox").setValue("1");
  • 10. Exception in thread "main" org.openqa.selenium.InvalidElementStateException: invalid element state: Element must be user-editable in order to clear it. (Session info: chrome=60.0.3112.113) (Driver info: chromedriver=2.32.498537 (cb2f855cbc7b82e20387eaf9a43f6b99b6105061),platform=Mac OS X 10.12.6 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 8 milliseconds
  • 11. What will be printed in console? B: Element page lost C: Nothing D: WrongLocatorException try{ $("element").waitUntil(appear, 3000);} catch(NoSuchElementException ex){ Assert.fail("Element page lost");} A: NoSuchElementException
  • 12. Exception in thread "main" Element not found {#bad} Expected: visible Screenshot: file:/home/sergey/Github/demo/build/reports/tests/1505985705319.0 .png Timeout: 3.500 s. Caused by: NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"#bad"} try{ $(“element”).waitUntil(appear, 3000); }catch(UIAssertionError ex){ Assert.fail(“Element page lost”); }
  • 13.
  • 14.
  • 15. Which text you got? A: “Text with spaces” B: “Text with spaces” C: Depends on browser D: “h1” <h1> Text with spaces </h1> findElement(By.tagName("h1")).getText();
  • 17. driver.manage().timeouts() .implicitlyWait(10,TimeUnit.SECONDS); wait = new WebDriverWait(driver,5); wait.until(ExpectedConditions .presenceOfElementLocated(locator)); How long will Selenium wait? A: 5 B: 15 C: 10 D: 0
  • 19. Which exception will be thrown? B: None C: NoSuchElement D: Both A: Timeout driver.manage().timeouts() .implicitlyWait(10,TimeUnit.SECONDS); wait = new WebDriverWait(driver,5); wait.until(ExpectedConditions .presenceOfElementLocated(locator));
  • 20.
  • 21. Which is faster? A: By.id B:By.Xpath C: They are equal D: By.css driver.findElement(By.id("someId")); driver.findElement(By.cssSelector("#someId"));
  • 22. static id(id) { return By.css('*[id="'+ escapeCss(id) +'"]'); } public WebElement findElement(SearchContext context) { if (context instanceof FindsById) return ((FindsById) context).findElementById(id); return ((FindsByXPath)context) .findElementByXPath(".//*[@id = '" + id + "']"); }
  • 23. How long will we wait here? A: 7 B: 12 C: 4 D: 3 driver.manage() .timeouts().implicitlyWait(3,SECONDS); $("wrongId"); driver.findElement(By.id("wrongId"));
  • 24. What will happen? A: Test will pass B: Assert fail C:NullPointerException D: NoSuchElement class Page{ WebElement header; } driver.get(“http://google.com”); Page p = initElements(driver,Page.class); Assert(p.header.text() == “Google”);
  • 25. INFO: Detected dialect: OSSException in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"name","selector":"header"} (Session info: chrome=60.0.3112.113) (Driver info: chromedriver=2.32.498537 (cb2f855cbc7b82e20387eaf9a43f6b99b6105061),platf orm=Mac OS X 10.12.6 x86_64) ...
  • 26. What will happen? A: HateJSException B: WebDriverException C: Print Text D: Object console.log($('div').getText());