2012-06-08 71 views
0

我已經做了一些示例代碼來選擇使用webdriver在Flash頁面組合框,但選擇(...)和類型(....)方法不是工作,但點擊(....)方法正常工作。在Flash頁面選擇框(組合框)不工作使用Webdriver

請幫忙解決這個問題。 類型1:下面的方法不起作用。

public void type(String locator, String value) 
{ 
    ((JavascriptExecutor) webDriver).executeScript("document.getElementById('" + flashObjectId + "').fp_type({" + locator +", 'text':'"+ value +"'})"); 
} 

public void select(String locator, String value) 
{ 
    ((JavascriptExecutor) webDriver).executeScript("document.getElementById('" + flashObjectId + "').fp_select({" + locator +", 'label':'"+ value +"'})"); 
} 

它在下面的點擊(....)方法中工作正常。

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

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])); 
      System.out.println("functionArgs: "+functionArgs); 
      } 
    } 

    return String.format(
     "return document.%1$s.%2$s(%3$s);", 
     flashObjectId, 
     functionName, 
     functionArgs); 
} 

請幫助解決這個問題在Flash中使用webdriver的選擇框和tyep操作。

由於事先 戈帕爾

回答

1

的Watir-webdriver的不支持flash頁面。

+0

謝謝SCott的支持。我已經通過URL:http://selenium-tips.blogspot.in/p/webdriver-and-flex-pilot-together-as.html並做了我的本地點擊(...)方法相同的更改工作正常,但不是選擇框(組合框),類型,DragandDrop操作。 – user187621