1

Firefox に Selenium IDE をインストールし、さまざまな Web ナビゲーション シーケンスを記録して再生することができました。私が必要としているのは、PHP によってすべて自動化することです。つまり、最終ページの HTML ソースを取得する PHP スクリプトを実行します (つまり、ナビゲーション シーケンスの最後に)。Selenium 内には、PHP にエクスポートするオプションがあるため、次のような結果が得られます。

class Example extends PHPUnit_Extensions_SeleniumTestCase
{
  function setUp()
  {
    $this->setBrowser("*chrome");
    $this->setBrowserUrl("http://www.example.com/");
  }

  function testMyTestCase()
  {
    $this->open("/");
    $this->click("link=24");
    $this->waitForPageToLoad("30000");
    $this->click("link=Test2");
    $this->waitForPageToLoad("30000");
    $this->click("//td[4]/a/img");
    $this->waitForPageToLoad("30000");
    $this->type("username", "user");
    $this->type("password", "pass");
    $this->click("//input[@name='login']");
    $this->waitForPageToLoad("30000");
  }
}

PHPコードでこれを使用できますが、何もしないようです(これは単なるクラス定義であるため)。最後のソースページを取得するにはどうすればよいですか? PHP コードで画面上のナビゲーションを実行したくないことに注意してください。代わりに、最終的なソース コードを PHP 内でさらに処理したいと考えています。

4

2 に答える 2

0

Export to PHP Option は、Selenium RC PHP ドライバーを使用して (少し追加の作業を行うことで) 実行される形式でテストをエクスポートします。見ているページはエクスポートされません。

すぐに使用できる Selenium IDE では、ページの最終ソースを取得して、それに対して何かを行うことはできません。もし私がこのようなことを達成しなければならないとしたら、私は

  1. アプローチを再考する

  2. Selenium IDE でこれを行うことにした場合は、user-extension.js メカニズムを使用して、Javascript を使用してページのソースを取得し、URL に POST する新しい Selenium アクションを作成することを検討します。私の選択の

  3. 残りの処理を行う PHP ページの上に URL を作成します。

これはハックのようなもので、user-extension.js を調査する必要があり (全員が対象というわけではありません)、壊れやすい追加のカスタム作業です。(オプション #1 を参照)

于 2009-11-04T18:38:43.433 に答える