Пробовал использовать селен с помощью SafariWebDriver. Использование банок Селена-серверного автономного-2.33.0.jar - запустить причалНе удалось установить соединение с SafariDriver во время запуска Safari с Selenium WebDriver с использованием Java
лица, вручающего судебных документыjava -jar ./lib/selenium-server-standalone-2.33.0.jar
селена ява-2.33.0.jar (я не использую Maven для проекта установки - только что загрузили банки, и скомпилирован с JAVAC)
javac -s ./src -cp ./classes:./lib/selenium-java-2.33.0.jar:./lib/selenium-server-standalone-2.33.0.jar ./src/jgf/Selenium2Example.java -d ./classes
Написал класс, который более или менее копирования/вставки из Selenium2Example, но используется SafariWebDriver вместо FirefoxWebDriver
но когда выполняет код , Я получаю сообщение в Safari Web Browser (используя Snow Leopard с Safari 5.1.9 (6534.59.8)).
Не удалось установить соединение с SafariDriver
Любые идеи о том, как решить эту проблему?
BTW: Я не использую расширение Safari, скомпилированное из источника с сертификатом, подписываясь как разработчик Apple. Я думаю, что это применимо к более ранним версиям jar.
Вот код
package jgf;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
//import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.safari.SafariDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
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();
WebDriver driver = new SafariDriver();
// And now use this to visit Google
driver.get("http://www.google.com");
// Alternatively the same thing can be done like this
// driver.navigate().to("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());
// Google's search is rendered dynamically with JavaScript.
// Wait for the page to load, timeout after 10 seconds
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
return d.getTitle().toLowerCase().startsWith("cheese!");
}
});
// Should see: "cheese! - Google Search"
System.out.println("Page title is: " + driver.getTitle());
//Close the browser
driver.quit();
}
}
Я задавался вопросом, была ли это какая-то проблема с брандмауэром. Поэтому попытался отключить это. Затем я получил некоторые странные исключения. Сначала это исключение в потоке «Thread-3» org.openqa.selenium.WebDriverException: Не удалось удалить расширение verExtension $ UninstallThread.run (SafariDriverExtension.java:293), а затем при последующем запуске Исключение в потоке «main» org.openqa.selenium .remote.UnreachableBrowserException: Не удалось подключиться к SafariDriver после 45077 мс. – JGFMK
Пила этот связанный комментарий - и может подтвердить использование локально http: //www.sqaforums.com/forums/selenium/149199-% 5Bsafaridriver% 5D-safari-can-not-find-element-webpage.html – JGFMK
Вам удалось решить эту проблему? –