2008-10-03 10 views
6

पर सेलेनियम PHP/फ़ायरफ़ॉक्स 3 के साथ काम करने के लिए कैसे प्राप्त करें मैं Selenium RC PHP/Apache के साथ लिनक्स पर फ़ायरफ़ॉक्स 3 के साथ काम करने की कोशिश कर रहा हूं लेकिन समस्याएं अनुभव कर रहा हूं। यहां मैंने जो किया है:लिनक्स

  • मैंने फ़ायरफ़ॉक्स सेलेनियम-आईडीई एक्सटेंशन स्थापित किया है।
  • वेब सर्वर पर (जो मेरे मामले में वास्तव में एक ही मशीन फ़ायरफ़ॉक्स चल रहा है), मैंने सेलेनियम सर्वर के साथ शुरू किया है: जावा -जर सेलेनियम-सर्वर.जर -इंटरएक्टिव
  • मेरे पास एक 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. 

मुझे फ़ायरफ़ॉक्स 2 ("*firefox" का उपयोग करके "*custom" के बजाय अधिक सफलता मिली है लेकिन मेरे वर्तमान प्रोजेक्ट के लिए इसका उपयोग नहीं करना चाहता।

उत्तर

12

मुझे आपके अपने प्रश्न का उत्तर देने के शिष्टाचार के बारे में निश्चित नहीं है ... लेकिन परीक्षण-और-त्रुटि तरीके से प्रयोग किया गया है, यहां बताया गया है कि मैंने सेबिनियम को उबंटू पर PHP/Firefox3 के साथ काम करने में कैसे प्रबंधित किया है।

  1. मैं आर सी डाउनलोड किया है और 'सेलेनियम'
  2. मैं डाउनलोड में सेलेनियम सर्वर निर्देशिका पर नेविगेट के रूप में/usr/share/php के लिए php ग्राहक निर्देशिका की नकल की है, और साथ java -jar selenium-server.jar
  3. मेरे द्वारा बनाए गए सेलेनियम शुरू कर दिया एक नया फ़ायरफ़ॉक्स प्रोफाइल (फ़ायरफ़ॉक्स -प्रोफाइल मैनेजर चलाकर)। मैं नए प्रोफाइल 'सेलेनियम'
  4. कि प्रोफाइल के भीतर कहा जाता है, मैं स्थानीय होस्ट पोर्ट के माध्यम से सभी प्रोटोकॉल प्रॉक्सी के लिए Firefox नेटवर्क प्राथमिकताओं का संपादन 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(); 
1

मैं PHPUnit, सेलेनियम आर सी php एपीआई का उपयोग अपने testcases चलाने के लिए। मेरे testcase तरह



[email protected]~/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", "[email protected]"); 
    $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); 
    } 
} 
?> 
[email protected]~/selenium/ide_scripts$ 
phpunit mytest.php 

यह लग रहा है आभासी मशीनों

अंदर चल ब्राउज़रों से कनेक्ट करेगा