海运的博客

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

    很赞的博客

评论已关闭

分类
最新文章
最近回复
  • 海运: 正常情况下编译整个内核执行make menuconfig后就不会出现此提示,当单独编译单个模块...
  • oijq: 就是用的armbian的配置文件哈,按你的教程做的,在执行make LOCALVERSION=...
  • 海运: 使用armbian的配置文件,其它添加或修改自己懂的部分,不懂的就不要碰了。
  • oijq: 编译时这些选项全部选Y吗?Actions Semi Platforms (ARCH_ACTIO...
  • 海运: n1编译bbr内核模块参考这个:https://www.haiyun.me/archives/...
  • jiqz: make M=net/ipv4/ CONFIG_TCP_CONG_BBR=m modules编...
  • ruralhunter: 哦,文档里应该是对的,是.config
  • ruralhunter: cp /mnt/boot/config-4.18.7-aml-s9xxx .config这里应...
  • 海运: 你是编译不成功呢?还是编译后不能运行呢?还是运行后不能访问web界面呢?
  • 白墨: 可能不清楚就是编译安装后启动后访问不了web界面