6

PHP /Apacheを使用するLinux上のFirefox3でSeleniumRCを動作させようとしていますが、問題が発生しています。これが私がしたことです:

  • FirefoxSelenium-IDE拡張機能をインストールしました。
  • Webサーバー(私の場合はFirefoxを実行しているのと同じマシン)で、Seleniumサーバーを次のコマンドで起動しました:java -jar selenium-server.jar -interactive
  • 私は次のようなPHPスクリプトを持っています:

PHP:

require_once 'Testing/Selenium.php';

$browser = new Testing_Selenium("*custom /usr/lib/firefox-3.0.3/firefox", "https://www.example.com");
$browser->start();

PHPスクリプトを実行すると、新しいFirefoxタブが起動しますが、次のエラーメッセージが表示されます。

The requested URL /selenium-server/core/RemoteRunner.html was not found on this server.

私はFirefox2でより多くの成功を収めました("*firefox"代わりに"*custom"使用しましたが、現在のプロジェクトでは使用したくありません。

4

2 に答える 2

12

あなた自身の質問に答えるエチケットはわかりません...しかし、試行錯誤の方法で実験した結果、SeleniumをUbuntuでPHP/Firefox3と連携させる方法を以下に示します。

  1. RC をダウンロードし、php クライアント ディレクトリを「Selenium」として /usr/share/php にコピーしました。
  2. ダウンロードで Selenium Server ディレクトリに移動し、Selenium を起動しましたjava -jar selenium-server.jar
  3. 新しい Firefox プロファイルを作成しました (firefox -ProfileManager を実行して)。新しいプロファイルを「Selenium」と呼びました
  4. そのプロファイル内で、Firefox のネットワーク設定を編集して、localhost ポート 4444 経由ですべてのプロトコルをプロキシします。
  5. php スクリプトを作成し、次のコマンドで実行しました。

    php -d include_path=".:/usr/share/php:/usr/share/php/Selenium/PEAR" test.php

参照用に、(基本、非 PHPUnit、非 OO) 最初のテスト スクリプトを以下にリストしました。

require_once 'Testing/Selenium.php';

$oSelenium = new Testing_Selenium(
    "*custom /usr/lib/firefox-3.0.3/firefox -P Selenium",
    "https://www.example.com");
$oSelenium->start();

$oSelenium->open("/");

if (!$oSelenium->isElementPresent("id=login_button")) {
        $oSelenium->click("logout");
        $oSelenium->waitForPageToLoad(10000);
        if (!$oSelenium->isElementPresent("id=login_button")) {
                echo "Failed to log out\n\n";
                exit;
        }
}

$oSelenium->type("login", "my_username");
$oSelenium->type("password", "my_password");
$oSelenium->click("login_button");
$oSelenium->waitForPageToLoad(10000);

$oSelenium->click("top_nav_campaigns");

$oSelenium->stop();
于 2008-10-03T21:24:12.293 に答える
1

私はphpunit、selenium RC php apiを使用してテストケースを実行しています。私のテストケースは次のようになります



1235$Deepan@Newton~/selenium/ide_scripts$
cat mytest.php
 'FF on linux',
      'browser' => '*firefox',
      'host'    => '10.211.55.8',
      'port'    => 4444,
      'timeout' => 30000,
    ),
    array(
      'name'    => 'FF on windows',
      'browser' => '*firefox',
      'host'    => '10.211.55.5',
      'port'    => 4444,
      'timeout' => 30000,
    ),
     */
    array(
      'name'    => 'Google Chrome on windows',
      'browser' => '*googlechrome',
      'host'    => '10.211.55.5',
      'port'    => 4444,
      'timeout' => 30000,
    ),
    /*
    array(
      'name'    => 'IE on windows',
      'browser' => '*iexplore',
      'host'    => '10.211.55.5',
      'port'    => 4444,
      'timeout' => 30000,
    ),
    array(
      'name'    => 'Safari on MacOS X',
      'browser' => '*safari',
      'host'    => 'localhost',
      'port'    => 4444,
      'timeout' => 30000,
    ),
    array(
      'name'    => 'Firefox on MacOS X',
      'browser' => '*chrome',
      'host'    => 'localhost',
      'port'    => 4444,
      'timeout' => 30000,
    ),
     */
    array(
      'name'    => 'Google Chrome on MacOS X',
      'browser' => '*googlechrome',
      'host'    => 'localhost',
      'port'    => 4444,
      'timeout' => 30000,
    )
  );

  protected function setUp()
  {
    //$this->setBrowser("*chrome");
    $this->setBrowserUrl("http://www.facebook.com/");
  }

  public function testMyTestCase()
  {
    $this->open("/index.php?lh=94730c649368393b6954cb9fc0802e0a&eu=iKjrC7Q2aC-8tcU7PVLilg");
    $this->type("email", "myemail@domain.com");
    $this->type("pass", "mypassword");
    $this->click("persistent");
    $this->click("//input[@type='submit']");
    $this->waitForPageToLoad("30000");
    sleep(10);
    $this->open("http://apps.facebook.com/myapp/");
    sleep(4);
    $this->click("link=Play");
    $this->waitForPageToLoad("30000");
    sleep(4);
    $this->click("navAccountLink");
    sleep(4);
    $this->click("link=Logout");
    $this->waitForPageToLoad("30000");
    sleep(4);
  }
}
?>
1332$Deepan@Newton~/selenium/ide_scripts$
phpunit mytest.php

これにより、仮想マシン内で実行されているブラウザに接続されます

于 2010-07-07T08:10:34.243 に答える