3.you can make a java file with this code.
package com.kdf;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FlexWebDriver {
private final WebDriver webDriver;
private final String flashObjectId;
public FlexWebDriver(final WebDriver webDriver, final String flashObjectId) {
this.webDriver = webDriver;
this.flashObjectId = flashObjectId;
}
public String doFlexClickMenuBarUIComponent(final String objectId, final String optionalButtonLabel) {
return call("doFlexClickMenuBarUIComponent", objectId, optionalButtonLabel);
}
public String doFlexClickMenuBarUIComponent(final String objectId) {
return doFlexClickMenuBarUIComponent(objectId, "");
}
public String click(final String objectId, final String optionalButtonLabel) {
return call("doFlexClick", objectId, optionalButtonLabel);
}
public String click(final String objectId) {
return click(objectId, "");
}
public String ClickDataGridItem(final String objectId, final String optionalButtonLabel) {
return call("doFlexClickDataGridItem", objectId, optionalButtonLabel);
}
public String ClickDataGridItem(final String objectId) {
return click(objectId, "");
}
public String FlexClickDataGridUIComponent(final String objectId, final String optionalButtonLabel) {
return call("doFlexClickDataGridUIComponent", objectId, optionalButtonLabel);
}
public String FlexClickDataGridUIComponent(final String objectId) {
return FlexClickDataGridUIComponent(objectId, "");
}
public String FlexSelectComboByLabel(final String objectId, final String optionalButtonLabel) {
return call("doFlexSelectComboByLabel", objectId, optionalButtonLabel);
}
public String doFlexSelectComboByLabel(final String objectId) {
return click(objectId, "");
}
public String FlexSelect(final String objectId, final String optionalButtonLabel) {
return call("doFlexSelect", objectId, optionalButtonLabel);
}
public String FlexSelect(final String objectId) {
return FlexSelect(objectId, "");
}
public String FlexRefreshIDToolTips(final String objectId, final String optionalButtonLabel) {
return call("doFlexRefreshIDToolTips", objectId, optionalButtonLabel);
}
public String FlexRefreshIDToolTips(final String objectId) {
return FlexRefreshIDToolTips(objectId, "");
}
public String FlexDoubleClick(final String objectId, final String optionalButtonLabel) {
return call("doFlexDoubleClick", objectId, optionalButtonLabel);
}
public String FlexDoubleClick(final String objectId) {
return FlexDoubleClick(objectId, "");
}
public String FlexSetFocus(final String objectId, final String optionalButtonLabel) {
return call("doFlexSetFocus", objectId, optionalButtonLabel);
}
public String FlexSetFocus(final String objectId) {
return FlexSetFocus(objectId, "");
}
public String FlexMouseMove(final String objectId, final String optionalButtonLabel) {
return call("doFlexMouseMove", objectId, optionalButtonLabel);
}
public String FlexMouseMove(final String objectId) {
return FlexMouseMove(objectId, "");
}
public String FlexType(final String objectId, final String optionalButtonLabel) {
return call("doFlexType", objectId, optionalButtonLabel);
}
public String FlexType(final String objectId) {
return FlexType(objectId, "");
}
public String getFlexDataFieldLabelForGridRow(
String dataGridId, String field, int row) {
return call("getFlexDataGridFieldLabelForGridRow", dataGridId, field, Integer.toString(row));
}
public int getFlexDataGridRowCount(String dataGridId ) {
return Integer.parseInt(call("getFlexDataGridRowCount", dataGridId));
}
public int getSelectionIndex(String selectionFieldId) {
return Integer.parseInt(call("getFlexSelectionIndex", selectionFieldId, ""));
}
//... Omitted for clarity ...
private String call(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);
}
}
Now you can use these functions in your selenium file.
For More functions download user extension
I hope you got the point.