海运的博客

PHP使用Selenium

发布时间:June 26, 2014 // 分类:PHP // 1 Comment

overviewSelenium.png
通过composer安装phpunit和Selenium,先安装composer:

curl -sS https://getcomposer.org/installer | php --install-dir=/usr/bin/

composer.json:

{
  "require": {
    "facebook/webdriver": "dev-master",
    "phpunit/phpunit": "*"
  }
}

安装:

composer.phar install

安装JAVA,安装Selenium Server,启动:

wget http://selenium-release.storage.googleapis.com/2.42/selenium-server-standalone-2.42.2.jar
java -jar selenium-server-standalone-2.42.2.jar

启动浏览器需X环境支持,可使用XVNCX Window
可以使用Firefox扩展Selenium IDE: PHP Formatters录制脚本。
示例脚本:

<?php
class GitHubTest extends PHPUnit_Framework_TestCase {

    protected $webDriver;

    public function setUp()
    {
        $capabilities = array(\WebDriverCapabilityType::BROWSER_NAME => 'firefox');
        $this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities);
    }

    protected $url = 'https://www.baidu.com';

    public function testGitHubHome()
    {
        $this->webDriver->get($this->url);
        var_dump($this->webDriver->getTitle());
    }    
}
?>

不使用phpunit:

<?php
require 'vendor/autoload.php';
$capabilities = array(\WebDriverCapabilityType::BROWSER_NAME => 'firefox');
$webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities);
$url = 'https://github.com';
$webDriver->get($url);
var_dump($webDriver->getTitle());
?>';

自定义:

require 'vendor/autoload.php';
$profile = new FirefoxProfile();
$profile->setPreference('browser.startup.homepage', 'https://github.com/facebook/php-webdriver/');
$profile->setPreference("general.useragent.override", "Mozilla/5.0");
$profile->addExtension('./vimperator-3.8.2-fx.xpi');
$caps = DesiredCapabilities::firefox(); 
$caps->setCapability(FirefoxDriver::PROFILE, $profile); 
$caps->setCapability(WebDriverCapabilityType::PROXY, array('proxyType' => 'manual', 'httpProxy' => '127.0.0.1:2043'));  
$webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $caps);

文档:
https://github.com/facebook/php-webdriver/wiki
http://facebook.github.io/php-webdriver/namespaces/default.html

标签:none

有一条 关于" PHP使用Selenium "的评论

  1. 米扑博客 米扑博客

    很赞的博客

发表评论

分类
最新文章
最近回复
  • 404NTF: 交叉编译的作用是?
  • 404NTF: 请教一下 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go ...
  • 小智: 安利个PHP开发以太坊区块链的教程: http://xc.hubwiz.com/course/...
  • 陈浩南: 您好,您教程中的 dev.openwrt.org.cn 现在似乎不可用了。请问现在应该在哪里下...
  • 斑马斑马: 怎么查看虚拟机CPU 内存使用情况
  • zzg: http://downloads.openwrt.org.cn/PandoraBox/rali...
  • xiongrui: 看图
  • 傻狍子: filebrowser好像和这功能一样? https://github.com/filebro...
  • 陶国文: 想看看能不能安装
  • 傻狍子: 服务端设置了用户名密码认证的话,在openwrt的openvpn客户端的配置文件当中该如何更改...
页面执行耗时:0.0341秒。-->