我正在开发一个实验项目,我试图从JSP页面调用Selenium Webdriver脚本。所以基本上客户端将在浏览器上打开一个Web应用程序,然后单击提供的“运行”链接(这链接到run.jsp)。这将调用Server上的selenium脚本(在服务器上我有适当的steup来执行selenium脚本)。在run.jsp中,我正在尝试创建Webdriver的对象并打开google.com。这是我的run.jsp
<%@ page import="org.openqa.selenium.WebDriver"%>
<%@ page import="org.openqa.selenium.chrome.ChromeDriver"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Selenium Test</title>
</head>
<body>
<%
System.out.println("Test Selenium Here");
System.setProperty("webdriver.chrome.driver","/Users/Prateek/Downloads/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
driver.quit(); %> <h1> Test Successfull. </h1> </body> </html>
但是当我在Tomcat 7上部署此应用程序并尝试打开run.jsp时。它抛出了这个错误。
HTTP状态500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError:org / openqa / selenium / WebDriver
输入例外报告
消息javax.servlet.ServletException: java.lang.NoClassDefFoundError:org / openqa / selenium / WebDriver
说明服务器遇到内部错误,导致无法完成此请求。
我不确定它是否有可能实现我的目标。寻求指导。
答案 0 :(得分:3)
错误清楚地表明界面&#34; org.openqa.selenium.WebDriver&#34;不在类路径中。您是否已将selenium jar包含在tomcat的lib目录中或类路径中?
我的问题是:你在做什么试验?如果用户单击您的链接并且此请求到达服务器并且浏览器实例将在服务器而不是客户端启动?你真的需要这个功能吗?为了什么?请澄清目的。
答案 1 :(得分:0)
根据我的理解,他们会尝试从网页上运行selenium Scripts,
我已经使用java swing(桌面应用程序)完成了这个,我有一个共同的库和函数,然后我的swing UI将调用库函数...
你可以试试这个......