PHPUnit的Selenium 2文档在哪里?

PHPUnit的Selenium 2文档在哪里?,php,selenium-webdriver,phpunit,functional-testing,Php,Selenium Webdriver,Phpunit,Functional Testing,除了源代码和测试之外,我一直在寻找有关Selenium 2 for PHPUnit的任何信息,这让我很沮丧,因为我可以“查看”以“找出它”。每个人的最爱似乎都是 …但我当然不必为了简单问题的答案而翻阅数百行资料?在哪里可以找到初学者指南、基本文档或任何东西 啊哈,时间到了。将为下一个可怜的灵魂发帖,徘徊在这些荒芜混乱的田野 当Selenium说“Selenium 2”时,他们喜欢说“Selenium 2=Selenium服务器+WebDriver” PHPUnit人的诀窍是WebDriver部

除了源代码和测试之外,我一直在寻找有关Selenium 2 for PHPUnit的任何信息,这让我很沮丧,因为我可以“查看”以“找出它”。每个人的最爱似乎都是


…但我当然不必为了简单问题的答案而翻阅数百行资料?在哪里可以找到初学者指南、基本文档或任何东西

啊哈,时间到了。将为下一个可怜的灵魂发帖,徘徊在这些荒芜混乱的田野

当Selenium说“Selenium 2”时,他们喜欢说“Selenium 2=Selenium服务器+WebDriver”

PHPUnit人的诀窍是WebDriver部分,它不完全在PHPUnit中。Selenium已经用其他几种语言编写了WebDriver,还有一些针对PHP的第三方驱动程序,自从我现在瞄准PHPUnit以来,我还没有尝试过。WebDriver基本上是一种在DOM中运行并获取元素的方法。这是一个很好的简况

当PHPUnit说“Selenium 2”时,他们的意思是他们编写的类在WebDriver中完成了大部分工作,但他们不是称之为WebDriver,而是称之为Selenium 2。

由于PHPUnit的自制版本,它们的方法的命名与Java或C#版本稍有不同。这就是为什么每个人都如此兴奋的原因,因为在webdriver文档中找到所需的方法后,可以很容易地猜测您想要的是什么

否则,显然PHPUnit中的大多数其他功能都坚持原来的
SeleniumTestCase
内容;我在下面编辑了一些链接,以集中我的信息。硒1不是“死的”,但它是旧的。PHPUnit仍然使用其selenium1实现中的许多架构,PHPUnit的selenium2实际上并不是这样,而是一种selenium1++

因此,没有理由去寻找源代码,只需尝试将PHPUnit测试用例与WebDriver文档匹配即可。另外,教程中关于
SeleniumTestCase
的一些方法已经更改了
Selenium2TestCase
中的名称,但不用担心,事情仍然是一样的,只是有点混乱

您可能会问,“为什么不直接使用
SeleniumTestCase
?”嗯,似乎对其他浏览器的支持需要WebDriver,所以如果您想退出Firefox,您需要
Selenium2TestCase
(我可能错了)


以下是我在浏览时发现的一些有用的链接:

  • Selenium server命令行选项,2013年6月16日,不完整,缺少类似
    -singleWindow

  • 还有一些命令行选项,已有4年历史:

  • Selenium server命令行帮助,是迄今为止我找到的最完整的文档:
    java-jar-selenium-server.jar-h

  • 来自命令行的Chrome webdriver:

  • 来自命令行的IE webdriver:

  • Selenium中多浏览器的PHPUnit配置XML

  • Selenium2TestCase类(!)的文档

  • 当然,还有神秘的PHPUnit Selenium文档:


为了解决我上面的多浏览器问题,仍然可以从
SeleniumTestCase
使用静态
$browser
模式,但是
browser
索引已更改为
browserName

public static $browsers = array(
    array(
        'name'    => 'Internet Explorer',
        'browserName' => 'iexplore',   // not 'browser'
        'host'    => 'localhost',
        'port'    => 4444,
        'timeout' => 30000,
    ),
};

请注意,如果您使用的是XML配置,Phing不支持
标记。

我刚刚经历了相同的过程,并撰写了本文作为我和其他人的参考:


听起来你已经回答了我的大部分发现,但至少你会在沮丧中感觉不那么孤独

PHPUnit Selenium扩展(包含
Selenium2TestCase
等)不再是PHPUnit项目本身的一部分-它现在是一个,也需要显式安装(即它不是PHPUnit发行版的一部分)。但是,即使是单独的扩展,似乎也没有任何文档

此外,此扩展不再是积极开发的,其部分内容也不是最新的WebDriver协议更改

但是,要将Selenium与PHPUnit结合使用,您可以使用基于库的其他工具:

  • 它将PHPWebdriver直接集成到PHPUnit中,因此您可以直接从测试中控制Selenium
  • 在phpwebdriver和PHPUnit之上提供BDD层的测试框架

+投票支持全面的自我回答。我写了一篇关于如何设置PHPUnit和Selnium2的教程,几个月前我也在问自己这个问题。然后,我意识到,要与许多明显的问题作斗争,生命是短暂的,我决定我的项目不需要用同一种语言编写selenium测试。我改用Java,现在我是个快乐的人;)这是一个很好的建议:)虽然花了两天的时间才弄明白这一点,但我对这个包裹并不太不满意,我可以把它和我的Phing结合起来,这很好。但对于一个行业标准的软件包(至少PHPUnit和Selenium,分别是)来说,令人惊讶的是,起始信息很少。不管怎么说,现在渡过了难关:)@seimic——自从我写了这个问题以来,我也有机会使用Java——这要容易得多。不过,最终还是实现了相同的功能,并且与Ant的集成比Phing更好。