PHPUnit的Selenium 2文档在哪里?
除了源代码和测试之外,我一直在寻找有关Selenium 2 for PHPUnit的任何信息,这让我很沮丧,因为我可以“查看”以“找出它”。每个人的最爱似乎都是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说“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层的测试框架