web-dev-qa-db-ja.com

さまざまなブラウザーやプラットフォームで実行するだけでなく、記録用にSeleniumをセットアップする

クライアントがローカルでテストを記録できるようにSeleniumサーバーをセットアップしたいと思います。記録されたテストは、Firefox + Chromeを搭載したUbuntuサーバーで再生およびテストできます。

残念ながら、Seleniumサイトは非常に混乱していて、非常に多くの異なるプロジェクト(Selenium 1、Selenium 2、Selenium RC、Selenium Grid)について言及しているため、どこから始めればよいかわかりません。

UbuntuボックスにSeleniumサーバーをセットアップするにはどうすればよいですか?

18
Tom

残念ながら、Seleniumサイトは非常に混乱していて、非常に多くの異なるプロジェクト(Selenium 1、Selenium 2、Selenium RC、Selenium Grid)について言及しているため、どこから始めればよいかわかりません。

セレンには複数のバージョンがあります

  1. IDE-主にテストを記録して再生するため。これは主にFirefoxアドオンです。これは、非常に基本的なテストに使用できます。記録されたテストをSeleniumRCにエクスポートすることもできます。 seleniumhq.org->ドキュメントセクションで言及されているこれらすべて: http://docs.seleniumhq.org/docs/

  2. RC-他の自動化ツールと同様に、テストを記録して再生するだけでなく、独自のコードを記述してテストを実行できます。これは、IDE)よりもはるかに優れた機能を備えており、いくつかの言語(Java、Javascript、Ruby、PHP、Python、Perl、C#)のサポートや、さまざまなプラットフォームのほぼすべてのブラウザーのサポートが含まれます。

  3. グリッド-これは、複数のテストを並行して実行するのに役立ちます。

Firefox(クロームではない)でテストを記録して実行するのはとても簡単です。これには、Seleniumサーバーを実行する必要はありません。

  1. テスト全体を記録する

  2. ファイルに保存する

  3. ファイルをUbuntuマシンにコピーします

  4. UbuntuマシンでIDEを使用して同じテストを開き、Firefoxで再度実行します

Chromeで実行する場合は、SeleniumRCを使用する次のレベルに進む必要があります。そして、これにはSeleniumサーバーが実行されている必要があります。

UbuntuボックスにSeleniumサーバーをセットアップするにはどうすればよいですか?

Selenium-server jarを ここ からダウンロードします。これをubuntuサーバーの任意のディレクトリにコピーします

ターミナルを開き、Seleniumサーバーjarがあるフォルダーに移動します。

入る Java -jar Selenium-server-jarfilename.jar

Seleniumサーバーはデフォルトでポート4444で起動し、テストをリッスンし続けます。

22
A.J

このサイトは、バージョン管理と名前の点で混乱しています。 Seleniumは、Selenium RC(リモートコントロール)として始まったプロジェクト全体の名前です。 Selenium RCはAPIの古いバージョンであり、Selenium 1とも呼ばれます。Selenium2は最新バージョンであり、最新のリリースは先週Selenium RC2(リリース候補)でした。これは、SeleniumRCとは異なるAPIを使用します。新しいAPIはWebDriverとして知られています。新しいAPIを使用すると、古いSelenium RCにアクセスできますが、下位互換性があります。

今から始めているので、Selenium RCAPIを使用する理由はありません。代わりに、WebDriverの一部である 高度なユーザーインタラクション を使用する必要があります。 WebDriverの設定は非常に簡単で、適切なガイドがあります ここ 。そこで使用されているAPIは、WebElementsを使用する古い標準(2.0ベータ)であることに注意してください。新しいAPI(高度なユーザーインタラクション)は、アクションが実行される要素からアクションを分離します。非推奨の古いバージョンではなく、積極的にサポートされているAPIの最新バージョンを使用することをお勧めします。

これをすべてローカルで実行したいので、私が提供した2番目のリンクで十分に稼働させることができます。 Javaバインディングを使用する場合、次のように簡単です。

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");
        Actions builder = new Actions( driver );
        builder.sendKeys( driver.findElement( By.name("q") ), "Cheese!" );

        Action action = builder.build();
        action.perform();

        //Close the browser
        driver.quit();
    }
}

これは、高度なユーザー操作を使用するように編集されたサンプルコードです。

8
Mike Kwan

Seleniumテストを作成して実行するには、2つのものが必要です。

1)Selenium Serverは、Selenium RC(リモートコントロール)とも呼ばれます。 this リンクに移動して、SeleniumServerをダウンロードできます。コマンドJava -jar ur_Selenium_server.jarでSeleniumサーバーを起動できます

2)クライアントドライバー:クライアントドライバーを使用して、Seleniumテストをコーディングできます。これは、UIで特定のアクションを実行するSeleniumコマンドの組み合わせで構成されています。例:クリック、選択など。Seleniumは、クライアントドライバー用にさまざまな言語バインディングをサポートしています。上記のダウンロードページから、ご希望の言語に適したクライアントドライバーをダウンロードしてください。

client driver apis を参照して、テストをコーディングできます。

お役に立てれば

3
Vaman Kulkarni