验收测试 - 验证码的问题

  • 作者:KK

  • 发表日期:2015.12.13


重复一下之前这段针对注册表单做测试的代码,我下面加一些内容请你注意:

$I->amOnPage('/register.html');
$I->fillField('email', 'xxx@yy.com');	//填充邮箱
$I->fillField('password', '121212');		//填充密码
$I->fillField('verify', '填什么好呢');		//填充验证码
$I->submitForm('#registerForm');

其实一般都会有个验证码,那就是验证码方面我们填什么好呢?你的程序不容易自动识别验证码图片的文字呀,如果你写死一个验证码或者随机生成一个填写,那99.999999%会提示你验证码错误咯,导致注册能否正常都难以测试.

所以本地测试又有这样一个好处,我们可以在网站程序里大概这样根据环境判断结果来生成不同的验证码:

if(PROJECT_ENV == 'test'){
	$verifyImage->drawText('121212');	//固定测试服务器的所有验证码为121212
}else{
	$verifyImage->drawText(mt_rand(138772, 923839));	//随机生成
}

这样测试代码就可以总是填写121212这个验证码了

另外其实这样不止是对自动化测试有好处,对人工测试也有好处,你就不必耗费脑力去分析验证码是什么文字啦,很快速地填写121212这个验证码就行了,关于为什么使用121212方面你可以转到我这篇经验分享中了解一下 经验分享 - 测试 - 统一密码和验证码