2013-05-21 2 views
0

Я создал динамический веб-проект, реализовал функцию, которая использует в ней селен, добавила selenium-server-standalone-2.32.0.jar в buidlpath проекта, затем использовал мастер для создания веб-сервера и клиента. Появилось предупреждение, что:selenium в веб-службе throws java.lang.NoClassDefFoundError exception

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 

Затем я добавил тот же банку файл в/Lib папку WEB-INF и запустил его снова, но это показывает, то же исключение. Есть ли какое-то другое место, которое мне нужно добавить в банку? Любая помощь будет оценена по достоинству.

Код для сервера ниже:

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

ответ

Смежные вопросы