我已经为我的应用程序编写了自动化测试用例。下面是我用于Web测试的示例代码。
类UserWebTestcase扩展了CakeWebTestCase {
var $name='UserWebTestcase';
function testLogin001()
{
//Test if new user registration form works as intended when all the inputs are given properly.
$this->get(Configure::read('url'));
$this->setField('email', 'admin45@gmail.com');
$this->setField('tmppassword', 'admin123');
$this->setField('password_confirm', 'admin123');
$this->clickSubmit('SUBMIT');
$this->assertText('login');
}
}
在测试用例中,即使字段的输入正确,它也总是给出错误。我得到的错误是这样的 (失败 C:\ xampplite \ htdocs \ spotchase \ app \ tests \ cases \ models \ user.test.php - > UserWebTestcase - > testLogin001)。 我在使用assertText()方法时真的很困惑。我应该如何使用这个assertText()方法以及我应该将哪些参数传递给此方法。请帮忙。
答案 0 :(得分:0)
这不是一种cakephp方法,而是一种最简单的方法。
以下是实际方法
/**
* Will trigger a pass if the text is found in the plain
* text form of the page.
* @param string $text Text to look for.
* @param string $message Message to display.
* @return boolean True if pass.
* @access public
*/
function assertText($text, $message = '%s') {
return $this->assert(
new TextExpectation($text),
$this->_browser->getContentAsText(),
$message);
}
所以它似乎只是在寻找页面中的实际文本,而不是按钮或其他元素。也许'welcome bob'会是一个更好的搜索