1

最近、FireFoxDriver() と完全に連携する Selenium プログラムを Java で作成しました。私のステップ 2 は、Selendroid を搭載した Android デバイスでこのプログラムを実行できるようにすることです。ここで彼らのウェブサイトにアクセスし、jar をダウンロードして、ポート 4444 でローカルホストに接続することができました。
しかし、彼らの例を試してみると、Eclipse は SelendroidDriver() を認識せず、WebDriver() に戻るように提案します。
コードは次のとおりです。

SelendroidCapabilities capa = new SelendroidCapabilities("io.selendroid.testapp:0.10.0");

// My error appears when I create the new SelendroidDriver().
WebDriver driver = new SelendroidDriver(capa);
WebElement inputField = driver.findElement(By.id("my_text_field"));
Assert.assertEquals("true", inputField.getAttribute("enabled"));
inputField.sendKeys("Selendroid");
Assert.assertEquals("Selendroid", inputField.getText());
driver.quit();

また、バージョン 0.10.0 の Selendroid jar ファイルをダウンロードしたにもかかわらず、SelendroidDriver クラスがファイルに表示されないことにも気付きました。

4

3 に答える 3

2

私がどのように問題を解決したか知りたい方のために、私が行ったことを以下に示します。このサイトにアクセスして、私が持っていたスタンドアロン バージョンに対応する selendroid-client jar ファイルを取得しました。スタンドアロンの jar ファイルをダウンロードするだけでは不十分でした。

于 2014-05-26T19:21:55.910 に答える
0

ここSelendroidDriverでクラスを見つけるまで、私は同じ問題に直面していました。これをインポートして、プロジェクトに合わせてパッケージ名を変更します。

SelendroidDriver.javaには、Java 1.6 で アノテーションを付けることができるインターフェイス メソッドを実装するクラスがあります@Override。ただし、Java 1.5 では@override、スーパークラス メソッドをオーバーライドするメソッドにのみ適用できました。

プロジェクト設定に移動し、「Java コンパイラ レベル」を 1.6 に設定します。また、Eclipse からプログラムを実行するために JRE 1.6 を選択していることを確認してください。

このクラスを追加した後も、複数の依存関係エラーが表示されますが、SelendroidDriver.javaファイルに表示されます。これらのクラスをインポートして、これらのエラーに対処できます。GitHub ディレクトリと作業中のプロジェクトに従って、パッケージ階層が正しく維持されていることを確認します。

これらすべてのクラスをインポートした後、定数フィールドSWITCH_TO_CONTEXTとは解決GET_CONTEXT_HANDLESGET_CURRENT_CONTEXT_HANDLEれませんでした。このサンプルをテストするために、それらを他の利用可能な定数フィールドに変更するという貧弱な回避策を使用しました。

于 2014-05-23T13:49:21.170 に答える