我在Selenium ID上运行这3个测试,
但我想在不同的浏览器上并行运行这些测试,因为我试图使用Selenium Grid并引用此http://code.google.com/p/selenium/wiki/Grid2
我正在使用此代码
public class testjava extends SeleneseTestCase {
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*chrome", "www.yahoo.com/");
selenium.start();
}
@Test
public void testTestjava() throws Exception {
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
但是我得到了这个例外
java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<init>(Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)V
at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:57)
at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFactory.java:47)
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:211)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:102)
at com.selenium.testjava.setUp(testjava.java:20)
at junit.framework.TestCase.runBare(TestCase.java:128)
at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.java:230)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:228)
at junit.framework.TestSuite.run(TestSuite.java:223)
at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
由于
答案 0 :(得分:1)
DefaultSelenium用于Selenium 1(RC)兼容性。 localhost
是您的RC服务器(它是seleniumserver)。
但我建议您使用Selenium 2.就像它在您的链接中所说,您必须执行以下操作:
DesiredCapabilities capability = DesiredCapabilities.firefox();
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); //localhost is your hub here
这是一个简单的例子,它在你的网格中请求firefox。您可以在任何平台上指定任何浏览器:
capability.setBrowserName(“firefox”);
capability.setPlatform(“LINUX”);
capability.setVersion(“3.6”);
您需要至少一个注册到集线器的节点,如下所示:
java -jar selenium-server-standalone-2.x.0.jar -role wd -hub http://localhost:4444/grid/register -browser browserName=firefox,version=3.6,platform=LINUX
再次假设Selenium hub在localhost上运行。我希望这有助于开始。只要问你是否还有其他问题。
答案 1 :(得分:0)
您需要将JUnit 4与Selenium结合使用。
将您的JUnit 4 Selenium测试复制到Eclipse中。
编写Firefox配置文件的启动以及DesiredCapabilities capability = DesiredCapabilities.firefox();
进入@Before
启动Hub,启动Node,运行测试。
但我建议您阅读JUnit 4中有关JUnit 4和Selenium Testing的基本教程。 只需谷歌找到你的解决方案。
Java知识也有帮助。