Selenium 2 (WebDriver) 和 Phpunit?

2022-08-30 12:29:10

有人知道如何将硒2与Phpunit一起使用吗?PHP中是否有任何硒2样本?


答案 1

快速更新:phpunit 现在支持 Selenium 2


在撰写本文时,PHPUnit 不支持 Selenium 2。

来自facebookphp-webdriver允许以优雅的方式从PHP调用完整的WebDriver API。引用:

大多数客户端要求您首先阅读协议以查看可能性,然后研究客户端本身以了解如何调用它。这有望消除后一步。

它通过启动Selenium 2服务器来使用它,该服务器在 上提供了接口。localhost:4444/wd/hub

/usr/bin/java -jar /path/to/selenium-server-standalone-2.7.0.jar

然后运行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();

WebDriver API 映射到 PHP 方法,将示例中的调用与文档中的元素/单击 API 调用进行比较。clickelement

然后,可以将测试代码包装在常规 phpUnit 测试中。

这不是原生的phpUnit支持,但它是一种非常健壮的方法。


答案 2

请看 http://code.google.com/p/php-webdriver-bindings/。这是使用JsonWireProtocol与Selenium Webdriver服务器通信的PHP库。这是早期版本,但它有效。


推荐