如何让Selenium在Linux上使用PHP/Firefox3

Pet*_*owe 6 php testing selenium firefox-3

我试图让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();
Run Code Online (Sandbox Code Playgroud)

当我运行PHP脚本时,它会启动一个新的Firefox选项卡,但是我收到以下错误消息:

The requested URL /selenium-server/core/RemoteRunner.html was not found on this server.
Run Code Online (Sandbox Code Playgroud)

我在Firefox 2上取得了更大的成功(通过使用"*firefox"而不是"*custom"将其用于我当前的项目.

Pet*_*owe 12

我不确定回答你自己的问题的礼节......但是我试图以试错法的方式进行实验,这就是我如何让Selenium在Ubuntu上使用PHP/Firefox3.

  1. 我下载了RC并将php客户端目录复制到/ usr/share/php作为'Selenium'
  2. 我在下载中导航到Selenium Server目录,并启动了selenium java -jar selenium-server.jar
  3. 我创建了一个新的Firefox配置文件(通过运行firefox -ProfileManager).我打电话给新配置文件'Selenium'
  4. 在该配置文件中,我编辑Firefox网络首选项以通过localhost端口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();
Run Code Online (Sandbox Code Playgroud)