Я пытаюсь заставить Selenium RC работать с Firefox 3 на Linux с PHP / Apache, но у меня проблемы. Вот что я сделал:
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.
У меня было больше успеха с Firefox 2 (используя "*firefox"
вместо "*custom"
но не хочу использовать это для моего текущего проекта.
Я не уверен в этикете, отвечая на ваш собственный вопрос … но экспериментируя с пробным и ошибочным способом, вот как мне удалось заставить Selenium работать с PHP / Firefox3 на Ubuntu.
java -jar selenium-server.jar
Я создал свой 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();
Я использую 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
Это будет подключаться к браузерам, работающим внутри виртуальных машин