1

SafariWebDriver で Selenium を使用してみました。jars selenium-server-standalone-2.33.0.jar の使用 - Jetty サーバーを実行する

java -jar ./lib/selenium-server-standalone-2.33.0.jar 

selenium-java-2.33.0.jar (Maven を使用してプロジェクトをセットアップしませんでした。jar をダウンロードし、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 のコピー/貼り付けであるクラスを作成しましたが、FirefoxWebDriver の代わりに SafariWebDriver を使用しました

しかし、コードを実行すると、Safari Web ブラウザー (Safari 5.1.9 (6534.59.8) で Snow Leopard を使用) にメッセージが表示されます。

SafariDriver との接続を確立できません

これを解決する方法についてのアイデアはありますか?

ところで:Apple Developerとしてサインアップして、ソースから証明書付きでコンパイルされたSafari拡張機能を使用していません-以前の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();
    }
}
4

2 に答える 2

0

OS Windows を考えてみましょう。
前提条件: Windows に Safari をインストールする

  1. http://docs.seleniumhq.org/download/にアクセスしてください
  2. 下にスクロール -> 「SafariDriver」セクションに移動し、「SafariDriver.safariextz」をダウンロードします
  3. 「SafariDriver.safariextz」(以前にダウンロードしたもの)をダブルクリックします
  4. Safari が開き、[インストール] ボタンを含むポップアップが表示されます -> [インストール] ボタンをクリックします
  5. Safariの設定に移動すると、WebDriver(私の場合はWebDriver 2.48.0)がインストールされていることがわかります(WebDriverを有効にするチェックボックスがオンになっています))
  6. 次に、SafariDriver をインスタンス化し、次のように目的の URL を取得します。

    WebDriver ドライバー = 新しい SafariDriver();
    driver.get(" https://www.packtpub.com/web-development/mastering-selenium-testing-tools-video ");

于 2016-04-18T12:57:09.533 に答える
0

私は 2.34 で同じ問題を抱えていたので、2.31 に戻しました。

于 2013-10-04T19:32:31.650 に答える