Как заставить Selenium работать с PHP / Firefox3 в Linux?

Я пытаюсь заставить Selenium RC работать с Firefox 3 на Linux с PHP / Apache, но у меня проблемы. Вот что я сделал:

  • Я установил расширение Firefox Selenium-IDE.
  • На веб-сервере (который в моем случае на самом деле тот же самый компьютер, на котором запущен 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. 

У меня было больше успеха с Firefox 2 (используя "*firefox" вместо "*custom" но не хочу использовать это для моего текущего проекта.

Related of "Как заставить Selenium работать с PHP / Firefox3 в Linux?"

Я не уверен в этикете, отвечая на ваш собственный вопрос … но экспериментируя с пробным и ошибочным способом, вот как мне удалось заставить Selenium работать с PHP / Firefox3 на Ubuntu.

  1. Я загрузил RC и скопировал каталог клиента php в / usr / share / php как «Selenium»
  2. Я перешел в каталог сервера Selenium в загрузке и начал селен с java -jar selenium-server.jar
  3. Я создал новый профиль Firefox (запустив firefox -ProfileManager). Я назвал новый профиль «Selenium»
  4. Внутри этого профиля я редактирую настройки сети Firefox для проксирования всех протоколов через localhost port 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(); 

Я использую 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 

Это будет подключаться к браузерам, работающим внутри виртуальных машин