我已经制作了一个用于硒网格的servlet,从我所看到的,我已经跟踪了关于硒的所有信息(实际上没有多少)但是我仍然没有得到它。
这是我的servlet中的代码:
package servletPackage;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Servlet
*/
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("test");
PrintWriter write = response.getWriter();
write.println("This is <b>bold</b>");
}
}
我正在启动我的网格中心:
java -jar selenium-server-standalone-3.0.0.jar -role hub -port 4444 -servlets servletPackage.Servlet
问题是当我点击页面http://localhost:4444/grid/admin/Servlet时,我得到一个哎呀页面。我不明白我在哪里错了。我的代码中有错误吗?当网格启动时,我没有看到它抛出任何异常。
编辑:这是我在jar中的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>SampleServlet</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description>This is a sample servlet</description>
<display-name>Servlet</display-name>
<servlet-name>Servlet</servlet-name>
<servlet-class>servletPackage.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/Servlet</url-pattern>
</servlet-mapping>
</web-app>
答案 0 :(得分:0)
问题在于您启动Grid的方式
java -jar selenium-server-standalone-3.0.0.jar -role hub -port 4444 -servlets servletPackage.Servlet
我猜selenium-server-standalone-3.0.0.jar
代表您从Selenium downloads页面下载的jar。
因为你正在做java -jar
并且因为你的jar不包含servletPackage.Servlet
的类,所以servlet永远不会被注册到Grid。
解释
问题出在我点击页面时 http://localhost:4444/grid/admin/Servlet我收到了一个哎呀的页面。
选择以下其中一项:
java -jar
才足够)servletPackage.Servlet
类中构建一个jar,将它放在类路径中,然后求助于java -cp selenium-server-standalone-3.0.0.jar;myjar.jar -servlets servletPackage.Servlet
(如果你在windows上使用;
来分隔jar并使用它们':'如果您使用的是OSX / Unix)在此之后,您应该看到您的servlet已连接。
我已经制作了一个用于硒网格的servlet,从我所能看到的 跟踪了关于硒的所有信息(那里没有太多信息) 实际上)但我仍然没有得到它。
在文档方面并非完全正确。您是否参考了官方文档页面here?
编辑:这是我在jar中的web.xml
我怀疑你是否需要web.xml
。从我在网格代码中看到的情况来看,我认为它不会引用任何web.xml
来包装初始化。