Selenium Grid/Sauce Labs插件/Ant设置
我正在尝试使用ANT启动Selenium网格实例。使用此处找到的响应,我能够使用以下build.xml成功启动网格Selenium Grid/Sauce Labs插件/Ant设置,ant,selenium,saucelabs,Ant,Selenium,Saucelabs,我正在尝试使用ANT启动Selenium网格实例。使用此处找到的响应,我能够使用以下build.xml成功启动网格 <project name="selenium-grid" default="launch-hub" basedir="."> <property name="selenium.version" value="2.28.0"/> <property name="sauce.version" value="1.0.8"/> <pa
<project name="selenium-grid" default="launch-hub" basedir=".">
<property name="selenium.version" value="2.28.0"/>
<property name="sauce.version" value="1.0.8"/>
<path id="selenium.classpath">
<pathelement path="${basedir}/"/>
<fileset dir="${basedir}/">
<include name="selenium-server-standalone-${selenium.version}.jar"/>
<include name="sauce-grid-plugin-${sauce.version}.jar"/>
</fileset>
<pathelement path="${java.class.path}/"/>
</path>
<target name="launch-hub"
description="Launch Selenium Hub">
<java classname="org.openqa.grid.selenium.GridLauncher"
classpathref="selenium.classpath"
fork="true"
failonerror="true">
<arg value="-role"/>
<arg value="hub"/>
</java>
</target>
</project>
在wiki之后,我可以使用DOS中的以下命令在我的windows机器上启动这两个
java -cp selenium-server-standalone-2.25.0.jar;sauce-grid-plugin-1.0.7.jar org.openqa.grid.selenium.GridLauncher -role hub -servlets com.saucelabs.grid.SauceOnDemandAdminServlet,com.saucelabs.grid.SauceOnDemandConsoleServlet
java-cp-selenium-server-standalone-2.25.0.jar;sauce-grid-plugin-1.0.7.jar org.openqa.grid.selenium.GridLauncher-角色中心-servlet com.saucelabs.grid.SauceOnDemandAdminServlet,com.saucelabs.grid.SauceOnDemandConsoleServlet
现在我想通过将目标“launch hub”添加到Sauce实验室“Servlets”的参数中来合并Sauce实验室Servlets(很抱歉在发布真正的代码时遇到麻烦)
arg value=“-servlets”
arg value=“com.saucelabs.grid.sauconendemandAdminServlet,com.saucelabs.grid.sauconendemandConsoleServlet”
我使用ant launch重新启动,下面是windows返回的错误:
ant launch
launch-hub:
[java] 17 janv. 2013 10:58:40 org.openqa.grid.selenium.GridLauncher main
[java] INFO: Launching a selenium grid server
[java] 17 janv. 2013 10:58:50 org.openqa.grid.web.utils.ExtraServletUtil createServlet
[java] ATTENTION: The specified class : com.saucelabs.grid.SauceOnDemandAdminServlet cannot be instanciated com.sau
celabs.grid.SauceOnDemandAdminServlet
[java] 17 janv. 2013 10:58:50 org.openqa.grid.web.utils.ExtraServletUtil createServlet
[java] ATTENTION: The specified class : com.saucelabs.grid.SauceOnDemandConsoleServlet cannot be instanciated com.s
aucelabs.grid.SauceOnDemandConsoleServlet
[java] 2013-01-17 10:58:50.806:INFO:osjs.Server:jetty-7.x.y-SNAPSHOT
[java] 2013-01-17 10:58:50.866:INFO:osjsh.ContextHandler:started o.s.j.s.ServletContextHandler{/,null}
[java] 2013-01-17 10:58:50.876:INFO:osjs.AbstractConnector:Started SocketConnector@0.0.0.0:4444`enter code here
发射中心:
[爪哇]1月17日。2013年10:58:40 org.openqa.grid.selenium.GridLauncher main
[java]信息:启动selenium网格服务器
[爪哇]1月17日。2013年10:58:50 org.openqa.grid.web.utils.ExtraServletUtil createServlet
[java]注意:指定的类:com.saucelabs.grid.SauceOnDemandAdminServlet不能实例化为com.sau
celabs.grid.SauceOnDemandAdminServlet
[爪哇]1月17日。2013年10:58:50 org.openqa.grid.web.utils.ExtraServletUtil createServlet
[java]注意:指定的类:com.saucelabs.grid.SauceOnDemandConsoleServlet不能实例化为com.s
aucelabs.grid.SauceOnDemandConsoleServlet
[java]2013-01-17 10:58:50.806:INFO:osjs.Server:jetty-7.x.y-SNAPSHOT
[java]2013-01-17 10:58:50.866:INFO:osjsh.ContextHandler:startedo.s.j.s.ServletContextHandler{/,null}
[java]2013-01-17 10:58:50.876:INFO:osjs.AbstractConnector:StartedSocketConnector@0.0.0.0:4444`在此处输入代码
Selenium网格启动,但没有servlet,因此无法访问Saucelabs
有什么想法吗
更新使用酱油插件的1.0.7版本使其正常工作。不支持1.0.8版通过使用build.xml和额外参数,我能够使用Sauce Grid插件成功运行网格服务器,例如
<project name="selenium-grid" default="launch-hub" basedir=".">
<property name="selenium.version" value="2.25.0"/>
<property name="sauce.version" value="1.0.8"/>
<path id="selenium.classpath">
<pathelement path="${basedir}/"/>
<fileset dir="${basedir}">
<include name="selenium-server-standalone-${selenium.version}.jar"/>
<include name="sauce-grid-plugin-${sauce.version}.jar"/>
</fileset>
<pathelement path="${java.class.path}/"/>
</path>
<target name="launch-hub"
description="Launch Selenium Hub">
<java classname="org.openqa.grid.selenium.GridLauncher"
classpathref="selenium.classpath"
fork="true"
failonerror="true">
<arg value="-servlets"/>
<arg value="com.saucelabs.grid.SauceOnDemandAdminServlet,com.saucelabs.grid.SauceOnDemandConsoleServlet"/>
<arg value="-role"/>
<arg value="hub"/>
</java>
</target>
</project>
通过查看Selenium网格代码,生成输出中出现的错误是在抛出ClassNotFoundException时生成的……您能检查一下sauce网格插件jar文件是否位于${basedir}中吗?感谢您的快速响应。不幸的是,这对我不起作用。是的,两个JAR都在${basedir}中。我在使用Selenium独立服务器2.25.0时遇到了一个NullPointerException。使用2.28.0允许网格启动减去servlet:-/好的,您是否能够使用-debug标志(例如ant-debug)运行ant并附加日志输出?在我的环境中,它包括以下内容:使用参数执行..snip..java:'-classpath'/Developer/workspace/sauce grid plugin:/Developer/workspace/sauce grid plugin/sauce-grid-plugin-1.0.8.jar:/Developer/workspace/sauce grid plugin/selenium-server-standalone-2.25.0.jar:'org.openqa.grid.selenium.GridLauncher'-servlets''com.saucelabs.grid.sauconendemandAdminServlet,com.saucelabs.grid.sauconendemandConsoleServlet'-role''hub'(对格式设置表示歉意:)请随时在Sauce grid插件中提出问题:)嘿,罗斯。仍然存在相同的错误“com.saucelabs.grid.SauceOnDemandConsoleServlet无法实例化”,“指定的类:com.saucelabs.grid.SauceOnDemandConsoleServlet无法实例化”下面是调试执行“…java.exe”的输出,参数为:'-classpath”“C:\grid3\lib;C:\grid3\lib\sauce-grid-plugin-1.0.8.jar;C:\grid3\lib\selenium-server-standalone-2.25.0.jar''org.openqa.grid.selenium.GridLauncher''-servlets''com.saucelabs.grid.sauconendemandAdminServlet,com.saucelabs.grid.sauconendconsoleservlet''-role''hub''刚刚看到关于1.0.7的更新正在运行…我想可能1.0.8 jar在某种程度上被损坏了(尽管它在我的环境中工作)。我刚刚升级了1.0.9版,你能看看它是否有效吗?
launch-hub:
[java] 17 janv. 2013 10:58:40 org.openqa.grid.selenium.GridLauncher main
[java] INFO: Launching a selenium grid server
[java] 17 janv. 2013 10:58:50 org.openqa.grid.web.utils.ExtraServletUtil createServlet
[java] ATTENTION: The specified class : com.saucelabs.grid.SauceOnDemandAdminServlet cannot be instanciated com.sau
celabs.grid.SauceOnDemandAdminServlet
[java] 17 janv. 2013 10:58:50 org.openqa.grid.web.utils.ExtraServletUtil createServlet
[java] ATTENTION: The specified class : com.saucelabs.grid.SauceOnDemandConsoleServlet cannot be instanciated com.s
aucelabs.grid.SauceOnDemandConsoleServlet
[java] 2013-01-17 10:58:50.806:INFO:osjs.Server:jetty-7.x.y-SNAPSHOT
[java] 2013-01-17 10:58:50.866:INFO:osjsh.ContextHandler:started o.s.j.s.ServletContextHandler{/,null}
[java] 2013-01-17 10:58:50.876:INFO:osjs.AbstractConnector:Started SocketConnector@0.0.0.0:4444`enter code here
<project name="selenium-grid" default="launch-hub" basedir=".">
<property name="selenium.version" value="2.25.0"/>
<property name="sauce.version" value="1.0.8"/>
<path id="selenium.classpath">
<pathelement path="${basedir}/"/>
<fileset dir="${basedir}">
<include name="selenium-server-standalone-${selenium.version}.jar"/>
<include name="sauce-grid-plugin-${sauce.version}.jar"/>
</fileset>
<pathelement path="${java.class.path}/"/>
</path>
<target name="launch-hub"
description="Launch Selenium Hub">
<java classname="org.openqa.grid.selenium.GridLauncher"
classpathref="selenium.classpath"
fork="true"
failonerror="true">
<arg value="-servlets"/>
<arg value="com.saucelabs.grid.SauceOnDemandAdminServlet,com.saucelabs.grid.SauceOnDemandConsoleServlet"/>
<arg value="-role"/>
<arg value="hub"/>
</java>
</target>
</project>