【问题标题】:PHPUnit Fatal Error with Selenium/UbuntuSelenium/Ubuntu 的 PHPUnit 致命错误
【发布时间】:2012-04-21 17:36:22
【问题描述】:

我已经阅读了各种教程/帖子,以便在我的 Ubuntu 系统上安装带有 Selenium 的 PHPUnit。我相信我已按要求进行了所有设置:

/usr/share/php$ phpunit --version
PHPUnit 3.6.10 by Sebastian Bergmann.

因此,我使用 IDE 创建了我的测试,并将其保存以供运行,这似乎是根据需要设置的。所以我使用以下方式运行测试:

phpunit /home/retrobadger/working_files/tutorials/phpunit/selenium1.php

但是每次我运行它时,我都会收到以下错误:

PHP Fatal error:  Class 'PHPUnit_Extensions_SeleniumTestSuite' not found in /usr/share/php/PHPUnit/Extensions/SeleniumTestCase.php on line 394
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:46
PHP   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:130
PHP   4. PHPUnit_Runner_BaseTestRunner->getTest() /usr/share/php/PHPUnit/TextUI/Command.php:150
PHP   5. ReflectionMethod->invoke() /usr/share/php/PHPUnit/Runner/BaseTestRunner.php:124
PHP   6. PHPUnit_Extensions_SeleniumTestCase::suite() /usr/share/php/PHPUnit/Extensions/SeleniumTestCase.php:0

扩展中的文件是存在的,我给它设置了非常开放的权限。我能想到的唯一事情是我的 SeleniumTestCase.php 有问题,或者我需要另一个没有其他教程建议的文件。

任何建议将不胜感激。我对 PHPUnit 的经验很少,所以希望我的错误是一个基本错误。

感谢您提供的任何建议, 丹

【问题讨论】:

  • Selenium 测试基本上是一种 UI 测试,它独立于 PHP/Java 等任何语言。因为,php 支持已从 Selenium 中正式删除,我建议使用用 Java 编写的稳定测试来测试它。这个问题是我遇到的,所以为了长期保持稳定,我选择它在 java 中做

标签: php unit-testing ubuntu selenium phpunit


【解决方案1】:

在调用测试时检查是否包含 PHPUnit。无论是在 php.ini 中,还是在您运行的 IDE 中,或显式地——现在它只是找不到类。这意味着 PHPUnit 无法访问。尝试一个更简单的类,PHPUnit_Extensions_SeleniumTestCase

【讨论】:

  • 我已检查以下 3 行是否在我的 php.ini 文件中:include_path = ".:/usr/share/php" include_path= " :/usr/share/php/PEAR" include_path=".:/usr/share/php/PHPUnit"
  • right.. 它有 phpunit 目录,但可能 IDE 在尝试执行测试时缺少自动加载框架,请尝试在测试开始时明确要求它(然后可能将其移至引导程序)@987654323 @
  • 对不起,我怕我糊涂了。我目前没有使用测试/开发 IDE。我只是使用 selenium FF 插件导出,然后在终端中运行它。我为 Framework.php 运行定位,并且在我的本地系统上没有这样的文件设置。根据我的阅读,在 3.6 版中我不需要这个文件,因为 Autoload.php 会自动使用。
  • 尝试以与命名类相同的方式命名文件。所以不是selenium1.php,而是selenium1test.php,因此是Selenium1Test
  • 我已经做到了,但遗憾的是没有运气。文件现在名为“selenium1test.php”,类行是“class selenium1Test extends PHPUnit_Extensions_SeleniumTestCase”。我在终端中的测试命令是'phpunit /home/retrobadger/working_files/tutorials/phpunit/selenium1test.php',我在运行时遇到与以前相同的错误。如果有帮助,我已将我的 php 文件的副本粘贴到 pastebin [pastebin.com/NW6QVasH]
猜你喜欢
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
  • 2018-09-07
  • 2012-09-15
  • 2021-03-03
  • 2022-01-02
相关资源
最近更新 更多