java - Selenium in a web service - jar not loaded -
i tried implement web service in bottom-up manner. first created dynamic web project , implemented function uses selenium. added selenium-server-standalone-3.23.0.jar project's buildpath. added same jar file deployment assembly. used web service wizard generate web server , client. after added same selenium jar file web-inf/lib folder of server , tried run function, function returned exception:
java.lang.noclassdeffounderror: org/openqa/selenium/webdriver @ java.lang.class.forname0(native method) @ java.lang.class.forname(unknown source) @ org.apache.axis.utils.classutils$2.run(classutils.java:177) @ java.security.accesscontroller.doprivileged(native method) @ org.apache.axis.utils.classutils.loadclass(classutils.java:160) @ org.apache.axis.utils.classutils.forname(classutils.java:142) @ org.apache.axis.utils.cache.classcache.lookup(classcache.java:85) @ org.apache.axis.providers.java.javaprovider.getserviceclass(javaprovider.java:428) @ org.apache.axis.providers.java.javaprovider.initservicedesc(javaprovider.java:461) @ org.apache.axis.handlers.soap.soapservice.getinitializedservicedesc(soapservice.java:286) @ org.apache.axis.deployment.wsdd.wsddservice.makenewinstance(wsddservice.java:500) @ org.apache.axis.deployment.wsdd.wsdddeployableitem.getnewinstance(wsdddeployableitem.java:274) @ org.apache.axis.deployment.wsdd.wsdddeployableitem.getinstance(wsdddeployableitem.java:260) @ org.apache.axis.deployment.wsdd.wsdddeployment.getservice(wsdddeployment.java:427) @ org.apache.axis.configuration.fileprovider.getservice(fileprovider.java:231) @ org.apache.axis.axisengine.getservice(axisengine.java:311) @ org.apache.axis.messagecontext.settargetservice(messagecontext.java:756) @ org.apache.axis.handlers.http.urlmapper.invoke(urlmapper.java:50) @ org.apache.axis.strategies.invocationstrategy.visit(invocationstrategy.java:32) @ org.apache.axis.simplechain.dovisiting(simplechain.java:118) @ org.apache.axis.simplechain.invoke(simplechain.java:83) @ org.apache.axis.server.axisserver.invoke(axisserver.java:239) @ org.apache.axis.transport.http.axisservlet.dopost(axisservlet.java:699) @ javax.servlet.http.httpservlet.service(httpservlet.java:647) @ org.apache.axis.transport.http.axisservletbase.service(axisservletbase.java:327) @ javax.servlet.http.httpservlet.service(httpservlet.java:728) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:222) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:171) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:99) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:953) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:408) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1008) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:589) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ java.lang.thread.run(unknown source) caused by: java.lang.classnotfoundexception: org.openqa.selenium.webdriver @ org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader.java:1714) @ org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader.java:1559) ... 42 more
then looked @ console , saw said:
may 21, 2013 8:45:09 pm org.apache.catalina.loader.webappclassloader validatejarfile info: validatejarfile(c:\eclipseworkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\sonkezeko3\web-inf\lib\selenium-server-standalone-2.32.0.jar) - jar not loaded. see servlet spec 2.3, section 9.7.2. offending class: javax/servlet/servlet.class
what causing this? should use other jar file? code of server below:
package test.sonkezeko3; 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 sonkezeko3 { public string ekobilet(string from, string to, string date) { //firefox browser instantiation webdriver driver = new firefoxdriver(); //loading 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.clear(); datetext.sendkeys(date); //sign in button identification , click webelement searchbutton = driver.findelement(by.id("ctl00_ctl00_ctl00_cph1_cph1_quicksearchall1_quickflightsearchcontrol1_btnsearch")); searchbutton.click(); string page = driver.getpagesource(); //closing 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"); } } }
try avoid using standalone jars rather use selenium-java-2.37.0.jar , try. worked me. keep lib
folder inside web-inf
only.
Comments
Post a Comment