2017-03-27 23 views
0

セレングリッド用のサーブレットを作成しました。セレンに関する情報をすべて実際には追ってきましたが、私はまだそれを取得しません。ここで私のサーブレットがSelenium Gridで表示されない理由

は私のサーブレット内のコードです:

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のthatsです

<?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のクラスが含まれていないため、サーブレットは決してグリッドに登録されません。

問題は、私はページ http://localhost:4444/grid/admin/Servletを打ったとき、私はおっとページを取得することです

を説明します。

次のいずれかを選択します。

  1. あなたは
  2. (その方法は唯一java -jar十分である)あなたが同じ瓶内セレンライブラリや、あなたのサーブレットクラスの両方を含んでユーバーjarを構築クラスパスにドロップし、あなたのservletPackage.Servletクラスのうちのjarファイルを構築し、java -cp selenium-server-standalone-3.0.0.jar;myjar.jar -servlets servletPackage.Servletに頼ら(あなたは窓や使用上にある場合、ここで瓶を分離するために;を使用して「:」あなたはOSX/Unixである場合)
あなたのサーブレットがで配線されるはずです。この後

私はセレングリッドのためと私は はセレン上のすべての情報(あまり上をたどってきた見ることができるものからサーブレットを作りました実際には )しかし、私はまだそれを取得しないでください。

ドキュメントに関して完全に真実ではありません。公式のドキュメントページhereを参照しましたか?

編集:ここは私のウェブです。瓶の中のxmlのもの

ここではweb.xmlが必要なのか疑いがあります。私がグリッドコードで見たものから、初期化をラッピングするためにはweb.xmlを参照しているとは思われません。

+0

うん、私はそのサイトの指示に従いました、そして、それはクラスパスに瓶を入れることについて何も言いませんでした。コード例もありません。私は、C#のようなものに甘えていると思います。例はMSDN全体です。私はあなたの提案を試してみましょう。私はすでにパッケージから瓶を作りました。 – Festivejelly

+0

悲しいことに、私は次のようなことがあります。 C:\ Repos \ selenium-grid \ Package> java -classpath "selenium-server-standalone-3.0.0.jar; Servlet.jar" -servlets servletPackage.SampleServlet -role hub -port 4444 認識できないオプション:-servlets – Festivejelly

関連する問題