如何将硒与PHP一起使用?安装所有内容用法

我想使用Selenium来自动化一些Web任务(不用于测试)。我认为我已经安装了Selenium RC Server,但是由于我在PHP中找不到客户端驱动程序,因此无法编写“测试脚本”(请参阅:http://seleniumhq.org/download/)。

有没有办法让我在PHP上使用硒?这似乎表明我需要PHPUnit http://www.phpunit.de/manual/current/en/selenium.html。我只想自动执行一些任务,而不是参与一整套测试。


答案 1

facebook/php-webdriver是硒和php的一个很棒的客户端。

您可以使用它来自动执行Web任务(如OP所需),或者您可以简单地将php-webdriver集成到您的测试框架中。有一些项目已经提供了这个:


安装所有内容

  1. 下载并安装 facebook/php-webdrivercomposer require facebook/webdriver

  2. 下载Selenium并启动它。java -jar selenium-server-standalone-#.jar

  3. 下载Quick Java并将其放入您的项目目录中。


用法

在此示例中,我们使用扩展来禁用除 和 之外的所有内容。quickjavajavascriptcookies

在此处查看更多首选项设置:
https://github.com/ThatOneGuyDotNet/QuickJava/blob/master/defaults/preferences/defaults.js

在此处查看更多示例命令:
https://github.com/facebook/php-webdriver/wiki/Example-command-reference

use Facebook\WebDriver\Firefox\FirefoxProfile;
use Facebook\WebDriver\Firefox\FirefoxDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;

// Change this to the path of you xpi
$extensionPath = $this->container->getParameter('kernel.root_dir').'/../bin/selenium/quickjava-2.0.6-fx.xpi';

// Build our firefox profile
$profile = new FirefoxProfile();
$profile->addExtension($extensionPath);
$profile->setPreference('thatoneguydotnet.QuickJava.curVersion', '2.0.6.1');
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Images', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.AnimatedImage', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.CSS', 2);
//$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Cookies', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Flash', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Java', 2);
//$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.JavaScript', 2);
$profile->setPreference("thatoneguydotnet.QuickJava.startupStatus.Silverlight", 2);

// Create DC + Driver
$dc = DesiredCapabilities::firefox();
$dc->setCapability(FirefoxDriver::PROFILE, $profile);

$driver = RemoteWebDriver::create($host, $dc);
$driver->get('http://stackoverflow.com');

// Do stuff - https://github.com/facebook/php-webdriver/wiki/Example-command-reference
//$driver->findElement(WebDriverBy::id("element-id"));

// The HTML Source code
$html = $driver->getPageSource();

// Firefox should be open and you can see no images or css was loaded

答案 2

尝试以下事项

  1. 安装 Phpunit 并正常工作
  2. 在你的电脑上也有JAVA sdk & jre。
  3. 现在使用硒 IDE 记录测试用例。
  4. 将测试用例导出到 php 文件。
  5. 使用这些导出的函数创建一个测试用例库。
  6. 创建从库中调用函数/测试的套件。
  7. 现在使用java命令执行启动硒服务器。
  8. 使用 phpunit 执行套件。

有关如何编写这些文件的折射,请单击此处,并尝试使用git集线器


推荐