2

私は(うまくいけば)小さな問題を抱えています:

プロジェクトの構築に Jenkins を使用しています。これは非常にうまく機能しますが、Web プロジェクトのテストにも使用したいと考えています。

Jenkins は debian-Server で実行され、Windows-Machine は Selenium-Server を提供します。

Jenkins Selenium Plugin (https://wiki.jenkins-ci.org/display/JENKINS/Selenium+Plugin) をインストールして、Jenkins をハブとして実行できるようにします。私の Windows マシンは、「Jenkins-Hub」に Selenium-Node として登録されています。Jenkins は、「Selenium Grid」メニューに登録済みのリモート コントロールを表示します。すぐに使えると思います。

ここで最初に私の質問: リモート コントロールを使用するにはどうすればよいですか?

ANT-Build.xml を介して自分のプロジェクトに、TestSuits がどこにあり、結果をどこに配置する必要があるかを伝えていると思います。しかし、この解決方法の構文は見つかりませんでした。多分これは間違った方法ですか?

よろしくトーマス

4

1 に答える 1

4

まあ、私はCIとSVNにselenium web driver+ java + hudsonを使っています。また、XP、JDK、および Selenium stanalone サーバーが実行されている 192.168.4.52 IP のリモート マシンがあります。設定は次のようになります: 1) ハドソン: ここに画像の説明を入力

BaseSeleniumTest.java に次のようなものを追加します。

....
 @BeforeClass
    public static void firefoxSetUp() throws MalformedURLException {

          DesiredCapabilities capability = DesiredCapabilities.firefox();


        driver = new RemoteWebDriver(new URL("http://192.168.4.52:4444/wd/hub"), capability);

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
        driver.manage().window().setSize(new Dimension(1920, 1080));
    }
    @Before
    public void homePageRefresh() throws IOException {

        driver.manage().deleteAllCookies();
        driver.get(propertyKeysLoader("login.base.url"));
    }


    @AfterClass
    public static void closeFirefox(){
        driver.quit();
    }

文字列のどこに

    driver = new RemoteWebDriver(new URL("http://192.168.4.52:4444/wd/hub"), capability);

リモート マシンの IP アドレスを書きます。

BaseSeleniumTest.java - Selenium プロジェクトの基本的なクラスで、すべての基本的なメソッドを記述します:isElementPresent(By locator),fluentWait(By locator),isElementVisible(By locator), @Before, @BeforeClass, @AfterCLass, @After 注釈。他のクラスには、さまざまなフォームをカバーするテストのみが含まれます。そして、BaseSeleniumTest からすべてのメソッドを継承します。 ここに画像の説明を入力

また、Jenkins が実行する必要があるテスト スクリプト (BaseSeleniumTest.java) があることを Jenkins に伝えるにはどうすればよいですか? 問題は、ビルド マネージャー (上記の hudson 設定を参照) と Tortoise SVN として Maven を使用することです。リポジトリを作成し、プロジェクトをリポジトリにコミットします。リンクを取得し、hudson に貼り付けます。そしてハドソンは、maven がプロジェクトのビルドに使用したことを知っています (クリーン テスト オプションを使用)。Build project - hudson make: リポジトリからチェックアウトし、プロジェクトをビルドします。つまり、テストを実行して結果を出力します。

お役に立てば幸いです。

于 2012-11-21T17:04:07.807 に答える