- 浏览: 629128 次
- 性别:
- 来自: 北京
最新评论
趁还没有忘干净写下blog
jetty的入门文章:
灰狐工作室的:http://docs.huihoo.com/jetty/1.html
selenium
yananay: http://www.iteye.com/topic/107276
一开始下载了:jetty
这里要说明
http://docs.codehaus.org/display/JETTY/Downloading+and+Installing#download
这页的下载地址可用.....
sourceforge.net上的地址全部作废
我下载6.1之后:
写了HelloJetty
项目下 建一个webapp目录
webapp
|
-testhtml.html
|
-testjsp.jsp
发现jsp不能运行
HTTP ERROR: 404
NOT_FOUND
RequestURI=/webapp/testjsp.jsp
Powered by jetty://
应该是少包的原因:
找到jsp2.1的安装包
jsp2.1.jar
jsp-api-2.1.jar
core-3.1.1.jar
加上之后
------OK----------
再下载个selenium RC
下来一看傻了眼....
NN多的包
找到selenium-java-client-driver.jar
导入项目中去.
写了一个
HellSelenium
跑了一下....
看来还是有问题
再看文档原来还要启动server端....
再运行
弹出一个页面....
Skype也来捣乱
改成*iexplore
或把skype插件拆了
再运行.....
页面卡住了....
刷新页面再运行...
鸟的....5秒都没打开.....太慢了点...再加大,9000秒
发现是网断了....
上了网之后改回5秒...
这个测试终于绿了....
--------------------------------------
我又想能不能不用dos启动selenium来呢?
看了一 下API
java.lang.VerifyError: (class: org/openqa/selenium/server/SeleniumServer, method: assembleHandlers signature: (Z)V) Incompatible argument to function
at com.maodajun.webjetty.HelloSelenium.setUp(HelloSelenium.java:15)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
板本错误????
把所有的包拆开一看......
....竟然selenium固化了一套jetty在里面.....
我倒....5.1.x
把我导入的包删去....
dos下还开着一个server占着4444端口呢.
关了dos下的seleniumserver再跑
绿了....
不过问题又出了
.....
刚刚一开始写jettyserver全红了....
看来6.1与5.1有本质上的不同啊....
不得以...去找5.1的写法...
我本以为没什么问题但:
2008-1-10 11:09:27 org.mortbay.http.HttpServer doStart
信息: Version Jetty/5.1.x
2008-1-10 11:09:27 org.mortbay.util.FileResource <clinit>
信息: Checking Resource aliases
2008-1-10 11:09:28 org.mortbay.util.Container start
信息: Started org.mortbay.jetty.servlet.WebApplicationHandler@d9660d
Exception in thread "main" java.lang.NoClassDefFoundError: org/mortbay/log/Log
at com.sun.org.apache.commons.logging.JettyLog.<init>(JettyLog.java:36)
at com.sun.org.apache.commons.logging.LogFactory.getLog(LogFactory.java:35)
at org.apache.jasper.servlet.JspServlet.<clinit>(JspServlet.java:100)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:199)
at org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:240)
at org.mortbay.jetty.servlet.ServletHandler.initializeServlets(ServletHandler.java:446)
at org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:321)
at org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
at org.mortbay.util.Container.start(Container.java:72)
at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
at org.mortbay.util.Container.start(Container.java:72)
at com.maodajun.webjetty.WebStart.main(WebStart.java:41)
这个问题上卡了半天...
左找右找....
直到我看到了这个
把jsp2.1的包换成2.0的包....lib文件数好多啊
第一阶段的改造基本完成
--------------
我把一个webserver一个seleniumserver同时启动
之后再写一个测试
运行一下....OK了....
不过有候会被卡住....
出
或者是没有响应测试也不结束.....
------------------------------------
这些可能是由于多次启动停止seleniumserver的原因...所以可以把
selenium放到testsuit中去....
连接被重置
载入页面时到服务器的连接被重置。
* 此站点暂时不可用或者太忙。请稍后重试。
* 如果您无法载入任何页面,请检查您计算机的网络连接。
* 如果您的计算机受到防火墙或代理服务器的保护,请确认 Firefox 被授权访问网页。
这个可能是由于没有设定连接数....线程被卡住了.
---------------
我遇到了,不知如何解决
由于都是开源的所以.....我把代码跟到了源代码里面去了.
PS:十在是逼的没办法了.
jetty的入门文章:
灰狐工作室的:http://docs.huihoo.com/jetty/1.html
selenium
yananay: http://www.iteye.com/topic/107276
一开始下载了:jetty
这里要说明
http://docs.codehaus.org/display/JETTY/Downloading+and+Installing#download
这页的下载地址可用.....
sourceforge.net上的地址全部作废
我下载6.1之后:
写了HelloJetty
public class HelloJetty { public static void main(String[] args) throws Exception { Server server = new Server(); BoundedThreadPool threadPool = new BoundedThreadPool(); threadPool.setMaxThreads(100); server.setThreadPool(threadPool); Connector connector = new SelectChannelConnector(); connector.setPort(8080); server.setConnectors(new Connector[] { connector }); WebAppContext context = new WebAppContext("webapp", "/webapp"); server.addHandler(context); server.setStopAtShutdown(true); server.setSendServerVersion(true); server.start(); server.join(); } }
项目下 建一个webapp目录
webapp
|
-testhtml.html
|
-testjsp.jsp
//testhtml.html <html> abc </html> //----------------------- //testjsp.jsp <%String a="jsp"; //System.out.println(a); %><%=a %>
发现jsp不能运行
引用
HTTP ERROR: 404
NOT_FOUND
RequestURI=/webapp/testjsp.jsp
Powered by jetty://
应该是少包的原因:
找到jsp2.1的安装包
jsp2.1.jar
jsp-api-2.1.jar
core-3.1.1.jar
加上之后
------OK----------
再下载个selenium RC
下来一看傻了眼....
NN多的包
找到selenium-java-client-driver.jar
导入项目中去.
写了一个
HellSelenium
public class HelloSelenium extends TestCase { private Selenium selenium; public void setUp() throws Exception { String url = "http://www.iteye.com"; selenium = new DefaultSelenium("localhost", 4444, "*firefox", url);//4444是SeleniumServer默认的端口 selenium.start(); } protected void tearDown() throws Exception { selenium.stop(); } public void testGoogleTestSearch() throws Throwable { selenium.open("/search/"); selenium.type("query", "selenium"); selenium.click("link=论坛"); selenium.waitForPageToLoad("5000"); assertEquals("JavaEye论坛频道首页",selenium.getTitle() ); } }
跑了一下....
引用
java.lang.RuntimeException: Could not contact Selenium Server; have you started it?
Catch body broken: IOException from cmd=getNewBrowserSession&1=*firefox&2=http%3A%2F%2Fwww.iteye.com -> java.net.ConnectException: Connection refused: connect
at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:70)
at com.maodajun.webjetty.HelloSelenium.setUp(HelloSelenium.java:14)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Catch body broken: IOException from cmd=getNewBrowserSession&1=*firefox&2=http%3A%2F%2Fwww.iteye.com -> java.net.ConnectException: Connection refused: connect
at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:70)
at com.maodajun.webjetty.HelloSelenium.setUp(HelloSelenium.java:14)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
看来还是有问题
再看文档原来还要启动server端....
引用
D:\server所在的目录>java -jar selenium-server.jar
10:21:50.625 INFO - Java: Sun Microsystems Inc. 1.6.0_03-b05
10:21:50.625 INFO - OS: Windows XP 5.1 x86
10:21:50.625 INFO - v0.9.2 [2006], with Core v0.8.3 [1879]
10:21:50.718 INFO - Version Jetty/5.1.x
10:21:50.718 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
/driver]
10:21:50.718 INFO - Started HttpContext[/selenium-server,/selenium-server]
10:21:50.718 INFO - Started HttpContext[/,/]
10:21:50.734 INFO - Started SocketListener on 0.0.0.0:4444
10:21:50.734 INFO - Started org.mortbay.jetty.Server@901887
10:21:50.625 INFO - Java: Sun Microsystems Inc. 1.6.0_03-b05
10:21:50.625 INFO - OS: Windows XP 5.1 x86
10:21:50.625 INFO - v0.9.2 [2006], with Core v0.8.3 [1879]
10:21:50.718 INFO - Version Jetty/5.1.x
10:21:50.718 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
/driver]
10:21:50.718 INFO - Started HttpContext[/selenium-server,/selenium-server]
10:21:50.718 INFO - Started HttpContext[/,/]
10:21:50.734 INFO - Started SocketListener on 0.0.0.0:4444
10:21:50.734 INFO - Started org.mortbay.jetty.Server@901887
再运行
弹出一个页面....
Skype也来捣乱
改成*iexplore
或把skype插件拆了
再运行.....
页面卡住了....
刷新页面再运行...
引用
com.thoughtworks.selenium.SeleniumException: Timed out after 5000ms
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:73)
at com.thoughtworks.selenium.DefaultSelenium.waitForPageToLoad(DefaultSelenium.java:510)
at com.maodajun.webjetty.HelloSelenium.testGoogleTestSearch(HelloSelenium.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:73)
at com.thoughtworks.selenium.DefaultSelenium.waitForPageToLoad(DefaultSelenium.java:510)
at com.maodajun.webjetty.HelloSelenium.testGoogleTestSearch(HelloSelenium.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
鸟的....5秒都没打开.....太慢了点...再加大,9000秒
selenium.waitForPageToLoad("9000");
发现是网断了....
上了网之后改回5秒...
这个测试终于绿了....
--------------------------------------
我又想能不能不用dos启动selenium来呢?
看了一 下API
public class HelloSelenium extends TestCase { private Selenium selenium; private SeleniumServer ss; public void setUp() throws Exception { ss = new SeleniumServer(SeleniumServer.DEFAULT_PORT,true,false); ss.start(); String url = "http://www.iteye.com"; //大家不要太过分啊...robbin会杀人的. selenium = new DefaultSelenium("localhost", SeleniumServer.DEFAULT_PORT, "*firefox", url); selenium.start(); } protected void tearDown() throws Exception { selenium.stop(); ss.stop(); } public void testGoogleTestSearch() throws Throwable { selenium.open("/search/"); selenium.type("query", "selenium"); selenium.click("link=论坛"); selenium.waitForPageToLoad("5000"); assertEquals("JavaEye论坛频道首页",selenium.getTitle() ); } }
引用
java.lang.VerifyError: (class: org/openqa/selenium/server/SeleniumServer, method: assembleHandlers signature: (Z)V) Incompatible argument to function
at com.maodajun.webjetty.HelloSelenium.setUp(HelloSelenium.java:15)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
板本错误????
把所有的包拆开一看......
....竟然selenium固化了一套jetty在里面.....
我倒....5.1.x
把我导入的包删去....
引用
org.mortbay.util.MultiException[java.net.BindException: Address already in use: JVM_Bind]
at org.mortbay.http.HttpServer.doStart(HttpServer.java:686)
at org.mortbay.util.Container.start(Container.java:72)
at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:839)
at com.maodajun.webjetty.HelloSelenium.setUp(HelloSelenium.java:16)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at org.mortbay.util.ThreadedServer.newServerSocket(ThreadedServer.java:391)
at org.mortbay.util.ThreadedServer.open(ThreadedServer.java:477)
at org.mortbay.util.ThreadedServer.start(ThreadedServer.java:503)
at org.mortbay.http.SocketListener.start(SocketListener.java:203)
at org.mortbay.http.HttpServer.doStart(HttpServer.java:716)
at org.mortbay.util.Container.start(Container.java:72)
at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:839)
at com.maodajun.webjetty.HelloSelenium.setUp(HelloSelenium.java:16)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
at org.mortbay.http.HttpServer.doStart(HttpServer.java:686)
at org.mortbay.util.Container.start(Container.java:72)
at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:839)
at com.maodajun.webjetty.HelloSelenium.setUp(HelloSelenium.java:16)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at org.mortbay.util.ThreadedServer.newServerSocket(ThreadedServer.java:391)
at org.mortbay.util.ThreadedServer.open(ThreadedServer.java:477)
at org.mortbay.util.ThreadedServer.start(ThreadedServer.java:503)
at org.mortbay.http.SocketListener.start(SocketListener.java:203)
at org.mortbay.http.HttpServer.doStart(HttpServer.java:716)
at org.mortbay.util.Container.start(Container.java:72)
at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:839)
at com.maodajun.webjetty.HelloSelenium.setUp(HelloSelenium.java:16)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
dos下还开着一个server占着4444端口呢.
关了dos下的seleniumserver再跑
绿了....
不过问题又出了
.....
刚刚一开始写jettyserver全红了....
看来6.1与5.1有本质上的不同啊....
不得以...去找5.1的写法...
Server server = new Server(); // 创建一个新的HttpServer SocketListener listener = new SocketListener();// 创建一个新监听器 listener.setPort(3003); // 设置监听端口为8080 server.addListener(listener ); // 将监听类注册到server中 server.addWebApplication("/webapp","webapp"); // 将这个web应用注册到这个Server中 server.start(); // 最后启动这个server
我本以为没什么问题但:
引用
2008-1-10 11:09:27 org.mortbay.http.HttpServer doStart
信息: Version Jetty/5.1.x
2008-1-10 11:09:27 org.mortbay.util.FileResource <clinit>
信息: Checking Resource aliases
2008-1-10 11:09:28 org.mortbay.util.Container start
信息: Started org.mortbay.jetty.servlet.WebApplicationHandler@d9660d
Exception in thread "main" java.lang.NoClassDefFoundError: org/mortbay/log/Log
at com.sun.org.apache.commons.logging.JettyLog.<init>(JettyLog.java:36)
at com.sun.org.apache.commons.logging.LogFactory.getLog(LogFactory.java:35)
at org.apache.jasper.servlet.JspServlet.<clinit>(JspServlet.java:100)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:199)
at org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:240)
at org.mortbay.jetty.servlet.ServletHandler.initializeServlets(ServletHandler.java:446)
at org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:321)
at org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
at org.mortbay.util.Container.start(Container.java:72)
at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
at org.mortbay.util.Container.start(Container.java:72)
at com.maodajun.webjetty.WebStart.main(WebStart.java:41)
这个问题上卡了半天...
左找右找....
直到我看到了这个
把jsp2.1的包换成2.0的包....lib文件数好多啊
第一阶段的改造基本完成
--------------
我把一个webserver一个seleniumserver同时启动
之后再写一个测试
public class HelloWebSelenium extends TestCase { Server server ; SeleniumServer ss ; Selenium selenium; public static void main(String[] args) { junit.textui.TestRunner.run(HelloWebSelenium.class); } protected void setUp() throws Exception { super.setUp(); ss = new SeleniumServer(); server = new Server(); SocketListener listener = new SocketListener(); listener.setPort(3003); server.addListener(listener ); server.addWebApplication("/webapp","webapp"); server.start(); ss.start(); selenium = new DefaultSelenium("localhost", SeleniumServer.DEFAULT_PORT, "*firefox", "http://localhost:3003/webapp/"); selenium.start(); } protected void tearDown() throws Exception { server.stop(); ss.stop(); super.tearDown(); } public void testJettyServer() throws IOException, URISyntaxException{ URL url = new URI("http://localhost:3003/webapp/test.jsp").toURL(); InputStream in = url.openStream(); BufferedReader br= new BufferedReader(new InputStreamReader(in)); String str = br.readLine(); assertEquals("jsp",str); } public void testJettyServerbyWebClient() throws MalformedURLException { selenium.open("/webapp/test.jsp"); selenium.click("link=test"); selenium.waitForPageToLoad("3000");//自己本地的还是很快的... assertEquals("abc",selenium.getBodyText() ); } }
在test.jsp里写: <a href="test.html" value = "test">test</a> 在test.html里写: <html> abc </html>
运行一下....OK了....
不过有候会被卡住....
出
引用
7125 [SocketListener0-2] WARN org.mortbay.http.HttpConnection - POST http://localhost:3003/selenium-server/driver/?&localFrameAddress=top&seleniumWindowName=&uniqueId=sel_17535&sessionId=767859&counterToMakeURsUniqueAndSoStopPageCachingInTheBrowser=1199938773453&sequenceNumber=2 HTTP/1.1
java.net.SocketException: No buffer space available (maximum connections reached?): recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at org.mortbay.util.LineInput.fill(LineInput.java:477)
at org.mortbay.util.LineInput.read(LineInput.java:352)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at org.mortbay.http.HttpInputStream.read(HttpInputStream.java:120)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
at sun.nio.cs.StreamDecoder.read0(StreamDecoder.java:132)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:118)
at java.io.InputStreamReader.read(InputStreamReader.java:151)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.readPostedData(SeleniumDriverResourceHandler.java:251)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.handleBrowserResponse(SeleniumDriverResourceHandler.java:169)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.handle(SeleniumDriverResourceHandler.java:125)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
java.net.SocketException: No buffer space available (maximum connections reached?): recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at org.mortbay.util.LineInput.fill(LineInput.java:477)
at org.mortbay.util.LineInput.read(LineInput.java:352)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at org.mortbay.http.HttpInputStream.read(HttpInputStream.java:120)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
at sun.nio.cs.StreamDecoder.read0(StreamDecoder.java:132)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:118)
at java.io.InputStreamReader.read(InputStreamReader.java:151)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.readPostedData(SeleniumDriverResourceHandler.java:251)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.handleBrowserResponse(SeleniumDriverResourceHandler.java:169)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.handle(SeleniumDriverResourceHandler.java:125)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
或者是没有响应测试也不结束.....
------------------------------------
这些可能是由于多次启动停止seleniumserver的原因...所以可以把
selenium放到testsuit中去....
引用
连接被重置
载入页面时到服务器的连接被重置。
* 此站点暂时不可用或者太忙。请稍后重试。
* 如果您无法载入任何页面,请检查您计算机的网络连接。
* 如果您的计算机受到防火墙或代理服务器的保护,请确认 Firefox 被授权访问网页。
这个可能是由于没有设定连接数....线程被卡住了.
---------------
评论
11 楼
yucc77
2008-09-10
今天有捣腾了一会,发现jsp-2.1.jar里有重复的class,比如PageContextImpl就在两个不同的package里出现,当然其中一个是一个jstl下的test包出现的,把test删掉还是出现一样的问题,不过好歹还是发现一个解决问题的办法:在project的build path里去掉jsp-2.1.jar,在run config里加上jsp-2.1.jar,就可以正常运行jsp了
应该是哪里有不同版本的class,具体原因还待继续摸索啊
应该是哪里有不同版本的class,具体原因还待继续摸索啊
10 楼
sizhefang
2008-09-10
哈哈,很有趣的帖子,细致的描述了我们程序员的重要工作⇒调试~~
9 楼
yucc77
2008-09-09
JoeDanny 写道
无法再现错误:
当请求html页面时没有错误,请求jsp页面时发生错误.
如果你的错误信息中包含以下信息,请尝试使用 jdk1.5 (当你使用的是jsp2.1的时候)
当请求html页面时没有错误,请求jsp页面时发生错误.
如果你的错误信息中包含以下信息,请尝试使用 jdk1.5 (当你使用的是jsp2.1的时候)
org.apache.jasper.runtime.JspFactoryImpl:WARN: Exceptio n initializing page context java.lang.VerifyError: (class: org/apache/jasper/runtime/PageContextImpl, method : getELResolver signature: ()Ljavax/el/ELResolver;) Incompatible argument to function at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:141) at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:94) at org.apache.jsp.main_jsp._jspService(org.apache.jsp.main_jsp:59) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:477) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:371) .....
我遇到了,不知如何解决
8 楼
summer86
2008-07-16
我想问下关于selenium RC运行录制的代码,会提示说没有权限,是在 WaitForPageToLoad这里停止的,你知道原因么?谢谢!!!
7 楼
agile_boy
2008-02-19
佩服lz的耐心,在重重困窘中能够找到出路!
开源就是好啊 :)根据exception可以找到必要的信息
开源就是好啊 :)根据exception可以找到必要的信息
6 楼
JoeDanny
2008-02-19
无法再现错误:
当请求html页面时没有错误,请求jsp页面时发生错误.
如果你的错误信息中包含以下信息,请尝试使用 jdk1.5 (当你使用的是jsp2.1的时候)
当请求html页面时没有错误,请求jsp页面时发生错误.
如果你的错误信息中包含以下信息,请尝试使用 jdk1.5 (当你使用的是jsp2.1的时候)
org.apache.jasper.runtime.JspFactoryImpl:WARN: Exceptio n initializing page context java.lang.VerifyError: (class: org/apache/jasper/runtime/PageContextImpl, method : getELResolver signature: ()Ljavax/el/ELResolver;) Incompatible argument to function at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:141) at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:94) at org.apache.jsp.main_jsp._jspService(org.apache.jsp.main_jsp:59) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:477) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:371) .....
5 楼
Sing
2008-02-15
Selenium是一个用于Web应用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla和Firefox等。这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能--创建衰退测试检验软件功能和用户需求。
是不是和loadrunner是差不多类型的工具?
是不是和loadrunner是差不多类型的工具?
4 楼
ladofwind
2008-02-14
这个风格很好啊,以风趣的语气把整个过程,包括出错,怎么解决的过程都记录
下来,顶了...
下来,顶了...
3 楼
抛出异常的爱
2008-02-13
aoaoao 写道
很强大的调试能力啊~
java.lang.NoClassDefFoundError: org/mortbay/log/Log
我看着这个错,怎么也想不到会是jsp兼容性问题。
顶你下。
java.lang.NoClassDefFoundError: org/mortbay/log/Log
我看着这个错,怎么也想不到会是jsp兼容性问题。
顶你下。
由于都是开源的所以.....我把代码跟到了源代码里面去了.
PS:十在是逼的没办法了.
2 楼
男儿当
2008-02-12
老兄能将整个搭建过程都记录下来实属难得~~~为我等扫清了不少障碍。
人真厚道 !
人真厚道 !
1 楼
aoaoao
2008-02-02
很强大的调试能力啊~
java.lang.NoClassDefFoundError: org/mortbay/log/Log
我看着这个错,怎么也想不到会是jsp兼容性问题。
顶你下。
java.lang.NoClassDefFoundError: org/mortbay/log/Log
我看着这个错,怎么也想不到会是jsp兼容性问题。
顶你下。
发表评论
-
vlc 必要的参数
2021-08-31 17:18 0vlc.exe -vvv -Idummy "rt ... -
grafana+mysql 页面设计
2019-02-25 08:51 0前提 1。主要是SELECT 。 2。使用mysql ... -
测试用例到底怎么才值的写
2016-04-30 10:32 0有个方法是这样的 public function ... -
postman cookies登陆设置
2016-04-28 09:30 2076必须登陆才能测试的接口如何测试? 打开这个开关就可以共用coo ... -
将png 切成ios android能用的格式
2016-04-28 01:24 747由于要求不高找了个在线切图的工具 http://images. ... -
如何在原有系统中加入功能(一数据库)
2016-04-24 11:06 826第一步想办法把建表语句导入一powerdesginer ... -
php递归 格式化 数字类型
2016-04-20 12:35 797/** * 数字转日期递归 ... -
freemind 怎么处理成为word
2015-06-11 19:37 16写文章用freemind打了一个草稿. 先导出成为htm ... -
架构师之路(工欲善其事,必先利其器)纸牌屋
2014-03-27 06:48 0起因:小胖的一个征集实现过程 https://gist.git ... -
油猴对抗一般广告
2012-11-14 00:07 1890看小说 好多好多的广告是必然的.. 所以 去掉iframe 去 ... -
回答一些很有共性的东西
2011-02-24 21:24 5615我作软件第二第三年时 ... -
粗糙的object打印日志用....
2010-11-04 18:40 2172function logJquery(o){ ... -
拳皇连招
2010-09-29 13:46 2378从列表中找到录入的后N位 class KOFTest { ... -
一个activeX方法 刚刚发现
2010-09-14 19:14 1515解答:此题 http://www.iteye.com/prob ... -
[反例]超短代码,意义不明
2010-08-19 17:49 1568public String logout(HttpServl ... -
站读帝
2010-07-26 09:29 1316http://www.hudong.com/wiki/%E7% ... -
不要重复发明轮子
2010-07-06 17:20 2176一直以为不要重复发明轮子的意义很简单. 今天看了人件.... ... -
答复: 不用判断语句求俩数中的大(或者小)数
2010-05-31 12:55 2133跳大神也是一种艺术: public class MaxMin ... -
集合合并
2010-05-28 10:15 1966用于时间表的合并 时间段的合并工作. public cla ... -
删除重名的记录
2010-04-05 23:04 1961面试看到这种题。。。。。 我估计考官的正确答案有可能是错的 所 ...
相关推荐
1. **jetty-http-8.1.15.v20140411.jar**:Jetty是一个轻量级的HTTP服务器和Servlet容器,Selenium使用它来启动一个内嵌的浏览器实例,进行无头测试或者在没有实际浏览器的情况下执行测试。 2. **xml-apis-1.4.01....
【标题】"selenium-2.33.0" 是一个特定版本的 Selenium WebDriver,它是一个自动化测试工具,主要用于Web应用程序。Selenium WebDriver允许程序员控制浏览器,并模拟用户的行为,进行功能性和回归测试。 【描述】...
这是一个非常简单的项目,用于演示如何将 Jetty、Maven、Selenium 和 Cucumber 一起使用来运行测试。 如果你运行: mvn verify 它将启动 jetty 并使用 Firefox 运行Cucumber测试。
压缩包,含commons-codec-1.3.jar,commons-logging-1.0.4.jar,junit-4.0.jar,org.mortbay.jetty-5.1.10.jar,selenium-core-1.0.1.jar,selenium-java-client-driver-1.0.1.jar,selenium-server.jar
QUnit Selenium 示例项目 运行 maven 来启动一个 jetty 服务器并运行 qunit javascript 测试。 您还可以使用浏览器 (mvn jetty:run) 运行 jetty 并进行测试。 请务必先运行 mvn clean install 以便构建所有 Web ...
开源项目"eyes-selenium-java-1.42.zip"中的"dropwizard-librato.zip"提供了DropWizard与Librato Metrics的集成方案,帮助开发者有效地收集、分析和可视化应用的运行数据。下面我们将详细探讨这一集成过程以及其背后...
:warning:Scala + Spring + Hibernate + Maven + Selenium WebDriver 该项目包含使用Scala,Spring,Hibernate和Maven的最新版本启动Webapp项目的源代码,包括基于Selenium WebDriver PageObject的Web测试。...
jetty-websocket-8.1.8.jar jna-3.4.0.jar jna-platform-3.4.0.jar junit-dep-4.11.jar log4j-1.2.16.jar nekohtml-1.9.21.jar netty-3.5.7.Final.jar operadriver-1.5.jar phantomjsdriver-1.1.0.jar protobuf-java...
《Java Web应用开发》微课程建设研究主要关注的是如何利用现代教育技术,将复杂的Web应用程序开发知识以微小、易消化的单元呈现给学习者。微课程的理念是将传统课程内容拆分成一系列短小精悍的教学模块,每个模块...
10. **测试与部署**:单元测试(JUnit)、集成测试(Selenium)等,以及使用Tomcat、Jetty等应用服务器进行部署。 以上内容只是OA流程可视化系统开发的一部分,实际项目中还需要考虑性能优化、系统安全、用户体验等...
Enhanced chapters teach you how to use Selenium to drive your application and handle asynchronous Ajax calls, and new chapters cover Dependency Injection (DI) and advanced techniques to help keep ...
从命令行运行示例$ mvn jetty:run打开导入IntelliJ IDEA 14 这些说明已在IntelliJ IDEA 14 CE上进行了测试。 您可以从获得要在IDEA中启动并运行项目,请执行以下操作: 文件->新建->版本控制中的项目-> Git 使用的...
11. **测试与调试**:单元测试(JUnit)、集成测试(如Selenium)和性能测试(如JMeter)都是项目开发过程中的重要环节,确保系统稳定可靠。 12. **项目文档**:良好的项目应该包含详细的设计文档、用户手册和技术...
此外,Jersey与Tomcat或Jetty服务器配合使用,对高并发请求的支持非常出色,这使得Jersey非常适用于搭建高并发的REST服务。 基于Java的自动化测试:由于TestNG等测试工具都是基于Java语言,因此Java基础对于理解和...
在深入研究GridLifecycleServlet的源代码时,我们可能会遇到以下概念和技术: 1. **Servlet**:Java Servlet是用于扩展Web服务器功能的Java类,GridLifecycleServlet就是一个Servlet,处理HTTP请求并响应。 2. **...
使用Jetty运行: mvn jetty:run 框架 堆栈基于Java,主干和牵线木偶。 使用struts2 maven原型作为起点。 支持代码包括有用的API,实用程序,主干/牵线木偶的设置等,来自我最近的项目twendai。 并非包括twendai的...
中间件的了解是必要的,因为许多应用依赖于如Tomcat、Apache、Jetty、Nginx、JBoss、WebLogic和WebSphere等服务器来运行。熟悉它们的基本配置和常见问题处理能帮助你在测试过程中更有效地模拟真实环境。 在Linux...
另外,项目的部署和运行可能依赖于Tomcat或Jetty这样的Java应用服务器,而持续集成和自动化测试可能使用了Maven或Gradle作为构建工具,JUnit或TestNG进行单元测试,还有可能有Selenium等工具进行端到端的集成测试。...
让我们深入探讨一下其中可能包含的知识点。 首先,我们看到一个名为"下载说明.html"的文件。这通常是一份简要的指导文档,解释如何获取、安装或使用提供的资源。在HTML格式下,这份文档可能会包括链接、图片以及...