海运的博客

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. 米扑博客 米扑博客

    很赞的博客

发表评论

分类
最新文章
最近回复
  • zzg: http://downloads.openwrt.org.cn/PandoraBox/rali...
  • xiongrui: 看图
  • 傻狍子: filebrowser好像和这功能一样? https://github.com/filebro...
  • 陶国文: 想看看能不能安装
  • 傻狍子: 服务端设置了用户名密码认证的话,在openwrt的openvpn客户端的配置文件当中该如何更改...
  • 王阴阳师: 感谢,一点不啰嗦,还很管用!
  • simon: 刚刚看了我的vps,玛德,居然也有人在一直尝试登录,幸好我的密码是强密码
  • thornbird: 又学会一招,不错
  • 头很黑: 除了发送eth转账 ,还能转账其他的代币吗 比如eos
  • 米扑博客: 总结的很棒