Codeception-приемочные тесты работают, но функциональный тест не
я запускаю последнюю версию Codeception на платформе WAMP - мое принятие очень простое, однако отлично работает (см. ниже):
$I = new WebGuy($scenario);
$I->wantTo('Log in to the website');
$I->amOnPage('/auth/login');
$I->fillField('identity','admin@admin.com');
$I->fillField('password','password');
$I->click('Login');
в двух словах-он проверяет, что страница "auth / login" заполняет 2 поля формы и нажимает кнопку входа в систему. Это работает без каких-либо проблем.
вот мой идентичный функциональный тест:
$I = new TestGuy($scenario);
$I->wantTo('perform actions and see result');
$I->amOnPage('/auth/login');
$I->fillField('identity','admin@admin.com');
$I->fillField('password','password');
$I->click('Login');
когда я запускаю это из командной строки, я получаю следующую ошибку (не полную ошибку, но достаточно, чтобы понять проблема):
1) Couldn't <-[35;1mperform actions and see result<-
[0m in <-[37;1LoginCept.php<-[0m <-41;37mRuntimeException:
Call to undefined method TestGuy::amOnPage<-[0m.......
My Acceptance suite имеет модули "PhpBrowser" и "WebHelper", функциональный пакет имеет "файловую систему" и "TestHelper" (в рамках принятия.комплект.в формате YML и функциональные.комплект.файла в формате YML)
очевидно, что функция amOnPage() является проблемой - однако я убежден, что amOnPage () должен работать в принятии и функциональном тесте? Или я ошибаюсь-также-может кто-нибудь объяснить, что означают числа e.g '
UPDATE: я попытался добавить модуль "WebHelper" в функционал.комплект.yml, но я не вижу, что amOnPage() автоматически генерируется в TestGuy.php файл - есть идеи?
мои файлы конфигурации ниже:
WebGuy
class_name: WebGuy
modules:
enabled:
- PhpBrowser
- WebHelper
config:
PhpBrowser:
url: 'http://v3.localhost/'
TestGuy
class_name: TestGuy
modules:
enabled: [Filesystem, TestHelper, WebHelper]
2 ответов
Ну, это так, потому что у TestGuy нет этих методов. Все эти методы находятся в модулях PhpBrowser, Selenium2 или других, которые наследуются от реализации Codeception Mink. Поэтому вам нужно добавить PhpBrowser в свой функциональный набор в разделе модули, а затем запустить .
также обратите внимание, что лучше использовать модуль Selenium2 для приемочных испытаний и PhpBrowser для функциональных испытаний. Основная идея заключается в том, что приемочные (Selenium2) тесты должны охватывать те часть вашего приложения, которая не может быть охвачена функциональными (PhpBrowser) тестами, например некоторые JS-взаимодействия.