Better late than never

Size: px
Start display at page:

Download "Better late than never"

Transcription

1 Better late than never Integrating Selenium after the fact R. Tyler Croy

2 Hello and thanks for coming. I'm R. Tyler Croy and I'm going to talk a bit this evening about the integrating Selenium and browser testing after you've already built out a mature web application Before I get to the good stuff, first let me explain who I am and why I'm qualified :)

3 I work here

4 Hacking with Ruby

5 Most of my work is in Ruby, while Lookout's flagship product is an application for the Android platform, the vast majority of our code is all server-side Ruby code. For my team specifically, we're responsible for Lookout's web presence, which is a lot of Ruby on Rails (for better or worst)

6 I am not in QA

7 (so why do I care?)

8 Quality is important

9 Quality is important for a lot of reasons, in Lookout's case a fundamental part of user trust is reliability in my opinion. If a user loses their phone, visits mylookout.com to try to find the phone and our site breaks, they're going to be pretty pissed. Automating the quality of the app is also pretty important IMHO to ensuring that we as a team can move forward and focus on building new things instead of trying to make sure that all the old stuff doesn't fall over

10

11 Talk about the "state of Lookout" when this project started around a year ago

12 Challenges

13 Browser test suite

14 Browser testing infrastructure

15 This is a picture of our browser testing infrastructure when we started We had absolutely nothing in place, this means we had no machines to run browsers, our build machines were a Fortunately we did have some amount of automation hooks exposed for creating accounts on a staging server and manipulating/scaffolding up "state" on a server

16 Unit Test-Driven Team

17 The team, was very familiar with using TDD. Not so much with ATDD. Even so, the tests that were typically being written were almost *entirely* unit tests, with a thin veneer of integration/high-level tests being written Need to mention the difference between unit tests (for developers) and acceptance testing (from the user perspective

18 Lack of experience

19 We also had a pretty major lack of experience in browser or higher-level automated acceptance testing throughout the company

20 Directionless

21 Because of this lack of experience we had a lot of uncertainty and doubt with regards to the right direction to start to build a test suite and testing infrastructure for. I personally had some experience from working at Slide on this very kind of project, which was ultimately an abyssmal failure. We used Windmill and created very brittle tests, only written by QA engineers, tied the tests very close to the page driver itself and ended up writing very "unit-test-style" methods/test cases such as "def test_page_does_display_alert_when_clicking_thing" with tens of lines of browser calls in them

22

23 So that's where we started from, it was scary.

24

25 I'm going to try to avoid being overly prescriptive, I'm certainly opinionated but I just want to make sure I focus more on what has and has not worked for me at Lookout and a bit at the failed project at Slide

26

27 QA should not own selenium testing

28

29 Selenium testing should be moved as much into the app developer workflow as possible.

30

31 Binding together the starting of a local server running the application, with the running of the tests is a *bad idea*. This will really hurt your ability to run many tests in parallel, but also can increase overhead for every single test case, especially as tasks such as rebuilding the DB, or factorying up data grows.

32

33 It is a *good idea* to make sure running against a local test server works seamlessly. In fact, ensuring that by default tests run against a local server is fine for development, but for CI and full test runs, it's important that the tests are capable of hitting remote staging or test environments.

34

35 Use the exact same tool that you write your unit test code in

36 class PurchaseTest include SeleniumHelper def test_valid_credit_card_purchase #... end def test_fat_fingered_credit_card_information user = create_user driver.nagivate.to('/purchase') cc_elem = driver.find_element('input#credit_card') cc_elem.send_keys(8008) button = driver.find_element('input#purchase') button.submit end def test_d2p_for_already_existing_account #... end end

37 The tool isn't designed for the job, it also encourages developers and testers to write terrible tests because they're not breaking out of the scope of a unit test and thinking about things from the "outside"

38

39 Use Selenese. Does everybody here know what Selenese is? It's an "interesting" langauge that the Selenium IDE records into, that is totally brittle, unmaintainable and write-once read never for your development and QE team Here's one of the shortest examples I could find in our git log of some terrible Selenese that was created long ago

40

41

42 Use tooling better suited for acceptance or integration testing, such as Cucumber, JBehave, etc

43

44 Bad Idea: Using Cucumber *incorrectly* is almost as bad as not using Cucumber at all.

45 Scenario: Given I When I And I And I When I Then I Then I And I Free users can locate and scream am a free user visit the login page enter my password enter my click on the "Login" button click on the "Missing Device" link should see the "Locate" link should see the "Scream" link

46 There's literally no benefit to using Cucumber if this is how you're writing scenarios. This just becomes another layer of useless indirection Mention the issues with internationalization

47

48 Using Cucumber is a great idea, in my opinion, for creating a focus on Acceptance Test Driven development. The structure of it, and the separation from the code itself can really help developers think and communicate in the abstract for a given task or feature.

49 Scenario: Free users should have locate/scream capability Users that are either in trial or in the free account state should always be able to locate and scream from the non mobile version of the web site Given When Then And I I I I am a logged in free user visit the "Missing Device" page should be able to locate my phone should be able to scream my phone

50

51 Use the Selenium WebDriver API directly

52 @driver.navigate.to(url_for(:controller => 'user', :action => 'login)) _field => 'login[user]') # Make sure we found it! _field.should_not be_nil _field.send_keys(user. ) pass_field => 'login[password']) pass_field.should_not be_nil pass_field.send_keys(user.password) button => 'login') button.should_not be_nil button.submit

53

54 Use Capybara, if you're a Ruby developer

55 # Visit our Login page visit url_for(:controller => 'user', :action => 'login') # Log in! fill_in "login[user]", :with => user. fill_in "login[password]", :with => user.password click_on 'Log in'

56

57 Build an automation library or layer that the Cucumber step definitions can talk to.

58 Given /^I am a logged in (free pro) user$/ do type # Call our automation API user = create_user(type.to_sym) # Visit our Login page visit url_for(:controller => 'user', :action => 'login') # Log in! fill_in "login[user]", :with => user. fill_in "login[password]", :with => user.password click_on 'Log in' end

59 Given /^I am a logged in (free pro) user$/ do type # Call our automation API user = create_user(type.to_sym) # Call our automation API to login login_with(user) end

60

61 Re-use step definitions within other step definitions

62 Given /^I am a logged in free user$/ do Given %{I am a free user} Given %{I am logged in to the site} end

63

64 Spent time and money setting up a local selenium grid or other testing infrastructure before getting the company bought into browser testing

65

66 Use hosted or managed services such as Sauce Labs to get started with testing multiple browser versions very quickly

67

68 Run all automated tests against a single host.

69

70 Set up multiple staging or testing environments, ideally those in some sort of elastic cloud such as EC2, OpenStack, etc

71

72 Save test-writing for the absolute last step before deployment, putting a lot of pressure on the QA team but also incentivizing taking shortcuts and not writing tests at all! Tests written as an "after thought" are bound to be more hacky and can not help weed out product or UX issues early enough to stop bugs before they happen

73

74 Start writing scenarios, or outlining acceptance tests at the top of the "product funnel" to make sure that the team can agree/understand what's being built and why.

75

76 Rely on Selenium to test/validate all potential behaviors of your front-end code. It's much more time-efficient to write unit tests for JS in Jasmine than running the appropriate Selenium test cases to exercise varying invocations of JavaScript functions

77

78 Write unit-tests for your JavaScript code using Jasmine, QUnit, etc to ensure that the front-end application works well.

79

80

81 Integrating Selenium testing with CI is a great idea, and very important to ensuring the success of the browser testing project and adoption at the company. Talk a bit about the Jenkins set up for Selenium at Lookout

82

83 The Selenium work at Lookout is far from perfect, and far from complete. We rapidly back-filled our test coverage which was a mixed blessing. We got a lot of coverage fast, but it varies in quality of test from feature to feature and in some cases browser to browser. Where we have had the best results in our tests have been in incorporating them as much as possible with the actual development of the product feature itself.

84 Questions?

85 Thanks

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel.

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel. Hi. I'm Prateek Baheti. I'm a developer at ThoughtWorks. I'm currently the tech lead on Mingle, which is a project management tool that ThoughtWorks builds. I work in Balor, which is where India's best

More information

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the I'm Andy Glover and this is the Java Technical Series of the developerworks podcasts. My guest is Brian Jakovich. He is the director of Elastic Operations for Stelligent. He and I are going to talk about

More information

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES Presenter: Joshua Eastman Director, Strategic Solutions ABOUT THE SPEAKER Josh has over seven years of experience as an accomplished software testing

More information

Let s Test South Africa. Tim Coulter, 2014

Let s Test South Africa. Tim Coulter, 2014 Let s Test South Africa Tim Coulter, 2014 tim@tjc.io Automation is like beating dumb kids with a stick. Text Automation sucks. (for a lot of reasons) Main points My Background Definitions Value - does

More information

sqamethods Approach to Building Testing Automation Systems

sqamethods Approach to Building Testing Automation Systems sqamethods Approach to Building Testing Automation Systems By Leopoldo A. Gonzalez leopoldo@sqamethods.com BUILDING A TESTING AUTOMATION SYSTEM...3 OVERVIEW...3 GOALS FOR AN AUTOMATION SYSTEM...3 BEGIN

More information

Programming: Computer Programming For Beginners: Learn The Basics Of Java, SQL & C Edition (Coding, C Programming, Java Programming, SQL

Programming: Computer Programming For Beginners: Learn The Basics Of Java, SQL & C Edition (Coding, C Programming, Java Programming, SQL Programming: Computer Programming For Beginners: Learn The Basics Of Java, SQL & C++ - 3. Edition (Coding, C Programming, Java Programming, SQL Programming, JavaScript, Python, PHP) PDF PLEASE NOTE: You

More information

mismatch between what is maybe possible today and what is going on in many of today's IDEs.

mismatch between what is maybe possible today and what is going on in many of today's IDEs. What will happen if we do very, very small and lightweight tools instead of heavyweight, integrated big IDEs? Lecturer: Martin Lippert, VMware and Eclispe tooling expert LIPPERT: Welcome, everybody, to

More information

Hello, and welcome to another episode of. Getting the Most Out of IBM U2. This is Kenny Brunel, and

Hello, and welcome to another episode of. Getting the Most Out of IBM U2. This is Kenny Brunel, and Hello, and welcome to another episode of Getting the Most Out of IBM U2. This is Kenny Brunel, and I'm your host for today's episode which introduces wintegrate version 6.1. First of all, I've got a guest

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

Emerging trends in test automation

Emerging trends in test automation Emerging trends in test automation 3 I AM SRIRAM ANGAJALA Eurostar Trains I am here because I love AUTOMATION since 2003. Worked in Silk Test, Winrunner, QTP, Selenium RC. Find me at sriram.angajala in

More information

Test-driven development

Test-driven development Test-driven development And how we do it at WIX Mantas Indrašius Software Engineer WIX.COM Agenda Tests overview Test-driven development (TDD) The Bowling Game demo Kickstarting a project using TDD How

More information

Connect with Remedy: SmartIT: Social Event Manager Webinar Q&A

Connect with Remedy: SmartIT: Social Event Manager Webinar Q&A Connect with Remedy: SmartIT: Social Event Manager Webinar Q&A Q: Will Desktop/browser alerts be added to notification capabilities on SmartIT? A: In general we don't provide guidance on future capabilities.

More information

Automated Testing of Tableau Dashboards

Automated Testing of Tableau Dashboards Kinesis Technical Whitepapers April 2018 Kinesis CI Automated Testing of Tableau Dashboards Abstract Companies make business critical decisions every day, based on data from their business intelligence

More information

MAKING THE MOVE TO AUTOMATED TESTING

MAKING THE MOVE TO AUTOMATED TESTING WHITE PAPER MAKING THE MOVE TO AUTOMATED TESTING 7 Key Questions and Answers If you work in DevOps or software QA, you likely already know why automated software testing is essential for quality control

More information

Welcome to this IBM Rational Podcast. I'm. Angelique Matheny. Joining me for this podcast, Delivering

Welcome to this IBM Rational Podcast. I'm. Angelique Matheny. Joining me for this podcast, Delivering Welcome to this IBM Rational Podcast. I'm Angelique Matheny. Joining me for this podcast, Delivering Next Generation Converged Applications with Speed and Quality, is Derek Baron, Worldwide Rational Communications

More information

How to Create a Killer Resources Page (That's Crazy Profitable)

How to Create a Killer Resources Page (That's Crazy Profitable) How to Create a Killer Resources Page (That's Crazy Profitable) There is a single page on your website that, if used properly, can be amazingly profitable. And the best part is that a little effort goes

More information

Сравнительный анализ инструментов Автоматизации Desktop AUT. Anton Semenchenko

Сравнительный анализ инструментов Автоматизации Desktop AUT. Anton Semenchenko Сравнительный анализ инструментов Автоматизации Desktop AUT Anton Semenchenko Agenda, part 1 (general) 1. Problem 2. Solutions 2016 Agenda, part 2 (tools and criteria's) 1. Tools to be compared (15) 2.

More information

Maja Schreiner. 9th Lean, Agile & Scrum Conference 2017

Maja Schreiner. 9th Lean, Agile & Scrum Conference 2017 Maja Schreiner 9th Lean, Agile & Scrum Conference 2017 Senior Test Master @ Swisscom, Switzerland maja.schreiner@gmail.com testmotion.wordpress.com Twitter: majaschreiner process of executing many different

More information

Data Structures And Other Objects Using Java Download Free (EPUB, PDF)

Data Structures And Other Objects Using Java Download Free (EPUB, PDF) Data Structures And Other Objects Using Java Download Free (EPUB, PDF) This is the ebook of the printed book and may not include any media, website access codes, or print supplements that may come packaged

More information

Kindle Books InfoPath With SharePoint 2010 How-To

Kindle Books InfoPath With SharePoint 2010 How-To Kindle Books InfoPath With SharePoint 2010 How-To Real, step-by-step solutions for creating and managing data forms in SharePoint 2010 with InfoPath: fast, accurate, proven, and easy to use  A concise,

More information

13 th Annual International Software Testing Conference Paper on

13 th Annual International Software Testing Conference Paper on 1 13 th Annual International Software Testing Conference Paper on SMART- a Comprehensive Framework for Test Automation of Web & Mobile Applications Using Open Source Technologies Author: Anmol Bagga QA

More information

Business Data Communications And Networking Ebooks Free

Business Data Communications And Networking Ebooks Free Business Data Communications And Networking Ebooks Free Updated with the latest advances in the field,â Jerry FitzGerald, Alan Dennis, and Alexandra Durcikova's 12th Edition of Business Data Communications

More information

Hello, and welcome to a searchsecurity.com. podcast: How Security is Well Suited for Agile Development.

Hello, and welcome to a searchsecurity.com. podcast: How Security is Well Suited for Agile Development. [ MUSIC ] Hello, and welcome to a searchsecurity.com podcast: How Security is Well Suited for Agile Development. My name is Kyle Leroy, and I'll be moderating this podcast. I'd like to start by introducing

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

Android: Android Programming And Android App Development For Beginners (Learn How To Program Android Apps, How To Develop Android Applications

Android: Android Programming And Android App Development For Beginners (Learn How To Program Android Apps, How To Develop Android Applications Android: Android Programming And Android App Development For Beginners (Learn How To Program Android Apps, How To Develop Android Applications Through Java Programming, Android For Dummies) Ebooks Free

More information

Professional SharePoint 2013 Development Ebook Gratuit

Professional SharePoint 2013 Development Ebook Gratuit Professional SharePoint 2013 Development Ebook Gratuit Thorough coverage of development in SharePoint 2013 A team of well-known Microsoft MVPs joins forces in this fully updated resource, providing you

More information

Who am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration

Who am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration Who am I? I m a python developer who has been working on OpenStack since 2011. I currently work for Aptira, who do OpenStack, SDN, and orchestration consulting. I m here today to help you learn from my

More information

Getting Help...71 Getting help with ScreenSteps...72

Getting Help...71 Getting help with ScreenSteps...72 GETTING STARTED Table of Contents Onboarding Guides... 3 Evaluating ScreenSteps--Welcome... 4 Evaluating ScreenSteps--Part 1: Create 3 Manuals... 6 Evaluating ScreenSteps--Part 2: Customize Your Knowledge

More information

Azon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage

Azon Master Class. By Ryan Stevenson   Guidebook #5 WordPress Usage Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #5 WordPress Usage Table of Contents 1. Widget Setup & Usage 2. WordPress Menu System 3. Categories, Posts & Tags 4. WordPress

More information

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition)

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition) Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition) Data Structures and Other Objects Using Java is a gradual, "just-in-time" introduction to Data Structures for a CS2

More information

MITOCW watch?v=kz7jjltq9r4

MITOCW watch?v=kz7jjltq9r4 MITOCW watch?v=kz7jjltq9r4 PROFESSOR: We're going to look at the most fundamental of all mathematical data types, namely sets, and let's begin with the definitions. So informally, a set is a collection

More information

Open Source Test Automation: Riding the Second Wave

Open Source Test Automation: Riding the Second Wave K2 Keynote 5/4/16 10:00 Open Source Test Automation: Riding the Second Wave Presented by: David Dang Zenergy Technologies Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888- - -

More information

Software Continuous Integration & Delivery INCREASING SOFTWARE DEVELOPMENT AGILITY TO SPEED TIME TO MARKET

Software Continuous Integration & Delivery INCREASING SOFTWARE DEVELOPMENT AGILITY TO SPEED TIME TO MARKET DAITAN WHITE PAPER Software Continuous Integration & Delivery INCREASING SOFTWARE DEVELOPMENT AGILITY TO SPEED TIME TO MARKET White Paper Contents Making software development more Agile Moving to a more

More information

tostatichtml() for Everyone!

tostatichtml() for Everyone! tostatichtml() for Everyone! About DOMPurify, Security in the DOM, and Why We Really Need Both A talk by Dr.-Ing. Mario Heiderich, Cure53 mario@cure53.de @0x6D6172696F 1 of 45 Here is Alice. She wants

More information

3 Continuous Integration 3. Automated system finding bugs is better than people

3 Continuous Integration 3. Automated system finding bugs is better than people This presentation is based upon a 3 day course I took from Jared Richardson. The examples and most of the tools presented are Java-centric, but there are equivalent tools for other languages or you can

More information

Think like an Elm developer

Think like an Elm developer Think like an Elm developer Piper Niehaus Denver, CO, USA Backpacker / skier Nonprofit board chair Software Engineer at Pivotal Pivotal Tracker team Elm in Production since 2016 Internal Products and Services

More information

[PDF] JAVA: The Ultimate Beginner's Guide!

[PDF] JAVA: The Ultimate Beginner's Guide! [PDF] JAVA: The Ultimate Beginner's Guide! Java... Master It Today! Java â as the company behind it states â can be found in over three billion devices. Java is an object-oriented programming language

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

Selenium Essentials. Prashanth Sams. Click here if your download doesn"t start automatically

Selenium Essentials. Prashanth Sams. Click here if your download doesnt start automatically Selenium Essentials Prashanth Sams Click here if your download doesn"t start automatically Selenium Essentials Prashanth Sams Selenium Essentials Prashanth Sams Get to grips with automated web testing

More information

BUILDING ANDROID APPS IN EASY STEPS: USING APP INVENTOR BY MIKE MCGRATH

BUILDING ANDROID APPS IN EASY STEPS: USING APP INVENTOR BY MIKE MCGRATH BUILDING ANDROID APPS IN EASY STEPS: USING APP INVENTOR BY MIKE MCGRATH DOWNLOAD EBOOK : BUILDING ANDROID APPS IN EASY STEPS: USING APP Click link bellow and free register to download ebook: BUILDING ANDROID

More information

AEM Code Promotion and Content Synchronization Best Practices

AEM Code Promotion and Content Synchronization Best Practices AEM Code Promotion and Content Synchronization Best Practices Ian Reasor, Technical Architect, Adobe Partner Experience Introduction When considering the movement of content through environments in an

More information

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek Seite 1 von 5 Issue Date: FoxTalk July 2000 It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek This month, Paul Maskens and Andy Kramek discuss the problems of validating data entry.

More information

Read & Download (PDF Kindle) Data Structures And Algorithms In C++

Read & Download (PDF Kindle) Data Structures And Algorithms In C++ Read & Download (PDF Kindle) Data Structures And Algorithms In C++ An updated, innovative approach to data structures and algorithms Written by an author team of experts in their fields, this authoritative

More information

CIS4930 / CIS6930: USER EXPERIENCE DESIGN INSTRUCTOR: DR. LISA ANTHONY

CIS4930 / CIS6930: USER EXPERIENCE DESIGN INSTRUCTOR: DR. LISA ANTHONY Fall 2015 CIS4930 / CIS6930: USER EXPERIENCE DESIGN INSTRUCTOR: DR. LISA ANTHONY CIS4930/6930 User Experience Design, Fall 2015 -- Dr. Lisa Anthony -- lanthony@cise.ufl.edu 11/05/2015 1 Week 11b HIGH-FIDELITY

More information

CHICAGO. How to Tackle Open Source Test Automation in Incredible Ways. Renaissance Hotel 1 West Wacker Drive Chicago IL April 18th April 22th

CHICAGO. How to Tackle Open Source Test Automation in Incredible Ways. Renaissance Hotel 1 West Wacker Drive Chicago IL April 18th April 22th How to Tackle Open Source Test Automation in Incredible Ways CHICAGO April 18th April 22th Renaissance Hotel 1 West Wacker Drive Chicago IL 60601 Speaker(s): Company: Harpreat Singh & Piyush Sachar Microexcel

More information

Skill 1: Multiplying Polynomials

Skill 1: Multiplying Polynomials CS103 Spring 2018 Mathematical Prerequisites Although CS103 is primarily a math class, this course does not require any higher math as a prerequisite. The most advanced level of mathematics you'll need

More information

Technology Background Development environment, Skeleton and Libraries

Technology Background Development environment, Skeleton and Libraries Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,

More information

Manoj Kumar- From Call back's hell to using Async Await: Automated testing with JavaScript

Manoj Kumar- From Call back's hell to using Async Await: Automated testing with JavaScript Manoj Kumar- From Call back's hell to using Async Await: Automated testing with JavaScript ManojKumar: Welcome everyone again. We are here to see about a primer on Selenium WebDriver JavaScript and Protractor

More information

CORBA Fundamentals And Programming PDF

CORBA Fundamentals And Programming PDF CORBA Fundamentals And Programming PDF A wealth of working code gives you hands-on experience in building CORBA-compliant applications. In this valuable guide, Jon Siegel, Director of Domain Technology

More information

This book is dedicated to Sara, Inara, and the newest little one, who make it all worthwhile.

This book is dedicated to Sara, Inara, and the newest little one, who make it all worthwhile. Working With Ruby Threads Copyright (C) 2013 Jesse Storimer. This book is dedicated to Sara, Inara, and the newest little one, who make it all worthwhile. Chapter 7 How many threads is too many? This question

More information

Turbo boost your digital app test automation with Jenkins

Turbo boost your digital app test automation with Jenkins Turbo boost your digital app test automation with Jenkins Step-by-Step Tutorial May, 2018 Speakers Sheli Ashkenazi Sr. Product Manager Experitest Jonathan Aharon Sr. Sales Engineer Experitest 2 01 The

More information

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Slide 1: Cover Welcome to the speech, The role of DB2 in Web 2.0 and in the Information on Demand World. This is the second speech

More information

Instructions I Lost My Iphone 4 Password Yahoo

Instructions I Lost My Iphone 4 Password Yahoo Instructions I Lost My Iphone 4 Password Yahoo Linux software Android Apps Blackberry Apps iphone Apps Windows Phone Apps Report Niash- Mar 4, 2014 02:48PM I have faced a problem. i forgot my yahoo id

More information

How to Improve Your Campaign Conversion Rates

How to Improve Your  Campaign Conversion Rates How to Improve Your Email Campaign Conversion Rates Chris Williams Author of 7 Figure Business Models How to Exponentially Increase Conversion Rates I'm going to teach you my system for optimizing an email

More information

How to Evaluate a Next Generation Mobile Platform

How to Evaluate a Next Generation Mobile Platform How to Evaluate a Next Generation Mobile Platform appcelerator.com Introduction Enterprises know that mobility presents an unprecedented opportunity to transform businesses and build towards competitive

More information

CS193X: Web Programming Fundamentals

CS193X: Web Programming Fundamentals CS193X: Web Programming Fundamentals Spring 2017 Victoria Kirst (vrk@stanford.edu) CS193X schedule Today - Middleware and Routes - Single-page web app - More MongoDB examples - Authentication - Victoria

More information

BDD in Action. Behavior-Driven Development for. the whole software lifecycle JOHN FERGUSON SMART MANNING. Shelter Island

BDD in Action. Behavior-Driven Development for. the whole software lifecycle JOHN FERGUSON SMART MANNING. Shelter Island BDD in Action Behavior-Driven Development for the whole software lifecycle JOHN FERGUSON SMART 11 MANNING Shelter Island contents foreword xvii preface xxi acknowledgements about this book xxv xxiii about

More information

Windows 7 Will Not Load On My Computer Says I'm

Windows 7 Will Not Load On My Computer Says I'm Windows 7 Will Not Load On My Computer Says I'm There are various programs which will allow you to make a copy of your entire apply to my computer even though it does say it works for this issue in Windows

More information

Agile Behaviour Driven Development (BDD) and Integrated Testing with the Cucumber Framework. Melbourne ANZTB SIGIST, 15 th June 2011

Agile Behaviour Driven Development (BDD) and Integrated Testing with the Cucumber Framework. Melbourne ANZTB SIGIST, 15 th June 2011 Agile Behaviour Driven Development (BDD) and Integrated Testing with the Cucumber Framework Damian Versaci Melbourne ANZTB SIGIST, 15 th June 2011 Contents The Importance of Requirements Behaviour Driven

More information

Fast And Effective Embedded Systems Design: Applying The ARM Mbed PDF

Fast And Effective Embedded Systems Design: Applying The ARM Mbed PDF Fast And Effective Embedded Systems Design: Applying The ARM Mbed PDF Fast and Effective Embedded Systems Design is a fast-moving introduction to embedded system design, applying the innovative ARM mbed

More information

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX THE PRAGMATIC INTRO TO REACT Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX REACT "A JavaScript library for building user interfaces" But first... HOW WE GOT HERE OR: A BRIEF

More information

Read & Download (PDF Kindle) Intro To Java Programming, Comprehensive Version (10th Edition)

Read & Download (PDF Kindle) Intro To Java Programming, Comprehensive Version (10th Edition) Read & Download (PDF Kindle) Intro To Java Programming, Comprehensive Version (10th Edition) NOTE: You are purchasing a standalone product; MyProgrammingLab does not come packaged with this content. If

More information

The Ultimate Guide To Using Your Android Smart Phone PDF

The Ultimate Guide To Using Your Android Smart Phone PDF The Ultimate Guide To Using Your Android Smart Phone PDF The Ultimate Guide to Using your Android Smart PhoneIncludes Complete Free Bonus Second Book!!Learning any new operating system can be challenging,

More information

Building a Customized Test Automation Framework Using Open Source Tools

Building a Customized Test Automation Framework Using Open Source Tools Building a Customized Test Automation Framework Using Open Source Tools August, 2016 Contents Executive Summary...03 Need for Test Automation...04 Overcoming Limitations of Open Source Tools...04 Test

More information

Make $400 Daily. With Only. 5 Minutes Of Work

Make $400 Daily. With Only. 5 Minutes Of Work Make $400 Daily With Only 5 Minutes Of Work Hello friends, I am not a professional copywriter, so you will find a lot of mistakes and lack of professional touch in this e-book. But I have not made this

More information

This paper was presented at DVCon-Europe in November It received the conference Best Paper award based on audience voting.

This paper was presented at DVCon-Europe in November It received the conference Best Paper award based on audience voting. This paper was presented at DVCon-Europe in November 2015. It received the conference Best Paper award based on audience voting. It is a very slightly updated version of a paper that was presented at SNUG

More information

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016 About Us Incorporated in January, 2003 QA and QC in expertise focused on functional, performance and application security validation HPE Software Gold Partner, HPE Authorized Software Support Partner &

More information

Professional Microsoft SQL Server 2012 Integration Services Free Download PDF

Professional Microsoft SQL Server 2012 Integration Services Free Download PDF Professional Microsoft SQL Server 2012 Integration Services Free Download PDF An in-depth look at the radical changes to the newest release of SISS Microsoft SQL Server 2012 Integration Services (SISS)

More information

Java 8 Lambdas: Functional Programming For The Masses Ebook Gratuit

Java 8 Lambdas: Functional Programming For The Masses Ebook Gratuit Java 8 Lambdas: Functional Programming For The Masses Ebook Gratuit If you re a developer with core Java Se skills, this hands-on book takes you through the language changes in Java 8 triggered by the

More information

You Bet Your Life. Playing The Automation Tool Selection Game. Paul Grizzaffi

You Bet Your Life. Playing The Automation Tool Selection Game. Paul Grizzaffi You Bet Your Life Playing The Automation Tool Selection Game Paul Grizzaffi Who Is This Guy?» Paul Grizzaffi» Principal Automation Architect at Magenic» Software Pediatrician» Career focused on automation»

More information

Knative: Building serverless platforms on top of Kubernetes

Knative: Building serverless platforms on top of Kubernetes Knative: Building serverless platforms on top of Kubernetes Ahmet Alp Balkan @ahmetb Thanks to Mark Chmarny, Ryan Gregg, DeWitt Clinton and Bret McGowen for some of the slides used in this presentation.

More information

Download Beginning ASP.NET E-Commerce In C#: From Novice To Professional (Expert's Voice In.NET) PDF

Download Beginning ASP.NET E-Commerce In C#: From Novice To Professional (Expert's Voice In.NET) PDF Download Beginning ASP.NET E-Commerce In C#: From Novice To Professional (Expert's Voice In.NET) PDF With the incarnations of ASP.NET 3.5 and SQL Server 2008, programming dynamic data–driven web sites

More information

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC Jenkins: A complete solution From Integration to Delivery For HSBC Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz Agenda Why Jenkins? Introduction and some facts about Jenkins Supported

More information

ADOBE ACROBAT 9 USER GUIDE

ADOBE ACROBAT 9 USER GUIDE page 1 / 5 page 2 / 5 adobe acrobat 9 user pdf Give your users access to the world s best PDF solution while maintaining the highest levels of security and compliance. With Adobe Acrobat, you get peace

More information

Lecture 3. Miscellaneous Ruby and Testing 1 / 40

Lecture 3. Miscellaneous Ruby and Testing 1 / 40 Lecture 3 Miscellaneous Ruby and Testing 1 / 40 Homework 1 Grades were released! TAs provided feedback on best practices, but did not take off points Keep the comments in mind for future assignments! Any

More information

Quiz 3; Tuesday, January 27; 5 minutes; 5 points [Solutions follow on next page]

Quiz 3; Tuesday, January 27; 5 minutes; 5 points [Solutions follow on next page] Quiz 3; Tuesday, January 27; 5 minutes; 5 points [Solutions follow on next page] 1. Does the Java expression x + y == z have a side-effect? If so, what is it? 2. Write a function named add that can add

More information

SERVERLESS SINGLE PAGE APPS: FAST, SCALABLE, AND AVAILABLE BY BEN RADY

SERVERLESS SINGLE PAGE APPS: FAST, SCALABLE, AND AVAILABLE BY BEN RADY Read Online and Download Ebook SERVERLESS SINGLE PAGE APPS: FAST, SCALABLE, AND AVAILABLE BY BEN RADY DOWNLOAD EBOOK : SERVERLESS SINGLE PAGE APPS: FAST, SCALABLE, AND AVAILABLE BY BEN RADY PDF Click link

More information

Zero One Services and Company Profile. Zero One Software

Zero One Services and Company Profile. Zero One Software Zero One Services and Company Profile Executive Summary You have a great idea for an application that will change your community, your business, or even the world. The only problem is that every modern

More information

Data Structures And Algorithms Using Java PDF

Data Structures And Algorithms Using Java PDF Data Structures And Algorithms Using Java PDF With an accessible writing style and manageable amount of content, Data Structures and Algorithms Using Java is the ideal text for your course. This outstanding

More information

Achieving Right Automation Balance in Agile Projects

Achieving Right Automation Balance in Agile Projects Achieving Right Automation Balance in Agile Projects Vijayagopal Narayanan Vijayagopal.n@cognizant.com Abstract When is testing complete and How much testing is sufficient is a fundamental questions that

More information

MITOCW watch?v=sdw8_0rdzuw

MITOCW watch?v=sdw8_0rdzuw MITOCW watch?v=sdw8_0rdzuw PROFESSOR: Directed acyclic graphs are a special class of graphs that really have and warrant a theory of their own. Of course, "directed acyclic graphs" is lot of syllables,

More information

MICROSOFT AND SAUCE LABS FOR MODERN SOFTWARE DELIVERY

MICROSOFT AND SAUCE LABS FOR MODERN SOFTWARE DELIVERY SOLUTIONS BRIEF MICROSOFT AND SAUCE LABS FOR MODERN SOFTWARE DELIVERY AUTOMATE TESTING WITH VISUAL STUDIO TEAM SERVICES (VSTS) AND TEAM FOUNDATION SERVER (TFS) The key to efficient software delivery is

More information

Introduction to AngularJS

Introduction to AngularJS CHAPTER 1 Introduction to AngularJS Google s AngularJS is an all-inclusive JavaScript model-view-controller (MVC) framework that makes it very easy to quickly build applications that run well on any desktop

More information

[Processing.js #2002] loadxml() is broken 10 messages

[Processing.js #2002] loadxml() is broken 10 messages 1 of 5 2/3/2015 2:20 PM [Processing.js #2002] loadxml() is broken 10 messages Sun, Mar 17, 2013 at 3:49 AM matteosistisette updated this ticket at March 17th, 2013 @ 06:49 AM Tested on 2.08b. String url="http://www.matteosistisette.com/upf-redes-x/php/_processing/formas_xml/cargaformas.php"

More information

COMPUTING FUNDAMENTALS I

COMPUTING FUNDAMENTALS I FALL 2017 / COMPUTER SCIENCE 105 COMPUTING FUNDAMENTALS I DAY 2 27 SEPTEMBER 2017 COURSE ADMIN COURSE ADMIN NOTECARDS - ATTENDANCE & FEEDBACK Name Student ID One of: What did you learn or find most interesting?

More information

Xcode Encountered An Internal Logic Error >>>CLICK HERE<<<

Xcode Encountered An Internal Logic Error >>>CLICK HERE<<< Xcode Encountered An Internal Logic Error Choose Continue The biggest problem is that "XCODE" doesn't run and give the following error: Xcode encountered an internal logic error. Choose "Continue" to continue

More information

Read & Download (PDF Kindle) Java Illuminated: An Active Learning Approach

Read & Download (PDF Kindle) Java Illuminated: An Active Learning Approach Read & Download (PDF Kindle) Java Illuminated: An Active Learning Approach Each new print copy includes Navigate 2 Advantage Access that unlocks a comprehensive and interactive ebook, student practice

More information

Azon Master Class. By Ryan Stevenson Guidebook #4 WordPress Installation & Setup

Azon Master Class. By Ryan Stevenson   Guidebook #4 WordPress Installation & Setup Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #4 WordPress Installation & Setup Table of Contents 1. Add Your Domain To Your Website Hosting Account 2. Domain Name Server

More information

ARM System Developer's Guide: Designing And Optimizing System Software (The Morgan Kaufmann Series In Computer Architecture And Design) PDF

ARM System Developer's Guide: Designing And Optimizing System Software (The Morgan Kaufmann Series In Computer Architecture And Design) PDF ARM System Developer's Guide: Designing And Optimizing System Software (The Morgan Kaufmann Series In Computer Architecture And Design) PDF Over the last ten years, the ARM architecture has become one

More information

MITOCW ocw f99-lec07_300k

MITOCW ocw f99-lec07_300k MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those

More information

1 of 5 3/28/2010 8:01 AM Unit Testing Notes Home Class Info Links Lectures Newsgroup Assignmen [Jump to Writing Clear Tests, What about Private Functions?] Testing The typical approach to testing code

More information

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. Guide to and Hi everybody! In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. This guide focuses on two of those symbols: and. These symbols represent concepts

More information

Read & Download (PDF Kindle) XML For Dummies

Read & Download (PDF Kindle) XML For Dummies Read & Download (PDF Kindle) XML For Dummies See how XML works for business needs and RSS feeds Create consistency on the Web, or tag your data for different purposes Tag -- XML is it! XML tags let you

More information

CATCH ERRORS BEFORE THEY HAPPEN. Lessons for a mature data governance practice

CATCH ERRORS BEFORE THEY HAPPEN. Lessons for a mature data governance practice CATCH ERRORS BEFORE THEY HAPPEN Lessons for a mature data governance practice A guide to working with cross-departmental teams to establish proactive data governance for your website or mobile app. 2 Robust

More information

MIPS Assembly Language Programming PDF

MIPS Assembly Language Programming PDF MIPS Assembly Language Programming PDF Users of this book will gain an understanding of the fundamental concepts of contemporary computer architecture, starting with a Reduced Instruction Set Computer

More information

Smart formatting for better compatibility between OpenOffice.org and Microsoft Office

Smart formatting for better compatibility between OpenOffice.org and Microsoft Office Smart formatting for better compatibility between OpenOffice.org and Microsoft Office I'm going to talk about the backbreaking labor of helping someone move and a seemingly unrelated topic, OpenOffice.org

More information

Defining Done in User Stories

Defining Done in User Stories This article originally appeared on Artima Developer on Wednesday, January 6, 2010. To access it online, visit: http://www.artima.com/articl es/defining_done.html Defining Done in User Stories By Victor

More information

USING APPIUM FOR MOBILE TEST AUTOMATION

USING APPIUM FOR MOBILE TEST AUTOMATION USING APPIUM FOR MOBILE TEST AUTOMATION M obile phones have made everyone s life easier, with Internet access and life-enhancing apps always within reach. But with this wider use, the pressure to quickly

More information

Managing BDD. Test Case Management for BDD Automation

Managing BDD. Test Case Management for BDD Automation Managing BDD Test Case Management for BDD Automation 1 Agenda Brief Gherkin Walkthrough Technical Challenges Adopted Process and Workflow Gherkin Builder Implementation 2 Gherkin 3 What is Gherkin It is

More information

SUCCESS STORY THE POLYCLINIC THE POLYCLINIC SPEEDS UP ITS VDI ENVIRONMENT WITH NVIDIA GRID

SUCCESS STORY THE POLYCLINIC THE POLYCLINIC SPEEDS UP ITS VDI ENVIRONMENT WITH NVIDIA GRID THE POLYCLINIC SPEEDS UP ITS VDI ENVIRONMENT WITH NVIDIA GRID Updated VDI with NVIDIA GRID wins over staff and increases user density across the organization. was founded in 1917 by a handful of doctors.

More information