Web不测试不同于一般的单元测试,它是基于HTTP协议的.这表现在HTTP协议的特点是没有链接状态的.同时又涉及到于浏览器的交互(包括表单,链接状态),所以比较麻烦.SimpleTest提供了一套比较完整的基于PHP的测试脚本
一: 表单测试
<?
php
require_once ' simpletest/unit_tester.php ' ;
require_once ' simpletest/web_tester.php ' ;
require_once ' simpletest/reporter.php ' ;
class PassportRegister extends WebTestCase {
// 论坛登录测试
function testPhpChina() {
$this -> get( ' http://www.phpchina.com/bbs/logging.php?action=login ' );
$this -> setField( ' username ' , 'your_username' );
$this -> setField( ' password ' , ' ****** ' );
// 元素的type属性为submit的input元素的name
$this -> clickSubmitByName( ' loginsubmit ' );
// 登录结果页包含文本
$this -> assertText( 'your_username' );
}
}
if ( ! defined ( ' RUN_ALL ' )) {
$test = new PassportRegister();
$test -> run( new HtmlReporter( ' utf-8 ' ));
}
?>
require_once ' simpletest/unit_tester.php ' ;
require_once ' simpletest/web_tester.php ' ;
require_once ' simpletest/reporter.php ' ;
class PassportRegister extends WebTestCase {
// 论坛登录测试
function testPhpChina() {
$this -> get( ' http://www.phpchina.com/bbs/logging.php?action=login ' );
$this -> setField( ' username ' , 'your_username' );
$this -> setField( ' password ' , ' ****** ' );
// 元素的type属性为submit的input元素的name
$this -> clickSubmitByName( ' loginsubmit ' );
// 登录结果页包含文本
$this -> assertText( 'your_username' );
}
}
if ( ! defined ( ' RUN_ALL ' )) {
$test = new PassportRegister();
$test -> run( new HtmlReporter( ' utf-8 ' ));
}
?>