how to automate flash application with selenium webdriver? Example 3

 

Get the code

Link1

Link2

 

FlashObjectWebDriver.java

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;


public class FlashObjectWebDriver {
 private final WebDriver webDriver;
 private final String flashObjectId;

public FlashObjectWebDriver(final WebDriver webDriver, final String flashObjectId) {
 this.webDriver = webDriver;
 this.flashObjectId = flashObjectId;
 }

public String click(final String objectId, final String optionalButtonLabel) {
 return callFlashObject("doFlexClick", objectId, optionalButtonLabel);
 }

public String click(final String objectId) {
 return click(objectId, "");
 }

public String callFlashObject(final String functionName, final String... args) {
 final Object result =
 ((JavascriptExecutor)webDriver).executeScript(
 makeJsFunction(functionName, args),
 new Object[0]);

return result != null ? result.toString() : null;
 }

private String makeJsFunction(final String functionName, final String... args) {
 final StringBuffer functionArgs = new StringBuffer();

if (args.length > 0) {
 for (int i = 0; i < args.length; i++) {
 if (i > 0) {
 functionArgs.append(",");
 }
 functionArgs.append(String.format("'%1$s'", args[i]));
 }
 }
 return String.format(
 "return document.%1$s.%2$s(%3$s);",
 flashObjectId,
 functionName,
 functionArgs);
 }

}

 

Color_shawkath.java

import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;


public class Color_shawkath {


 private final static String GREEN = "GREEN";
 private final static String BLUE = "BLUE";
 private final static String RED = "RED";
 private final static String URL = "http://tinyurl.com/c937qt7";

 @Test
 public void TestColor() throws InterruptedException{
 FirefoxDriver driver = new FirefoxDriver();
 driver.manage().window().maximize();
 FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "coloredSquare");

 driver.get(URL);

 //Assert.assertEquals("Clicking Colors", driver.getTitle());

 Assert.assertEquals(GREEN, flashApp.callFlashObject("getColor"));
 flashApp.callFlashObject("click");
 Thread.sleep(10000L);
 Assert.assertEquals(BLUE, flashApp.callFlashObject("getColor"));
 flashApp.callFlashObject("click");
 Thread.sleep(10000L);
 Assert.assertEquals(RED, flashApp.callFlashObject("getColor"));
 flashApp.callFlashObject("click");
 Thread.sleep(10000L);
 Assert.assertEquals(GREEN, flashApp.callFlashObject("getColor"));

 driver.quit();
 }


}

Advertisements
Pupunzi

For a better web

Tech

News and reviews from the world of gadgets, gear, apps and the web

VentureBeat

News About Tech, Money and Innovation

Digital Inspiration

Tips and tutorials around all things tech.

Thinkwareglobal's Blog

Just another WordPress.com weblog

Kenazari's Blog

Just another WordPress.com weblog

Richfowler1's Blog

Just another WordPress.com weblog

Romaicus's Blog

Just another WordPress.com weblog

botlaguduri

Just another WordPress.com site

chandanag89

Just another WordPress.com site

meghshetty

Just another WordPress.com site

digitalmediaexpert

digital media expert blog

Thinking in Silverlight

Silverlight/WPF/Windows 8 Store App

Different Journeys

Let's make life easier!

LAW RESOURCE INDIA

LEGAL RESOURCE CENTRE / COURT JUDGMENTS / LEGAL ARCHIVES

BookConnect

Promoting Indian language Books

Mary Ann M-P's Blog

Selenium: My Take

Actively Lazy

Software, crafted with passion

SAPonPower

An ongoing discussion about SAP infrastructure

SAP Career

Your Career Mentor

hrsapcertification

Just another WordPress.com site

The secret product manager

Thoughts about product management, SUSE, Linux, ARM processors, Cloud, AIX, Power Systems, and other things that interest me

Sap Certification Material . Com

Quality store for sap software and courses

Simon Les Flex's Blog

SAP Process Integration Specialist - NOW WE CAN DO BETTER!

Oracle Technologies Primer

An Oracle Fusion Middleware and iPaaS blog!

Gilberto Holms

Java, Middleware, SOA Architecture Blog

The Skeleton

Java code skeletons, tips and pointers

J@n van Zoggel

integration, innovation & random technology stuff

The Pragmatic Integrator

Hints and tips from a pragmatic integration specialist

briskwalk

The pace of life..

Optimalbg's Blog

Just another WordPress.com site

IT Jobs in USA

Keep the track of this Blog if you are looking out for some good Opportunities to work in USA....

Referral Jobs | Right Place to Get a Job

Hurry you are one Click away to get a job - Fresher Jobs for 2012, 2013 fresher’s and also high paid jobs for well Experienced IT professionals on Referal jobs.

eccinternational.wordpress.com/

ISO Consulting | ISO 27001 | ISO 20000 | CMMI | BCM | GRI Sustainability Reporting & Assurance | eLearning | Trainings | Philippines

Michael Korn's Blog

Musings on Life, Career, Faith and Technology

WORKINGWITHQTP

Just another WordPress.com weblog

Solutions365

.net, WCF, Unity, IOC, SQL

SQA and Testers Blog

Just another WordPress.com weblog

Expertqtp's Weblog

Just another WordPress.com weblog

Sai Chamarthi

Experienced Testing Professional

saxenavinay

A great WordPress.com site

Suresh4qtp's Blog

Just another WordPress.com site

jonah95hill

This WordPress.com site is the cat’s pajamas

It's always something...

Just another WordPress.com weblog

Faculty of Information Technology - Lê Ngọc Tiến

Be Yourself! Simplify Our Goals! Nothing is Impossible!

Anti-Malware Testing

Thoughts on security product testing past and present

Methods & Tools

Practical knowledge for the software developer, tester and project manager