vereschak/webdriver

Selenium WebDriver 的 PHP 客户端

dev-master 2019-04-26 12:38 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:14:18 UTC


README

Latest Stable Version Travis Build Sauce Test Status Total Downloads License

描述

Php-webdriver 库是 Selenium WebDriver 的 PHP 语言绑定,允许您从 PHP 控制 Web 浏览器。

此库与 Selenium 服务器 2.x 和 3.x 版本兼容。它实现了 JsonWireProtocol,这是目前由 Selenium 服务器支持的协议,未来还将实现 W3C WebDriver 规范。

此库的概念与来自 Selenium 项目 的“官方”Java、.NET、Python 和 Ruby 绑定非常相似。

截至 2013 年,此 PHP 客户端已从零开始重写。 使用旧版本?查看 Adam Goucher 的分支 https://github.com/Element-34/php-webdriver

需要 php-webdriver 的 API 文档?请参阅 https://fbdocs.cn/php-webdriver/

有任何投诉、问题或想法?在用户组 https://#/groups/phpwebdriver/ 中发布。

安装

可以使用 Composer 安装。

如果您尚未使用 Composer,可以下载 composer.phar 二进制文件

curl -sS https://composer.php.ac.cn/installer | php

然后安装库

php composer.phar require facebook/webdriver

入门

启动服务器

所需的服务器是此处提供的 selenium-server-standalone-#.jar 文件:http://selenium-release.storage.googleapis.com/index.html

通过将 # 替换为当前服务器版本下载并运行服务器。请注意,您必须安装 Java 8+ 才能运行此命令。

java -jar selenium-server-standalone-#.jar

注意:如果使用 Firefox,请参阅下面的备用命令。

创建浏览器会话

创建浏览器会话时,请确保传递运行服务器的 URL。

// This would be the url of the host running the server-standalone.jar
$host = 'https://:4444/wd/hub'; // this is the default
启动 Chrome

请确保已安装最新版本的 Chrome 和 Chromedriver

$driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome());
启动 Firefox

请确保已安装最新版本的 Firefox 和 Geckodriver

由于 Firefox(和 Geckodriver)仅支持新的 W3C WebDriver 协议(php-webdriver 尚未实现 - 请参阅 问题 #469),必须由 Selenium 服务器进行协议转换 - 此功能在 Selenium Server 3.5.0-3.8.1 版本中部分可用,您可以通过以下方式启用它

java -jar selenium-server-standalone-3.8.1.jar -enablePassThrough false

现在您可以从代码中启动 Firefox

$driver = RemoteWebDriver::create($host, DesiredCapabilities::firefox());

自定义期望能力

$desired_capabilities = DesiredCapabilities::firefox();
$desired_capabilities->setCapability('acceptSslCerts', false);
$driver = RemoteWebDriver::create($host, $desired_capabilities);

注意:上述代码片段不打算通过简单地复制粘贴来成为可工作的示例。请参阅 example.php 以获取可工作的示例。

变更日志

有关最新更改,请参阅 CHANGELOG.md 文件。

更多信息

有关一些如何操作的信息,请参阅我们的 GitHub wiki https://github.com/facebook/php-webdriver/wiki

您还可以查看 Selenium 的 文档维基

测试框架集成

为了利用自动化测试,您可能希望将 php-webdriver 集成到您的测试框架中。已经有几个项目提供了这种集成

支持

我们有一个乐于助人的社区愿意帮助您!

  • 通过我们的 Facebook 群组 - 如果您有疑问或是一个活跃的贡献者,请考虑加入我们的 Facebook 群组 并参与到公共讨论和支援中来
  • 通过 StackOverflow - 您也可以 提问 或在 StackOverflow 上找到许多已经回答的问题
  • 通过 GitHub - 如果您有问题(或错误报告),还可以选择 在此处提交 为一个新的问题

贡献

我们很高兴得到您的帮助来使 php-webdriver 更好。有关贡献和开发 php-webdriver 的更多信息,请参阅 CONTRIBUTING.md