16
Tech Next - http://meetup.com/technext -Amit Dixit -Dipesh Bhatewara Cross Platform UI testing using Sikuli

Tech Next - -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Embed Size (px)

Citation preview

Page 1: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

-Amit Dixit -Dipesh Bhatewara

Cross Platform UI testing using Sikuli

Page 2: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Objective

Testing of mobile based applicationCurrent platform specific tools Challenges Generic Solution For All The Platforms

Page 3: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Mobile Platforms And Testing Tools

Page 4: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Android

• Android Instrumentation• Instrumentation framework based on JUINT3• Framework supports activities , toasts , context menus

etc.• Robotium

Extends Android Instrumentation Framework Can develop powerful test cases  Can handle multiple activities  Blazing fast test execution Runs on a device

• Selenium droid • Runs in android browser • Use native touch events to emulate user interaction

Paid ToolSee Test

Page 5: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

iOS

UI Automation• Tests in JavaScript• Allows you to write test scripts to exercise your

application’s user interface elements• Runs on a connected device / simulator

FoneMoneky• FoneMonkey is a functional testing tool for the iPhone

providing for the interactive creation, editing and playback of automation scripts

• Easily incorporated into continuous integrationFrank

• Provide support for automating functional testing of an iOS app.

• Integrate with BDD tools like cucumber • Works on device and simulator

Page 6: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Challenges

Generic Challenge Diversity of devices /platforms Application complexity

Technical Challenge Large no of test cases Verification of UI

Page 7: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Solution

Test Automation Generic Way for Test Automation on multiple

platforms(Use tools like Sikuli). This will solve maintenance problem.

Build Reliable and comprehensive test framework

Benefits Cost Reduction Increased productivity Better application Quality

Page 8: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Nature of Mobile Applications

(xcode – objective C)

Calculator(XCODE – Objective C)

•(java – android SDK)

Calculator (java- android SDK)

(webos – JS/CSS)

Calculator (webos – JS/CSS)

Application(Calculator)

Page 9: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Approach to solve the problem

• Image based test automation

• Automate user operations eg. Click, type, drag-drop, mouse actions etc.

• Visual verification of the expected output

• Not dependent on platform underneath

• Can be used to automate emulator as well as device.

Page 10: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Advantages of the approach

• Can accurately test GUI and rendering of applications.

• Write test outside the device

• Can be used to automate multiple devices without getting into details of each platform technology

• Can perform actions on Emulator (Virtual Boxes)

• Easy to automate.

Page 11: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Limitations of the approach

• Highly depends on the Resolution.

• Can not run in background.

• Dynamic paths are tricky to automate.

Page 12: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

What is Sikuli?

• Visual technology to automate GUI using images.

• MIT research project. Open Source license.

• Sikuli IDE

• Sikuli Script API

• Automates anything on screen without internal API's support

• Works on Windows, Mac, Linux.

Page 13: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Sample Sikuli Script

Page 14: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

DEMO

Page 15: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Solution proposed in demo to test Calculator

• Use Java for test Project, Use Junit

• Import Sikuli Script API

• Write single test which will use an interface for calculator operations

• Implement interface for Android and Iphone with different set of images required for automation

• Run same test by changing the configuration on multiple emulators/devices

• Can see the device on your machine using VNC and use that view to run your test on.

Page 16: Tech Next -  -AMIT DIXIT -DIPESH BHATEWARA Cross Platform UI testing using Sikuli

Tech Next - http://meetup.com/technext

Q & A