gpt4 book ai didi

php - 如何使用 PHP 绑定(bind)设置 Selenium(WebDriver 和服务器)

转载 作者:行者123 更新时间:2023-12-03 01:52:33 25 4
gpt4 key购买 nike

我正在尝试查找有关如何在“客户端-服务器”类型的设置中使用 PHP 绑定(bind)设置 Selenium 的具体信息。我什至不确定我想要的是否可能,但我会尽力描述我想要实现的目标。

我在一个 Web 开发项目中进行 QA,我们与分布式团队成员一起工作。我们需要自动化前端测试,并决定(由于多种因素)Selenium 是这项工作的最佳人选。我们的团队专门研究 PHP,因此将 Selenium 与 PHP 绑定(bind)结合使用是有意义的。

我最大的挑战是:

1) 如何安装这些 PHP 绑定(bind)?

2) 如何在 PHP 中创建并执行 Selenium 脚本?这看起来似乎很明显,但我需要知道是否需要在 PHP 中创建某种“项目”,或者这是否需要不同的步骤。当涉及到默认的 JAVA 绑定(bind)时,手册非常清晰和详细,但对于 PHP 绑定(bind)却无可救药地缺乏。

3)当我想要从客户端调用测试但由“服务器/虚拟机”执行它时,我该如何完成所有这些操作? (请记住,如果有可能,我还希望能够在服务器上创建测试,以便可以在客户端桌面上执行/调用测试事件。)

4) 如何设置满足使用 PHP 绑定(bind)运行 Selenium Server 的所有要求的服务器?

目标是能够最初创建一个虚拟机(可能是一个 Vagrant 盒子),其中包含 Selenium Server(以及其他组件)以及实际的测试脚本,可以在团队成员之间共享。该虚拟机应该能够执行 headless 测试,但理想情况下还应该能够在主机上驱动测试(如果可能的话)。

从技术上讲,它应该支持 QA 在产品中发现问题的场景,并且应该能够指定重现问题所需的脚本。负责解决问题的开发人员只需在自己的计算机上运行脚本即可实际重现发现的错误。

最终我们希望将虚拟机迁移到实际的服务器,因此我们希望从一开始就这样设置它。一旦我们准备好迁移到物理服务器,这将使事情变得更加简单。

我一直在互联网上寻找详细的文档,但是在几乎所有文档中,许多假设都是针对已经配置和设置的环境做出的。我真的需要一步步解释如何设置。

PHPUnit 与 Selenium 搭配似乎有点奇怪,因为它们都涵盖了完全不同的测试领域。我在 PHPUnit 网站上看到了(同样不完整的)说明,但这看起来非常笨拙,而且我们的开发团队不太热衷于这种设置。我们有人建议 Jenkins,但我个人不认为 Jenkins 将如何消除 Selenium 的正常设置,无论如何,它必须从一开始就经历。

我已经在虚拟机中将 Selenium Server 作为服务运行,我只需要知道我还需要什么,以及我需要如何设置它,如何配置它。如何让事物进行通信等等

任何帮助/想法将不胜感激。

最佳答案

要在本地运行此程序,请按照此处的说明操作:

https://github.com/facebook/php-webdriver#getting-started

以下是您可以使用的示例 PHP Webdriver 脚本。它将打开 Firefox,带您进入 Google 页面并提交搜索查询:

    // you'll need to modify this path so it points to the composer autoloader
require_once __DIR__ . '/vendor/autoload.php';

/**
* since I'm running the selenium jar locally, this is all I need.
* I just run it in the background and my php scripts connect to it and
* the tests
*/
$host = 'http://localhost:4444/wd/hub';

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

$driver->get('http://google.com');
$element = $driver->findElement(WebDriverBy::name('q'));
$element->sendKeys('Cheese');
$element->submit();

这是您正在寻找的详细信息吗?

关于php - 如何使用 PHP 绑定(bind)设置 Selenium(WebDriver 和服务器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27147710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com