+ All Categories
Home > Technology > Cross browser Testing JavaScript

Cross browser Testing JavaScript

Date post: 01-Sep-2014
Category:
Upload: alan-parkinson
View: 2,333 times
Download: 2 times
Share this document with a friend
Description:
One mistake many people make is running their selenium test suites with every browser combination... you don't need to! Rendering problems are probably the biggest cross browser compatibility issue, and you can't actually test for these with Functional Tests. So by running Selenium tests across many browsers you are really testing JavaScript and DOM compatibility. Running our Selenium tests across many browsers was our JavaScript compatibility strategy, but it proved inefficient as we ended up with bugs in Internet Explorer; how embarrassing!
Popular Tags:
15
Cross Browser testing JavaScript Alan Parkinson CEO, Hindsight Software Ltd @alan_parkinson
Transcript
Page 1: Cross browser Testing JavaScript

Cross Browser testing JavaScript

Alan ParkinsonCEO, Hindsight Software Ltd

@alan_parkinson

Page 2: Cross browser Testing JavaScript
Page 3: Cross browser Testing JavaScript

You don’t need to run your Selenium Test suite with every browser*

The Truth

Page 4: Cross browser Testing JavaScript

• No visual testing

• Low JavaScript code coverage

• Costly to improve coverage

Rendering Compatibility

JavaScript/DOM Compatibility

What do we achieve?

Page 5: Cross browser Testing JavaScript

• JavaScript and DOM compatibility• Good code coverage• Reusing a development artifact

Run all JavaScript unit tests cross browser

Simple Answer

Page 6: Cross browser Testing JavaScript

• Average Test: 8 Seconds• Test Suite: 5 minutes

• Average Test: 0.1 seconds

• Test suite: 11 seconds

Functional Tests

JavaScript Unit Tests

Looking at the numbers

Page 7: Cross browser Testing JavaScript

Do we meet our compatibility objective?

Code Coverage has a use

Page 8: Cross browser Testing JavaScript

• Too many JavaScript files • Order of loading files

Not everything will be picked up by Unit Tests

*The qualifier

Only run critical functional tests cross-browser

Page 9: Cross browser Testing JavaScript

JAVASCRIPT TEST RUNNERSReusing your Selenium infrastructure

Page 10: Cross browser Testing JavaScript

• Testing Framework Agnostic• Continuous Integration• Code coverage with Instanbul

• Launch Browsers

• Manually connect browsers

Spectacular Test Runner for JavaScript

Real Browsers

Karma

Page 11: Cross browser Testing JavaScript

• Connects Remote WebDriver Instances• Selenium Grid 2• Supports Desired Capabilities

Reusing your Selenium Infrastructure

Karma WebDriver Launcher

Page 12: Cross browser Testing JavaScript

Karma in action

$ npm install -g karma

$ npm install -g karma-webdriver-launcher

Page 13: Cross browser Testing JavaScript

Continuous Integration

Override karma.conf.js from the command line

singleRun: truereporters: [‘junit’]

Page 14: Cross browser Testing JavaScript

• Code Coverage• Feedback time• Meeting our objective - Compatibility

• Karma Runner

• Use your existing WebDriver infrastructure

• Use code coverage to validate the majority of your code is compatibility tested.

Functional tests have poor performance:

Cross-browser unit test JavaScript

Summary

Page 15: Cross browser Testing JavaScript

http://karma-runner.github.io/

https://github.com/hindsightsoftware/karma-webdriver-example

Thank youAlan Parkinson

@alan_parkinson


Recommended