我试图让Selenium RC在Linux上用PHP/Apache与Firefox 3一起工作,但遇到了问题.这就是我所做的:
我已经安装了Firefox Selenium-IDE扩展.
在Web服务器上(在我的情况下实际上是运行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"
将其用于我当前的项目.
我不确定回答你自己的问题的礼节......但是我试图以试错法的方式进行实验,这就是我如何让Selenium在Ubuntu上使用PHP/Firefox3.
我下载了RC并将php客户端目录复制到/ usr/share/php作为'Selenium'
我在下载中导航到Selenium Server目录,并启动了selenium java -jar selenium-server.jar
我创建了一个新的Firefox配置文件(通过运行firefox -ProfileManager).我打电话给新配置文件'Selenium'
在该配置文件中,我编辑Firefox网络首选项以通过localhost端口4444代理所有协议.
我创建了我的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();