您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
使用PHPUnit+Selenium进行自动化测试
作者:网络转载 发布时间:[ 2016/3/28 16:51:18 ] 推荐标签:自动化测试 功能测试

  第一步,安装PHPUnit
  简单的方式莫过于到PHPUnit的官网下载PHPUnit,然后把那个下载了的phpunit.phar加到PATH中。
  此外,还可以通过 pear 来安装phpunit:
  pear clear-cache
  pear channel-discover pear.phpunit.de
  pear channel-discover components.ez.no
  pear channel-discover pear.symfony-project.com
  pear install -a -f  phpunit/PHPUnit
  参考:http://www.cnblogs.com/wanfox/p/4613517.html
  然而使用 pear 安装方式,我却是没有成功!大概是因为天朝的神奇的GFW吧!
  第二步,下载Selenium Standalone Server
  传送门:http://docs.seleniumhq.org/download/
  下载下来一般是一个selenium-server-standalone-2.48.2.jar这样的文件(版本号可能会有所更新)。
  第三步,下载WebDriver for Chrome
  传送门: https://sites.google.com/a/chromium.org/chromedriver/downloads
  这个要根据电脑是Windows、Linux还是MAC,来下载相应的驱动,并解压缩。
  第四步,启动Server
  前面两步的东西都下载好了,可以启动这个server了:
  # 假设1:已经装了java, 而且将java加到了PATH中
  # 假设2:前面两步下载的东东都在当前目录下
  java -jar selenium-server-standalone-2.42.2.jar -Dwebdriver.chrome.driver=./chromedriver
  p.s. 对于Windows的用户,后面的./chromedriver需要修改为.chromedriver.exe
  第四步,下载PHP的WebDriver封装库
  本人喜欢使用Facebook出品的这个库.
  鉴于composer在国内的悲惨现状,还是直接下载zip包,然后自行加载吧。
  下面是我常用的自动加载器:
// file: tests/bootstrap.php
call_user_func(function(){
$namespaces = array(
'FacebookWebDriver' =>  __DIR__.'/../php-webdriver/lib',
);
spl_autoload_register(function($class) use ($namespaces){
$class = ltrim($class, '\');
foreach ($namespaces as $ns => $dir) {
if (strncmp($class, $ns, strlen($ns)) === 0){
$file = str_replace('\', DIRECTORY_SEPARATOR, $dir . DIRECTORY_SEPARATOR . ltrim(substr($class, strlen($ns)), '\')) . '.php';
if (is_file($file)){
include_once($file);
}
}
}
});
});
  这个自动加载器可以放到bootstrap.php中,以便phpunit跑用例前加载。
  第五步,编写一个简单的测试用例
  下面这个测试用例测试下百度是否能正常打开,检查百度的标题和URL是否符合预期。
// file: tests/sample/BaiduTest.php
class BaiduTest extends PHPUnit_Framework_TestCase
{
public function testTheTitleUrl()
{
// create a browser
$browser = create_browser();
// open baidu via GET
$browser->get('https://www.baidu.com/');
// get title
$this->assertEquals('百度一下,你知道', $browser->getTitle());
// get the current URL
$this->assertEquals('https://www.baidu.com/', $browser->getCurrentURL());
// close the browser
$browser->quit();
}
}
  注意:文件名和类名要以Test结尾,而其中的测试函数要以test开头,这样子方便phpunit查找测试用例。

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd