如何使用PHP绑定设置Selenium(WebDriver和Server)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用PHP绑定设置Selenium(WebDriver和Server)相关的知识,希望对你有一定的参考价值。
我正在尝试找到有关如何在“客户端 - 服务器”类型的设置中使用php绑定设置Selenium的具体信息。我甚至不确定我想要的是否可行,但我会尽力描述我想要实现的目标。
我在一个Web开发项目上做QA,我们正在与分布式团队成员合作。我们需要自动化的前端测试,并且已经决定(由于许多因素)Selenium是这项工作的最佳候选人。我们的团队专注于PHP,因此使用Selenium和PHP绑定是有意义的。
我最大的挑战是:
1)如何安装这些PHP绑定?
2)如何在PHP中创建和执行Selenium脚本?这个看起来很明显,但我需要知道我是否需要在PHP中创建某种“项目”,或者这是否需要不同的步骤。当涉及默认的JAVA绑定时,手册非常清晰和详细,但是对于PHP绑定毫无希望地缺乏。
3)我如何做这一切,同时想要从客户端调用测试,但是让它由“服务器/ VM”执行? (请记住,如果存在可能性,我还希望能够在服务器上创建测试,可以在客户端的桌面上执行/调用测试活动。)
4)如何设置满足使用PHP绑定运行Selenium Server的所有要求的服务器?
目标是能够最初创建一个VM(可能是一个Vagrant框),其中包含Selenium Server(如果需要其他组件)和实际测试脚本,可以在团队成员之间共享。这个VM应该都能够执行无头测试,但理想情况下也应该能够在主机上进行测试(如果可能的话)。
从技术上讲,它应该支持QA在产品中发现问题的情况,并且应该能够指定所需的脚本来重现它。有修复问题任务的开发人员应该只需要在他的机器上运行脚本来实际重现找到的错误。
最终我们想要将VM迁移到实际的服务器,因此我们想要从一开始就这样设置它。一旦我们准备好移动到物理服务器,这将使事情变得更加简单。
我一直在互联网上查找详细的文档,但在几乎任何文档中都有很多关于已经配置和设置环境的假设。我真的需要一步一步解释如何设置。
PHPUnit与Selenium配对似乎有点奇怪,因为它们都涵盖了完全不同的测试领域。我在PHPUnit网站上看到了(再次不完整)的说明,但这看起来非常笨重,我们的开发团队对此设置并不十分热衷。我们有人建议Jenkins,但我个人并没有看到Jenkins如何消除Selenium的正常设置,无论如何都必须从头开始。
我已经将Selenium Server作为VM中的服务运行,我只需要知道我还需要什么,以及我需要如何设置它,如何配置它。如何让事情沟通等
任何帮助/想法将受到高度赞赏。
要在本地运行,请按照此处的说明操作:
https://github.com/facebook/php-webdriver#getting-started
以下是您可以使用的示例PHP webdriver脚本。它将打开firefox,带你到谷歌的页面并提交搜索查询:
// 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();
这是你正在寻找的那种细节吗?
如果你像我这样的视觉学习者,这个
Youtube Video
Selenium WebDriver set up with PHP - Selenium PHP traininig
会帮助你做到这一点。 :)
以上是关于如何使用PHP绑定设置Selenium(WebDriver和Server)的主要内容,如果未能解决你的问题,请参考以下文章
selenium使用自动下载driver版本----webdriver-manager