2013-05-21 109 views
0

我創建了一個動態web項目,實現了一個使用了selenium的函數,在項目的buidlpath中添加了selenium-server-standalone-2.32.0.jar,然後使用該向導來生成Web服務器和客戶端。它彈出一條警告,內容如下:Web服務中的selenium拋出java.lang.NoClassDefFoundError異常

The service class "test.eko3.TestEko3" does not comply to one or more requirements of the JAX-RPC 1.1 specification, and may not deploy or function correctly. 
The value type "org.openqa.selenium.WebDriver" used via the service class "test.eko3.TestEko3" does not have a public default constructor. Chapter 5.4 of the JAX-RPC 1.1 specification requires a value type to have a public default constructor, otherwise a JAX-RPC 1.1 compliant Web service engine may be unable to construct an instance of the value type during deserialization. 
The field or property "windowHandles" on the value type "org.openqa.selenium.WebDriver" used via the service class "test.eko3.TestEko3" has a data type, "java.util.Set", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result. 

我點擊確定,它繼續生成服務器和客戶端。當它完成後,我試圖從客戶端測試它顯示在結果顯示此異常:

Exception: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver; nested exception is: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver Message: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver; nested exception is: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver 

然後我說同樣的jar文件到WEB-INF/lib文件夾,並再次運行它,但它顯示了同樣的例外。還有其他地方需要添加jar嗎?任何幫助,將不勝感激。

服務器的代碼如下:

package test.eko3; 

import org.openqa.selenium.By; 
import org.openqa.selenium.JavascriptExecutor; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.support.ui.ExpectedCondition; 
import org.openqa.selenium.support.ui.Wait; 
import org.openqa.selenium.support.ui.WebDriverWait; 

public class TestEko3 { 
public String Ekobilet(String from, String to, String date) { 

    //Firefox browser instantiation 
    WebDriver driver = new FirefoxDriver(); 

    //Loading the URL 
    driver.get("http://www.amadeusepower.com/trek/portals/trek/default.aspx?Culture=en-US"); 


    WebElement radioOneway = driver.findElement(By.id("ctl00_ctl00_ctl00_cph1_cph1_QuickSearchAll1_QuickFlightSearchControl1_rbFlightType_1")); 
    radioOneway.click(); 

    waitForPageLoaded(driver); 


    WebElement fromText = driver.findElement(By.id("ctl00_ctl00_ctl00_cph1_cph1_QuickSearchAll1_QuickFlightSearchControl1_txtSearch_txtFrom")); 
    fromText.clear(); 
    fromText.sendKeys(from); 


    WebElement toText = driver.findElement(By.id("ctl00_ctl00_ctl00_cph1_cph1_QuickSearchAll1_QuickFlightSearchControl1_txtSearch_txtTo")); 
    toText.sendKeys(to); 


    WebElement dateText = driver.findElement(By.id("ctl00_ctl00_ctl00_cph1_cph1_QuickSearchAll1_QuickFlightSearchControl1_txtDepartureDate_txtDate")); 
    dateText.sendKeys(date); 

    //Sign in button identification and click it 
    WebElement searchbutton = driver.findElement(By.id("ctl00_ctl00_ctl00_cph1_cph1_QuickSearchAll1_QuickFlightSearchControl1_btnSearch")); 
    searchbutton.click(); 

    String page = driver.getPageSource(); 


    //Closing the browser 
    driver.close(); 

    return page; 

    } 

    public static void waitForPageLoaded(WebDriver driver) { 

     ExpectedCondition<Boolean> expectation = new 
    ExpectedCondition<Boolean>() { 
      public Boolean apply(WebDriver driver) { 
      return ((JavascriptExecutor)driver).executeScript("return document.readyState").equals("complete"); 
      } 
     }; 

     Wait<WebDriver> wait = new WebDriverWait(driver,30); 
     try { 
       wait.until(expectation); 
     } catch(Throwable error) { 
       System.out.println("exception yavrum"); 
     } 
    } 

} 
+0

代碼在哪裏? –

+0

@JunedAhsan我將代碼添加到問題中。 – ManahManah

回答

相關問題