Pau*_*ers 39 php selenium phpunit selenium-webdriver
任何人都知道如何将Selenium 2与Phpunit一起使用?PHP中是否有任何Selenium 2样本?
cmc*_*cmc 19
快速更新: phpunit现在支持Selenium 2
在撰写本文时,PHPUnit不支持Selenium 2.
来自facebook的php-webdriver允许以优雅的方式从PHP调用完整的WebDriver API.报价:
大多数客户要求您首先阅读协议以查看可能的内容,然后研究客户端本身以了解如何调用它.这希望消除后一步骤.
它通过启动Selenium 2服务器来使用,该服务器提供接口localhost:4444/wd/hub.
/usr/bin/java -jar /path/to/selenium-server-standalone-2.7.0.jar
Run Code Online (Sandbox Code Playgroud)
然后运行调用该接口的PHP测试代码.例如:
<?php
require '/path/to/php-webdriver/__init__.php';
$webdriver = new WebDriver();
$session = $webdriver->session('opera', array());
$session->open("http://example.com");
$button = $session->element('id', 'my_button_id');
$button->click();
$session->close();
Run Code Online (Sandbox Code Playgroud)
该webdriver的API映射到PHP方法,比较调用click上element的例子与元素/点击文档中的API调用.
然后可以将测试代码包装在常规的phpUnit测试中.
这不是原生的phpUnit支持,但它是一种非常强大的方法.
请查看http://code.google.com/p/php-webdriver-bindings/.这是使用JsonWireProtocol与Selenium Webdriver服务器通信的PHP库.这是早期版本,但它的工作原理.
目前(2017)我推荐使用php-webdriver,AFAIK是最具功能的完整PHP语言绑定,与Selenium WebDriver交互.
该库于2014年重写以支持Selenium 2,其API主要基于官方Java WebDriver绑定.这意味着您还可以利用用Java编写的代码示例,因为它们通常可以简单地在PHP中使用.它还以现代OOP方式编写,遵循标准的PSR-4命名空间和PSR-2编码标准.
我推荐这个库通过phpunit-selenium - 因为它最初是为Selenium 1设计的(尽管它现在支持Selenium 2),它的API对PHPUnit非常紧张.它也不支持某些WebDriver功能,并且不与upcomin W3C WebDriver规范保持同步.
另一方面,Php-webdriver是独立的库,但它与PHPUnit的集成非常简单 - 或者你可以使用像Steward这样的现有工具,它包括所有的PHPUnit集成,并提供了很好的便利层,例如.允许简单地并行运行多个测试(不需要像paratest这样的其他工具).
项目主页上还提到了其他测试框架集成选项.
| 归档时间: |
|
| 查看次数: |
25968 次 |
| 最近记录: |