Presentation on theme: "Cross Platform UI testing using Sikuli"— Presentation transcript:
1 Cross Platform UI testing using Sikuli -Amit Dixit-Dipesh Bhatewara
2 Objective Testing of mobile based application Current platform specific toolsChallengesGeneric Solution For All The Platforms
3 Mobile Platforms And Testing Tools AndroidAndroid InstrumentationRobotiumSeleniumdroidiOSUI AutomationFoneMonkeyFrankSymbianCTS (Compatibility Test Suite)
4 Android Android Instrumentation Robotium Selenium droid Paid Tool Instrumentation framework based on JUINT3Framework supports activities , toasts , context menus etc.RobotiumExtends Android Instrumentation FrameworkCan develop powerful test cases Can handle multiple activities Blazing fast test executionRuns on a deviceSelenium droidRuns in android browserUse native touch events to emulate user interactionPaid ToolSee Test
6 Challenges Generic Challenge Technical Challenge Diversity of devices /platformsApplication complexityTechnical ChallengeLarge no of test casesVerification of UI
7 Solution Test Automation Benefits Generic Way for Test Automation on multiple platforms(Use tools like Sikuli). This will solve maintenance problem.Build Reliable and comprehensive test frameworkBenefitsCost ReductionIncreased productivityBetter application Quality
9 Approach to solve the problem Image based test automationAutomate user operations eg. Click, type, drag- drop, mouse actions etc.Visual verification of the expected outputNot dependent on platform underneathCan be used to automate emulator as well as device.9
10 Advantages of the approach Can accurately test GUI and rendering of applications.Write test outside the deviceCan be used to automate multiple devices without getting into details of each platform technologyCan perform actions on Emulator (Virtual Boxes)Easy to automate.
11 Limitations of the approach Highly depends on the Resolution.Can not run in background.Dynamic paths are tricky to automate.
12 What is Sikuli? Visual technology to automate GUI using images. MIT research project. Open Source license.Sikuli IDESikuli Script APIAutomates anything on screen without internal API's supportWorks on Windows, Mac, Linux.
15 Solution proposed in demo to test Calculator Use Java for test Project, Use JunitImport Sikuli Script APIWrite single test which will use an interface for calculator operationsImplement interface for Android and Iphone with different set of images required for automationRun same test by changing the configuration on multiple emulators/devicesCan see the device on your machine using VNC and use that view to run your test on.