1、下载Selenium Server和Selenium Client(JAVA语言的)http://docs.seleniumhq.org/download/
2、在Eclipse中新建java project
3、Build Path-->Add External Archives, 将Selenium Server和Selenium Client都添加到项目中
4、新建class
import com.thoughtworks.selenium.*; import java.util.regex.Pattern; public class testCase extends SeleneseTestCase { public void setUp() throws Exception { setUp("http://www.google.com/", "*firefox"); } public void testNew() throws Exception { selenium.open("/"); selenium.type("q", "selenium rc"); selenium.click("btnG"); selenium.waitForPageToLoad("30000"); }} |
在学习中的遇到的一些问题:
1、按照网上的一些方法做的时候,运行的时候报错:java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser。。。。
找了很久网上的解答办法是:报如上错误,原因是加入了老版本的selenium jar包,更新到最新版的即可解决。
然后重新下载了最新版的jar包,就成功了。
2、在添加了新的jar包后运行上面的程序,还是报错了:com.thoughtworks.selenium.SeleniumException: Timed out after 30000ms
at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:109) at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:103) at com.thoughtworks.selenium.DefaultSelenium.waitForPageToLoad(DefaultSelenium.java:678) at testCase.testNew(testCase.java:11) 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:597) at junit.framework.TestCase.runTest(TestCase.java:176) at junit.framework.TestCase.runBare(TestCase.java:141) at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.java:248) at junit.framework.TestResult$1.protect(TestResult.java:122) at junit.framework.TestResult.runProtected(TestResult.java:142) at junit.framework.TestResult.run(TestResult.java:125) at junit.framework.TestCase.run(TestCase.java:129) at junit.framework.TestSuite.runTest(TestSuite.java:255) at junit.framework.TestSuite.run(TestSuite.java:250) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) |
网上说可能是这个方法的问题,因为把这句代码删了后就运行正常了
最新内容请见作者的GitHub页:http://qaseven.github.io/