我只是試圖讓與Firefox 4基本Selenium2Example工作使用Maven來獲取硒罐子:如果我去那裏在Maven中使用Selenium 2(Selenium WebDriver)的「官方」方式是什麼?
public class Selenium2Example {
public static void main(String[] args) {
// Create a new instance of the Firefox driver
// Notice that the remainder of the code relies on the interface,
// not the implementation.
WebDriver driver = new FirefoxDriver();
// And now use this to visit Google
driver.get("http://www.google.com");
// Find the text input element by its name
WebElement element = driver.findElement(By.name("q"));
// Enter something to search for
element.sendKeys("Cheese!");
// Now submit the form. WebDriver will find the form for us from the element
element.submit();
// Check the title of the page
System.out.println("Page title is: " + driver.getTitle());
//Close the browser
driver.quit();
}
}
:http://code.google.com/p/selenium/wiki/UsingWebDriver,它說我應該嘗試這樣的依賴性:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium</artifactId>
<version>2.0b3</version>
</dependency>
但是最新的jar可以在沒有版本庫的版本中找到,最後的版本可以找到(所有依賴項都可以找到)是「2.0a4」(2.0a5到2.0a7和2.0b1到2.0b3有缺少主要jar或缺少依賴關係),而這個「2.04」版本沒有合適的類來使這個例子工作。
如果我去那裏:http://seleniumhq.org/docs/03_webdriver.html#chapter03-reference,它說我應該使用這種依賴性:
<dependency>
<groupId>org.seleniumhq.webdriver</groupId>
<artifactId>webdriver-firefox</artifactId>
<version>0.9.7376</version>
</dependency>
它使例子編譯,但此版本還沒有被2009年10月更新,它不運行與Firefox 4(見http://repo1.maven.org/maven2/org/seleniumhq/webdriver/webdriver-firefox/)
如果我去那裏http://seleniumhq.org/download/maven.html,它說我應該嘗試這樣的:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>...</version>
</dependency>
但2.0b3版本也無法工作(缺少依賴關係)。以下是錯誤消息:
23/05/11 22:09:07 CEST: Build errors for first-webdriver-test; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project first-webdriver-test: Unable to get dependency information for org.apache.httpcomponents:httpcore:jar:4.0.1: Failed to process POM for org.apache.httpcomponents:httpcore:jar:4.0.1: Non-resolvable parent POM org.apache.httpcomponents:httpcomponents-core:4.0.1 for org.apache.httpcomponents:httpcore:4.0.1: Failed to resolve POM for org.apache.httpcomponents:httpcomponents-core:4.0.1 due to Missing:
----------
1) org.apache.httpcomponents:httpcomponents-core:pom:4.0.1
----------
1 required artifact is missing.
for artifact:
org.apache.httpcomponents:httpcomponents-core:pom:4.0.1
from the specified remote repositories:
central (http://repo1.maven.org/maven2, releases=true, snapshots=false)
我不知道這個錯誤的意思,因爲我可以在這裏找到所需的POM:http://repo1.maven.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
所以唯一的辦法,我可以讓這個例子的工作現在,手動下載2.0b3罐子。
有沒有人成功地使它與Maven協同工作?
你是完全正確的,它的工作原理!我以爲我已經嘗試添加「pom」了。我向官方維基(http://code.google.com/p/selenium/wiki/UsingWebDriver)添加了一條評論 – Tristan 2011-05-25 18:49:57
錯誤的信息您正在描述如何僅拉出硒堆的一部分,並作爲結果你是不拉下依賴關係。這不是「官方」的做法。 – Ardesco 2011-05-26 09:59:03
我從來沒有聲稱這是做「官方」的方式。我只是說它對我有用。 – AsGoodAsItGets 2011-05-26 16:29:31