Требуется больше ясности в использовании функции assertText ()? - PullRequest
0 голосов
/ 16 июня 2011

Я написал тестовые примеры автоматизации для своего приложения. Ниже приведен пример кода, который я использовал для веб-тестирования.

Класс 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');
}

}

В тестовом случае это всегда дает ложь, даже если входные данные для полей верны. Ошибка, которую я получил, вот так (Failed C: \ xampplite \ htdocs \ spotchase \ app \ tests \ case \ models \ user.test.php ->UserWebTestcase -> testLogin001).Я действительно запутался при использовании метода assertText (). Как я должен использовать этот метод assertText () и какие параметры я должен передать этому методу.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 16 июня 2011

это не метод 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);
    }

Так что, похоже, он просто ищет фактический текст на странице, а не кнопку или другой элемент. может быть, "добро пожаловать Боб" будет лучше поиск

...