2017-03-27 25 views
0

我已經爲Selenium網格創建了一個servlet,並且從我所看到的我已經遵循了關於硒的所有信息(實際上並沒有太多),但是我仍然沒有得到它。爲什麼我的servlet在Selenium Grid中顯示

這裏是我的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的頁面,我收到了哎呦頁。我不明白我要去哪裏錯了。我的代碼中有錯誤嗎?當網格啓動時,我沒有看到它會拋出任何異常。

編輯:這是罐內我的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

你的web.xml在哪裏? – developer

+0

@javaguy我已添加信息 – Festivejelly

回答

0

的問題是在方法中,你正在啓動網格

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頁面下載的罐子。

因爲您在做java -jar並且由於您的jar不包含servletPackage.Servlet的類,因此該servlet永遠不會註冊到網格。

這也解釋了

問題是,當我打的頁面 http://localhost:4444/grid/admin/Servlet我得到一個哎呦頁面。

選擇下列之一:

  1. 爲您打造一個超級罐子其中既包括硒庫,並在同一個罐子(這樣只java -jar就足夠了)你的servlet類
  2. 你從你的servletPackage.Servlet類中建立一個罐子,把它放在類路徑中,然後求助於java -cp selenium-server-standalone-3.0.0.jar;myjar.jar -servlets servletPackage.Servlet(這裏用;來分隔如果你在windows上使用':'如果你在OSX/Unix上使用':')

之後,你會看到你的servlet中有線。

我做了硒網格中的servlet和從我可以看到我已經 遵循了所有信息的硒(沒有太多實際上有 ),但我仍然沒有明白。

在文檔方面不完全正確。你提到官方文檔頁面here

編輯:這是我的網頁。XML裏面的罐子裏

我懷疑你是否需要一個web.xml在這裏。根據我在Grid代碼中看到的,我認爲它並不涉及任何web.xml來包裝初始化。

+0

是的,我遵循該網站上的說明,它沒有提到將jar包括在類路徑中。它也沒有代碼示例。我想我已經被像C#這樣的例子遍佈MSDN的東西寵壞了。我會試一試你的建議。我已經從我的包裝中建立了罐子,所以生病了。 – Festivejelly

+0

可悲的是,沒有工作我得到了以下幾點: C:\ Repos \硒硒網格\軟件包> java -classpath「硒服務器獨立3.0.0.jar; Servlet.jar」-servlets servletPackage.SampleServlet -role hub -port 4444 無法識別的選項:-servlets – Festivejelly

相關問題