一尘不染

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

selenium

我正在尝试让Selenium RC在具有PHP /
Apache的Linux上与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"但不想使用它)。


阅读 340

收藏
2020-06-26

共1个答案

一尘不染

我不确定回答您自己的问题的礼节…但是经过反复试验,这就是我设法让Selenium在Ubuntu上使用PHP / Firefox3的方式。

  1. 我下载了RC并将php客户端目录复制为/ Selenium到/ usr / share / php
  2. 我导航到下载中的Selenium Server目录,并使用 java -jar selenium-server.jar
  3. 我创建了一个新的Firefox配置文件(通过运行firefox -ProfileManager)。我将新的配置文件称为“硒”
  4. 在该配置文件中,我编辑Firefox Network首选项以通过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();
2020-06-26