初試selenium webdriver,運行小程序,拋如下錯誤:
java.lang.NoSuchMethodError: org.apache.xpath.XPathContext.<init>(Z)V
at org.apache.xpath.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:115)
at org.apache.xpath.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:99)
at org.apache.xpath.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:184)
at org.openqa.selenium.firefox.internal.FileExtension.readIdFromInstallRdf(FileExtension.java:120)
at org.openqa.selenium.firefox.internal.FileExtension.writeTo(FileExtension.java:60)
at org.openqa.selenium.firefox.internal.ClasspathExtension.writeTo(ClasspathExtension.java:63)
at org.openqa.selenium.firefox.FirefoxProfile.installExtensions(FirefoxProfile.java:416)
at org.openqa.selenium.firefox.FirefoxProfile.layoutOnDisk(FirefoxProfile.java:394)
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:89)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
google后檢索到:https://code.google.com/p/selenium/issues/detail?id=2837
xalan.jar沖突導致,排除此包后ok.
注意下selenium的包引用,如果嘗試用webdriver +java去運行用例,並不需要selenium-server這個jar包。根據官網文檔,當使用Selenium-Grid將用例在多個機器或者虛擬機上執行, or 遠程執行用例等情況才使用。
練習時可以直接引入 selenium-java 即可。 如果是maven工程,直接在pom.xml中引入如下依賴即可(可在官網查詢最新版本的)
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.42.2</version> </dependency>
