我正在使用apache / php / mysql运行ubuntu服务器。我想在我的一个php项目中使用selenium。基本上,我想要一个设置,我可以或多或少地将粘贴代码从Firefox Selenium IDE(格式设置为php)复制到我的php项目中,如下所示:
<?php
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
class Example extends PHPUnit_Extensions_SeleniumTestCase
{
protected function setUp()
{
$this->setBrowser("*chrome");
$this->setBrowserUrl("http://www.google.com/");
}
public function testMyTestCase()
{
$this->type("q", "stack overflow");
$this->click("link=2");
$this->waitForPageToLoad("30000");
$this->click("btnG");
$this->waitForPageToLoad("30000");
$this->type("q", "stack overflow php");
$this->click("btnG");
$this->waitForPageToLoad("30000");
}
}
?>
我试图弄清楚如何使用Selenium RC在PHP中执行此操作,但文档令人困惑且过时。
我非常感谢初学者如何开始使用PHP和Selenium RC。
非常感谢。
感谢您的反馈。我已经在Ubuntu / firefox上启动并运行Selenium了,显然这不是我想要的。它运行java服务器并依赖于完整的浏览器这一事实使它成为轻量级的东西。
答案 0 :(得分:3)
启动Selenium RC非常简单(如果您已经有桌面环境),请确保安装了JRE并运行命令
java -jar selenium-server.jar
Selenium RC将在localhost(端口4444)上侦听,例如,您可以使用PHP客户端(Pear)连接它。
顺便说一下,Testing_Selenium(Pear)客户端已经过时,例如不支持HTTP POST,你可能有兴趣修补它(http://github.com/tszming/Testing_Selenium--Patch-)
答案 1 :(得分:1)
我对Selenium做的并不多,但我的理解是,如果你只有Selenium IDE,除了在你的浏览器中运行它之外别无他法 - 不同的语言输出基本上是无关紧要的。
如果您想以任何语言将Selenium合并到您的程序中,您需要Selenium RC。
答案 2 :(得分:0)
您可以使用SauceLabs onDemand进行使用PHP的Selenium测试。而且您不必自己设置Selenium RC。如果你想查看它们,他们可以免费试用30天。
答案 3 :(得分:0)
尝试使用simpletest webtester:
它是一个非常简单的库,符合您对“类似解决方案的要求,您只需加载php库与dom / html进行交互”
答案 4 :(得分:0)
我使用phpQuery来做这种事情,它是一个jQuery端口。
答案 5 :(得分:0)
Selenium RC Server已弃用且已过期。 selenium webdriver是你需要的那个,但正如你所提到的,它需要服务器监听并且可能耗费资源。在Nearsoft,我们创建了一个通过JSON Wire协议与Web服务器交互的库,但我们的目标是使它与selenium网站中的示例尽可能相似,因此Java中的任何示例都将在PHP中具有非常相似的语法。 这是链接,希望它有所帮助:https://github.com/Nearsoft/PHP-SeleniumClient
如果你喜欢它,分享,参与,分叉或随心所欲地做:)
问候,马克。
答案 6 :(得分:0)
我上周开始使用Selenium IDE
进行测试,现在我要去Selenium RC
。实际上你需要selenium-server-standalone
,你需要安装phpunit with pear。在Google上查看有很好的教程。
当phpunit
准备就绪时,您需要安装一个名为Selenium IDE
的{{1}}插件,然后您可以在php(phpunit)中继续Selenium IDE PHP Formaters
文件。
如果没问题,您可以通过以下方式从cmd consol启动测试:
Selenium IDE->file->export
它会告诉你测试是否合适。