Selenyum Linux üzerinde PHP/Firefox3 ile çalışma almak için nasıl

2 Cevap php

PHP / Apache ile Selenium RC Linux üzerinde Firefox 3 ile çalışma almak için çalışıyorum ama sorunlar yaşıyorum. Burada yaptığım buydu:

  • Ben Firefox Selenyum IDE uzantısı yüklü.
  • Web sunucusu (benim durumumda olan aslında Firefox çalıştıran aynı makine), ben ile selenyum sunucu başladım: java-jar selenyum-server.jar-interaktif
  • Aşağıdaki gibi bir PHP komut dosyası var:

PHP:

require_once 'Testing/Selenium.php';

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

Ben PHP komut dosyasını çalıştırdığınızda, yeni bir Firefox sekme başlatmak, ancak I get this error message:

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

Ben ("*firefox" yerine "*custom" kullanarak Firefox 2 ile daha başarılı oldu ama benim geçerli proje için bu kullanmak istemiyorum.

2 Cevap

Ben kendi soruyu yanıtlarken görgü emin değilim ... ama bir deneme-yanılma yolu denediği olan, burada Ubuntu PHP/Firefox3 ile çalışan selenyum almak başardınız nasıl.

  1. Ben RC indirilen ve 'Selenyum' olarak / usr / share / php php istemci dizini kopyalanan
  2. Ben download Selenium Server dizini için gidilen ve java -jar selenium-server.jar ile selenyum başladı
  3. I (firefox-profilemanager çalıştırarak) bir yeni bir Firefox profil oluşturdu. Ben 'Selenyum' yeni Profili çağırdı
  4. Bu profil içinde, ben localhost port 4444 üzerinden proxy tüm protokolleri Firefox Ağ tercihlerini düzenleme.
  5. Benim php komut dosyası oluşturulur ve bu komut ile koştu:

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

Ben referans için aşağıda benim (temel, non-PHPUnit, non-OO) ilk test komut listeledik.

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();

Benim testcases çalıştırmak phpunit, selenyum RC php API kullanmak. Benim testcase gibi görünüyor



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

Bu sanal makine içinde çalışan tarayıcılarla bağlanacak