Presentation on theme: "Cross Platform UI testing using Sikuli"— Presentation transcript:
1Cross Platform UI testing using Sikuli -Amit Dixit-Dipesh Bhatewara
2Objective Testing of mobile based application Current platform specific toolsChallengesGeneric Solution For All The Platforms
3Mobile Platforms And Testing Tools AndroidAndroid InstrumentationRobotiumSeleniumdroidiOSUI AutomationFoneMonkeyFrankSymbianCTS (Compatibility Test Suite)
4Android 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
6Challenges Generic Challenge Technical Challenge Diversity of devices /platformsApplication complexityTechnical ChallengeLarge no of test casesVerification of UI
7Solution 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
9Approach 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
10Advantages 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.
11Limitations of the approach Highly depends on the Resolution.Can not run in background.Dynamic paths are tricky to automate.
12What 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.
15Solution 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.