从 servlet.java 启动 WebDriver 会引发异常

软件测试 硒网络驱动程序 爪哇
2022-01-31 18:14:34

我准备了一个可以启动 WebDriver 的 Web 界面。我使用了 servlet.java。我正在使用 JBoss 应用程序服务器,当我尝试运行它时,我收到以下异常

13:39:40,779 错误 [[ArikTest]] Servlet.service() for servlet ArikTest 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java 抛出异常 java.lang.ClassNotFoundException: org.openqa.selenium.WebDriver :1358) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at ArikTest.doGet(ArikTest.java:47) at javax.servlet。 http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) at org .apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve. java:230) 在 org.jboss.web.tomcat.security.SecurityAssociationValve.invoke (SecurityAssociationValve.java:182) 在 org.jboss.web 的 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) .tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :102) 在 org.apache.catalina.core 的 org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke (CachedConnectionValve.java:157)。StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org .apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process (Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run (来源不明)Thread.run(未知来源)Thread.run(未知来源)

更新以响应@xeranos:

感谢您的快速回复,对于您的问题,顺便说一句,我没有使用 maven。这是我想做的一个例子:

WebDriver driver = new FirefoxDriver();

现在,如果我选择右键单击-> 作为 java 应用程序运行。

结果:运行正常,没问题

但是当我尝试从 Web 应用程序运行它时,这是一个示例:

//servlet that receive a submit from a JSP page and i want the webdriver to start

public class HelloServlet extends HttpServlet {

    public void doGet(HttpServletRequest request,
          HttpServletResponse response)

    WebDriver driver = new FirefoxDriver(); 

}

我遇到了上述异常,我使用了 JBOSS 应用程序服务器,并尝试构建一个 JSPnpage,只需单击一个按钮,自动化就会启动。

可能吗?我收到这个错误是因为我试图在 Jboss 服务器上运行它吗?

2个回答

在创建 Selenium 项目时使用了Maven吗?因为看起来你有依赖问题。创建基本 Selenium 项目所需的所有信息都可以在官方文档中找到。

设置 Selenium 2.0 Java 项目的最简单方法是使用 Maven。Maven 将下载 Java 绑定(Selenium 2.0 Java 客户端库)及其所有依赖项。

您的问题与测试没有任何关系。您需要找到可以告诉您如何将 Selenium 客户端部分包含在 JBoss 的 war(或 ear?)文件中的人。也许您应该尝试在stackoverflow上发布您的问题。