SlideShare a Scribd company logo
1 of 52
Download to read offline
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 1/52
A behind­the­scenes look at cross­
browser testing with WebDriver
Adrian Bateman
Microsoft Edge
@adrianba
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 2/52
Customer called; says the site doesn't
work in their browser.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 3/52
And your boss says this project needs to
work in IE8.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 4/52
Trying to understand how your code was
supposed to work.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 5/52
Why? Just why?
window.mobileCheck = function() { var check = false;
(function(a){if(/(android|bbd+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|
kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4|
symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1‐6]i|770s|
abac|ac(er|oo|s‐)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|‐m|r |s )|avan|be(ck|ll|nq)|
bl(ac|az)|br(e|v)w|bumb|bw‐(n|u)|c55/|capi|ccwa|cdm‐|cell|chtm|cldc|cmd‐|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc‐s|devi|dica
do(c|p)o|ds(12|‐d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4‐7]0|os|wa|ze)|fetc|fly(‐|_)|g1 u|g560|gene|gf‐5|g‐mo|go(.w|o
un)|haie|hcit|hd‐(m|p|t)|hei‐|hi(pt|ta)|hp( i|ip)|hs‐c|ht(c(‐| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i‐(20|go|ma)|i230|iac( |‐|/
idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc‐|kyo(c|k)|le(no|xi)|lg( g|/(k|
54|‐[a‐w])|libw|lynx|m1‐w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m‐cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(‐| |o
mt(50|p1|v )|mwbp|mywa|n10[0‐2]|n20[2‐3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)‐|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(t
owg1|p800|pan(a|d|t)|pdxg|pg(13|‐([1‐8]|c))|phil|pire|pl(ay|uc)|pn‐2|po(ck|rt|se)|prox|psio|pt‐g|qa‐a|qc(07|12|21|32|60|
i‐)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h‐|oo|p‐)|sdk/|se(c(‐|0|1)|47|mc|nd|ri)|sgh‐|s
(‐|m)|sk‐0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h‐|v‐|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|a(gt|lk)|tcl‐|tdg‐|t
tim‐|t‐mo|to(pl|sh)|ts(70|m‐|m3|m5)|tx‐9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0‐3]|‐v)|vm40|voda|vulc|vx(
61|70|80|81|83|85|98)|w3c(‐| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas‐|your|zeto|zte‐/i.test(a.substr(0,4))) check = tr
(navigator.userAgent||navigator.vendor||window.opera); return check; }
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 6/52
The best "write once, run everywhere"
platform so far
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 7/52
But far from perfect...
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 8/52
Report cross­browser site issues at
WebCompat.com
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 9/52
Can't you just all use WebKit?
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 10/52
The web is so successful and powerful
because it isn't controlled by one group,
project, or organisation.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 11/52
As web developers, we do need to test
in different browsers.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 12/52
"But testing is so expensive!"
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 13/52
Introducing Selenium
Selenium is an open source project providing a suite
of tools to automate web browsers across many
platforms.
http://seleniumhq.org/
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 14/52
Selenium WebDriver
A remote control interface to instruct the behaviour
of web browsers.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 15/52
The WebDriver specification is
standardised by a group at W3C.
http://www.w3.org/testing/browser/
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 16/52
By many of the largest browser vendors,
who are making it a native part of their
browser.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 17/52
And by some of the largest sites on the
web, who use it for their testing.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 18/52
Simple code example
IWebDriver driver = new XXXDriver(); // e.g. FirefoxDriver
// Navigate to start page
driver.Navigate().GoToUrl("http://www.bing.com/");
// Clear input box and type search
driver.FindElement(By.Id("sb_form_q")).Clear();
driver.FindElement(By.Id("sb_form_q")).SendKeys("dogs");
// Click search button
driver.FindElement(By.Id("sb_form_go")).Click();
// Find the result we want and click it
driver.FindElement(By.LinkText("Images")).Click();
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 19/52
Simple. Just write code.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 20/52
Installing the Selenium IDE
http://docs.seleniumhq.org/download/
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 21/52
Selenium IDE
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 22/52
Recording a test
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 23/52
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 24/52
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 25/52
Replaying the test
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 26/52
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 27/52
Exporting the test
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 28/52
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 29/52
What about other browsers?
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 30/52
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 31/52
Support for WebDriver in Microsoft Edge
Release version of Web Driver ("Current Branch")
 
Preview version of Web Driver (Windows Insiders)
http://aka.ms/webdriver
http://aka.ms/webdriver­preview
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 32/52
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 33/52
Strategies for testing
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 34/52
Comprehensive example
[Test]
public void AsALoggedUserIamAbleToAdd10ProductsAndSubmitOrder()
{
    var signInPage = InitialPage.NavigateTo<SignInPage>();
    signInPage.EnterEmail("jd@test.com");
    signInPage.EnterPassword("1qaz");
    var page = signInPage.ClickLogin();
    page.Should().BeOfType<HomePage>();
    var homePage = page.As<HomePage>();
    var targetDetailsPage = homePage.ClickFirstProduct();
    targetDetailsPage.Title.Should().Be("Product Details");
    var detailsPage = targetDetailsPage.As<ProductDetailsPage>();
    detailsPage.SetQuantity(10);
    detailsPage.Total.Should().Be(150);
    var targetDeliveryDetailsPage = detailsPage.ClickOrderNow();
    targetDeliveryDetailsPage.Title.Should().Be("Product Delivery");
    targetDeliveryDetailsPage.Should().BeOfType<PhysicalDeliveryDetailsPage>();
    var deliveryDetailsPage = targetDeliveryDetailsPage.
      As<PhysicalDeliveryDetailsPage>();
    deliveryDetailsPage.FillForm(new DeliveryPhysicalModel()
    {
        CompanyName = "Contoso",
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 35/52
WebDriver Architecture
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 36/52
WebDriver Architecture
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 37/52
New session
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 38/52
Navigate
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 39/52
Finding an element
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 40/52
Finding an element
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 41/52
Send keys
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 42/52
Finding a link with text
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 43/52
Clicking a link
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 44/52
Ending a session
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 45/52
Shutdown
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 46/52
Testing in the cloud
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 47/52
Getting stuff done
The more we worked on WebDriver we realised that
it isn't just for testing.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 48/52
Using WebDriver to help with bug triage
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 49/52
Here's the deal
We're going to continue working hard to make
browsers more interoperable.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 50/52
Your role
Find a testing framework that you like and use it.
Keep us honest. Tell us when things are broken.
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 51/52
Microsoft Edge support for WebDriver
WebDriver status page:
http://aka.ms/webdriver­status
10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver
file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 52/52
Thank you!
or
Slides:
@MSEdgeDev @adrianba
http://aka.ms/webdriver­fowa

More Related Content

Similar to A behind the-scenes look at cross-browser testing with web driver, Adrian Bateman

2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web appSholto Maud
 
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web Design[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Web browser and Security Threats
Web browser and Security ThreatsWeb browser and Security Threats
Web browser and Security ThreatsHTS Hosting
 
Opera and the Open Web platform
Opera and the Open Web platformOpera and the Open Web platform
Opera and the Open Web platformAndreas Bovens
 
Return Of The Browser Wars Ajax World West2007
Return Of The Browser Wars Ajax World West2007Return Of The Browser Wars Ajax World West2007
Return Of The Browser Wars Ajax World West2007John Eckman
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Responsive Images and Video
Responsive Images and VideoResponsive Images and Video
Responsive Images and VideoJason Grigsby
 
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0Amir Zmora
 
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdfFront-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdfApplitools
 
Measuring web performance
Measuring web performanceMeasuring web performance
Measuring web performancePatrick Meenan
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleSauce Labs
 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?Andy Davies
 
Vadim Mirgorod.Best practices for cross browser compatibility of drupal websi...
Vadim Mirgorod.Best practices for cross browser compatibility of drupal websi...Vadim Mirgorod.Best practices for cross browser compatibility of drupal websi...
Vadim Mirgorod.Best practices for cross browser compatibility of drupal websi...camp_drupal_ua
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Nicholas Zakas
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Nicholas Zakas
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoCaridy Patino
 

Similar to A behind the-scenes look at cross-browser testing with web driver, Adrian Bateman (20)

2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
 
Ch21 system administration
Ch21 system administration Ch21 system administration
Ch21 system administration
 
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web Design[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
 
Web browser and Security Threats
Web browser and Security ThreatsWeb browser and Security Threats
Web browser and Security Threats
 
Opera and the Open Web platform
Opera and the Open Web platformOpera and the Open Web platform
Opera and the Open Web platform
 
Return Of The Browser Wars Ajax World West2007
Return Of The Browser Wars Ajax World West2007Return Of The Browser Wars Ajax World West2007
Return Of The Browser Wars Ajax World West2007
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
Browser Based Performance Testing and Tuning
Browser Based Performance Testing and TuningBrowser Based Performance Testing and Tuning
Browser Based Performance Testing and Tuning
 
Responsive Images and Video
Responsive Images and VideoResponsive Images and Video
Responsive Images and Video
 
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
 
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdfFront-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
Front-End Test Fest Keynote: The State of the Union for Front End Testing.pdf
 
Measuring web performance
Measuring web performanceMeasuring web performance
Measuring web performance
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at Scale
 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
 
Vadim Mirgorod.Best practices for cross browser compatibility of drupal websi...
Vadim Mirgorod.Best practices for cross browser compatibility of drupal websi...Vadim Mirgorod.Best practices for cross browser compatibility of drupal websi...
Vadim Mirgorod.Best practices for cross browser compatibility of drupal websi...
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
 
Browsers
BrowsersBrowsers
Browsers
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
 

More from Future Insights

The Human Body in the IoT. Tim Cannon + Ryan O'Shea
The Human Body in the IoT. Tim Cannon + Ryan O'SheaThe Human Body in the IoT. Tim Cannon + Ryan O'Shea
The Human Body in the IoT. Tim Cannon + Ryan O'SheaFuture Insights
 
Pretty pictures - Brandon Satrom
Pretty pictures - Brandon SatromPretty pictures - Brandon Satrom
Pretty pictures - Brandon SatromFuture Insights
 
Putting real time into practice - Saul Diez-Guerra
Putting real time into practice - Saul Diez-GuerraPutting real time into practice - Saul Diez-Guerra
Putting real time into practice - Saul Diez-GuerraFuture Insights
 
Surviving the enterprise storm - @RianVDM
Surviving the enterprise storm - @RianVDMSurviving the enterprise storm - @RianVDM
Surviving the enterprise storm - @RianVDMFuture Insights
 
Exploring Open Date with BigQuery: Jenny Tong
Exploring Open Date with BigQuery: Jenny TongExploring Open Date with BigQuery: Jenny Tong
Exploring Open Date with BigQuery: Jenny TongFuture Insights
 
A Universal Theory of Everything, Christopher Murphy
A Universal Theory of Everything, Christopher MurphyA Universal Theory of Everything, Christopher Murphy
A Universal Theory of Everything, Christopher MurphyFuture Insights
 
Horizon Interactive Awards, Mike Sauce & Jeff Jahn
Horizon Interactive Awards, Mike Sauce & Jeff JahnHorizon Interactive Awards, Mike Sauce & Jeff Jahn
Horizon Interactive Awards, Mike Sauce & Jeff JahnFuture Insights
 
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...Future Insights
 
Front End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon DeanerFront End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon DeanerFuture Insights
 
Structuring Data from Unstructured Things. Sean Lorenz
Structuring Data from Unstructured Things. Sean LorenzStructuring Data from Unstructured Things. Sean Lorenz
Structuring Data from Unstructured Things. Sean LorenzFuture Insights
 
Cinematic UX, Brad Weaver
Cinematic UX, Brad WeaverCinematic UX, Brad Weaver
Cinematic UX, Brad WeaverFuture Insights
 
The Future is Modular, Jonathan Snook
The Future is Modular, Jonathan SnookThe Future is Modular, Jonathan Snook
The Future is Modular, Jonathan SnookFuture Insights
 
Designing an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie RewisDesigning an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie RewisFuture Insights
 
Accessibility Is More Than What Lies In The Code, Jennison Asuncion
Accessibility Is More Than What Lies In The Code, Jennison AsuncionAccessibility Is More Than What Lies In The Code, Jennison Asuncion
Accessibility Is More Than What Lies In The Code, Jennison AsuncionFuture Insights
 
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...Future Insights
 
Designing for Dyslexia, Andrew Zusman
Designing for Dyslexia, Andrew ZusmanDesigning for Dyslexia, Andrew Zusman
Designing for Dyslexia, Andrew ZusmanFuture Insights
 
Beyond Measure, Erika Hall
Beyond Measure, Erika HallBeyond Measure, Erika Hall
Beyond Measure, Erika HallFuture Insights
 
Real Artists Ship, Haraldur Thorleifsson
Real Artists Ship, Haraldur ThorleifssonReal Artists Ship, Haraldur Thorleifsson
Real Artists Ship, Haraldur ThorleifssonFuture Insights
 
Ok Computer. Peter Gasston
Ok Computer. Peter GasstonOk Computer. Peter Gasston
Ok Computer. Peter GasstonFuture Insights
 
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaDigital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaFuture Insights
 

More from Future Insights (20)

The Human Body in the IoT. Tim Cannon + Ryan O'Shea
The Human Body in the IoT. Tim Cannon + Ryan O'SheaThe Human Body in the IoT. Tim Cannon + Ryan O'Shea
The Human Body in the IoT. Tim Cannon + Ryan O'Shea
 
Pretty pictures - Brandon Satrom
Pretty pictures - Brandon SatromPretty pictures - Brandon Satrom
Pretty pictures - Brandon Satrom
 
Putting real time into practice - Saul Diez-Guerra
Putting real time into practice - Saul Diez-GuerraPutting real time into practice - Saul Diez-Guerra
Putting real time into practice - Saul Diez-Guerra
 
Surviving the enterprise storm - @RianVDM
Surviving the enterprise storm - @RianVDMSurviving the enterprise storm - @RianVDM
Surviving the enterprise storm - @RianVDM
 
Exploring Open Date with BigQuery: Jenny Tong
Exploring Open Date with BigQuery: Jenny TongExploring Open Date with BigQuery: Jenny Tong
Exploring Open Date with BigQuery: Jenny Tong
 
A Universal Theory of Everything, Christopher Murphy
A Universal Theory of Everything, Christopher MurphyA Universal Theory of Everything, Christopher Murphy
A Universal Theory of Everything, Christopher Murphy
 
Horizon Interactive Awards, Mike Sauce & Jeff Jahn
Horizon Interactive Awards, Mike Sauce & Jeff JahnHorizon Interactive Awards, Mike Sauce & Jeff Jahn
Horizon Interactive Awards, Mike Sauce & Jeff Jahn
 
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
 
Front End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon DeanerFront End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon Deaner
 
Structuring Data from Unstructured Things. Sean Lorenz
Structuring Data from Unstructured Things. Sean LorenzStructuring Data from Unstructured Things. Sean Lorenz
Structuring Data from Unstructured Things. Sean Lorenz
 
Cinematic UX, Brad Weaver
Cinematic UX, Brad WeaverCinematic UX, Brad Weaver
Cinematic UX, Brad Weaver
 
The Future is Modular, Jonathan Snook
The Future is Modular, Jonathan SnookThe Future is Modular, Jonathan Snook
The Future is Modular, Jonathan Snook
 
Designing an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie RewisDesigning an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie Rewis
 
Accessibility Is More Than What Lies In The Code, Jennison Asuncion
Accessibility Is More Than What Lies In The Code, Jennison AsuncionAccessibility Is More Than What Lies In The Code, Jennison Asuncion
Accessibility Is More Than What Lies In The Code, Jennison Asuncion
 
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
 
Designing for Dyslexia, Andrew Zusman
Designing for Dyslexia, Andrew ZusmanDesigning for Dyslexia, Andrew Zusman
Designing for Dyslexia, Andrew Zusman
 
Beyond Measure, Erika Hall
Beyond Measure, Erika HallBeyond Measure, Erika Hall
Beyond Measure, Erika Hall
 
Real Artists Ship, Haraldur Thorleifsson
Real Artists Ship, Haraldur ThorleifssonReal Artists Ship, Haraldur Thorleifsson
Real Artists Ship, Haraldur Thorleifsson
 
Ok Computer. Peter Gasston
Ok Computer. Peter GasstonOk Computer. Peter Gasston
Ok Computer. Peter Gasston
 
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaDigital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

A behind the-scenes look at cross-browser testing with web driver, Adrian Bateman

  • 1. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 1/52 A behind­the­scenes look at cross­ browser testing with WebDriver Adrian Bateman Microsoft Edge @adrianba
  • 2. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 2/52 Customer called; says the site doesn't work in their browser.
  • 3. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 3/52 And your boss says this project needs to work in IE8.
  • 4. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 4/52 Trying to understand how your code was supposed to work.
  • 5. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 5/52 Why? Just why? window.mobileCheck = function() { var check = false; (function(a){if(/(android|bbd+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone| kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4| symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1‐6]i|770s| abac|ac(er|oo|s‐)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|‐m|r |s )|avan|be(ck|ll|nq)| bl(ac|az)|br(e|v)w|bumb|bw‐(n|u)|c55/|capi|ccwa|cdm‐|cell|chtm|cldc|cmd‐|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc‐s|devi|dica do(c|p)o|ds(12|‐d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4‐7]0|os|wa|ze)|fetc|fly(‐|_)|g1 u|g560|gene|gf‐5|g‐mo|go(.w|o un)|haie|hcit|hd‐(m|p|t)|hei‐|hi(pt|ta)|hp( i|ip)|hs‐c|ht(c(‐| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i‐(20|go|ma)|i230|iac( |‐|/ idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc‐|kyo(c|k)|le(no|xi)|lg( g|/(k| 54|‐[a‐w])|libw|lynx|m1‐w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m‐cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(‐| |o mt(50|p1|v )|mwbp|mywa|n10[0‐2]|n20[2‐3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)‐|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(t owg1|p800|pan(a|d|t)|pdxg|pg(13|‐([1‐8]|c))|phil|pire|pl(ay|uc)|pn‐2|po(ck|rt|se)|prox|psio|pt‐g|qa‐a|qc(07|12|21|32|60| i‐)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h‐|oo|p‐)|sdk/|se(c(‐|0|1)|47|mc|nd|ri)|sgh‐|s (‐|m)|sk‐0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h‐|v‐|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|a(gt|lk)|tcl‐|tdg‐|t tim‐|t‐mo|to(pl|sh)|ts(70|m‐|m3|m5)|tx‐9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0‐3]|‐v)|vm40|voda|vulc|vx( 61|70|80|81|83|85|98)|w3c(‐| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas‐|your|zeto|zte‐/i.test(a.substr(0,4))) check = tr (navigator.userAgent||navigator.vendor||window.opera); return check; }
  • 6. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 6/52 The best "write once, run everywhere" platform so far
  • 7. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 7/52 But far from perfect...
  • 8. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 8/52 Report cross­browser site issues at WebCompat.com
  • 9. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 9/52 Can't you just all use WebKit?
  • 10. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 10/52 The web is so successful and powerful because it isn't controlled by one group, project, or organisation.
  • 11. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 11/52 As web developers, we do need to test in different browsers.
  • 12. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 12/52 "But testing is so expensive!"
  • 13. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 13/52 Introducing Selenium Selenium is an open source project providing a suite of tools to automate web browsers across many platforms. http://seleniumhq.org/
  • 14. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 14/52 Selenium WebDriver A remote control interface to instruct the behaviour of web browsers.
  • 15. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 15/52 The WebDriver specification is standardised by a group at W3C. http://www.w3.org/testing/browser/
  • 16. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 16/52 By many of the largest browser vendors, who are making it a native part of their browser.
  • 17. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 17/52 And by some of the largest sites on the web, who use it for their testing.
  • 18. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 18/52 Simple code example IWebDriver driver = new XXXDriver(); // e.g. FirefoxDriver // Navigate to start page driver.Navigate().GoToUrl("http://www.bing.com/"); // Clear input box and type search driver.FindElement(By.Id("sb_form_q")).Clear(); driver.FindElement(By.Id("sb_form_q")).SendKeys("dogs"); // Click search button driver.FindElement(By.Id("sb_form_go")).Click(); // Find the result we want and click it driver.FindElement(By.LinkText("Images")).Click();
  • 19. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 19/52 Simple. Just write code.
  • 20. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 20/52 Installing the Selenium IDE http://docs.seleniumhq.org/download/
  • 21. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 21/52 Selenium IDE
  • 22. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 22/52 Recording a test
  • 23. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 23/52
  • 24. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 24/52
  • 25. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 25/52 Replaying the test
  • 26. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 26/52
  • 27. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 27/52 Exporting the test
  • 28. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 28/52
  • 29. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 29/52 What about other browsers?
  • 30. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 30/52
  • 31. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 31/52 Support for WebDriver in Microsoft Edge Release version of Web Driver ("Current Branch")   Preview version of Web Driver (Windows Insiders) http://aka.ms/webdriver http://aka.ms/webdriver­preview
  • 32. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 32/52
  • 33. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 33/52 Strategies for testing
  • 34. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 34/52 Comprehensive example [Test] public void AsALoggedUserIamAbleToAdd10ProductsAndSubmitOrder() {     var signInPage = InitialPage.NavigateTo<SignInPage>();     signInPage.EnterEmail("jd@test.com");     signInPage.EnterPassword("1qaz");     var page = signInPage.ClickLogin();     page.Should().BeOfType<HomePage>();     var homePage = page.As<HomePage>();     var targetDetailsPage = homePage.ClickFirstProduct();     targetDetailsPage.Title.Should().Be("Product Details");     var detailsPage = targetDetailsPage.As<ProductDetailsPage>();     detailsPage.SetQuantity(10);     detailsPage.Total.Should().Be(150);     var targetDeliveryDetailsPage = detailsPage.ClickOrderNow();     targetDeliveryDetailsPage.Title.Should().Be("Product Delivery");     targetDeliveryDetailsPage.Should().BeOfType<PhysicalDeliveryDetailsPage>();     var deliveryDetailsPage = targetDeliveryDetailsPage.       As<PhysicalDeliveryDetailsPage>();     deliveryDetailsPage.FillForm(new DeliveryPhysicalModel()     {         CompanyName = "Contoso",
  • 35. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 35/52 WebDriver Architecture
  • 36. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 36/52 WebDriver Architecture
  • 37. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 37/52 New session
  • 38. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 38/52 Navigate
  • 39. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 39/52 Finding an element
  • 40. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 40/52 Finding an element
  • 41. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 41/52 Send keys
  • 42. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 42/52 Finding a link with text
  • 43. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 43/52 Clicking a link
  • 44. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 44/52 Ending a session
  • 45. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 45/52 Shutdown
  • 46. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 46/52 Testing in the cloud
  • 47. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 47/52 Getting stuff done The more we worked on WebDriver we realised that it isn't just for testing.
  • 48. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 48/52 Using WebDriver to help with bug triage
  • 49. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 49/52 Here's the deal We're going to continue working hard to make browsers more interoperable.
  • 50. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 50/52 Your role Find a testing framework that you like and use it. Keep us honest. Tell us when things are broken.
  • 51. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 51/52 Microsoft Edge support for WebDriver WebDriver status page: http://aka.ms/webdriver­status
  • 52. 10/7/2015 A behind-the-scenes look at cross-browser testing with WebDriver file:///Users/thoule/Desktop/A%20behind-the-scenes%20look%20at%20cross-browser%20testing%20with%20WebDriver.html#/ 52/52 Thank you! or Slides: @MSEdgeDev @adrianba http://aka.ms/webdriver­fowa