0

我正在尝试使用 Yii 框架让 Selenium Web Driver 与 php 一起工作。

phpunit 已安装并正在运行。

我正在运行最新版本的 selenium 服务器。(selenium-server-standalone-2.37.0.jar)

我已经安装了这个用于 web 驱动程序的 Yii 扩展

我有这个shell测试。

Yii::import('ext.webdriver-bindings.CWebDriverDbTestCase');

class SiteTest extends CWebDriverDbTestCase
{
    public function testExample() {
        $this->get("http://www.example.com");
        $this->assertTrue($this->isTextPresent('Example Domain'));
        $this->assertTrue(true);
    }
}

当我在命令行上运行它时

phpunit functional/SiteTest.php

测试运行。将打开一个带有空配置文件的 Firefox 窗口(安装了 Web 驱动程序插件)。但网页无法加载。地址栏中没有任何内容。什么都没有发生。浏览器保持打开状态,同时命令行打印以下内容。

PHPUnit 3.7.28 by Sebastian Bergmann.

Configuration read from C:\full\path\to\yii\project\protected\tests\phpunit.xml

F

Time: 4.88 seconds, Memory: 3.50Mb

There was 1 failure:

1) SiteTest::testExample
Failed asserting that false is true.

C:\full\path\to\yii\project\protected\tests\functional\SiteTest.php:18

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

我在 Windows 7 上并尝试关闭防火墙以查看是否是原因。

如您所见,随着第二次测试通过,phpunit 工作正常。但由于某种原因,Firefox 没有打开请求的页面。

编辑:我正在使用最新版本的 php (5.5.5)

编辑:我现在也尝试过使用 Chrome 驱动程序。我得到相同的结果。Chrome 会打开,但无法加载页面。地址栏中只有“数据:”。

4

2 回答 2

0

每当我用最新的服务器启动我的脚本时,我都会遇到同样的问题,没有任何反应。但我注意到,如果我使用 selenium server v2.33,一切都会再次运行(http://goo.gl/cxpyd2)。但是,我收到了新的 firefox 和 2.33 似乎发生的执行 js 错误?我不知道。所以我假设它是用较新版本的服务器修复的,但我无法尝试。

于 2013-11-12T01:21:44.833 回答
0

我遇到了同样的问题,但是将 Firefox 版本降级到 11.0 它开始工作。如果您使用 linux,则可以使用 synaptic 并强制 Firefox 版本降级

于 2014-01-27T15:38:42.760 回答