Валятся тесты на advanced app

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
samizdam
Сообщения: 8
Зарегистрирован: 2013.04.24, 16:30

Валятся тесты на advanced app

Сообщение samizdam »

Для нового проекта развернул yii 2.0.3. Настроил окружение, codeception, вроде всё сделал как следует — вроде не новичок, это не первый проект на yii и codeception тоже не в первый раз разворачиваю.
Но тесты, те которые из коробки идут, падают, причём не закономерно, раз от раза и в нескольких местах.
Используемое окружение: selenium, firefox, windows.
После удаления части дефолтного функционала и изменения начальной конфигурации проблема сохраняется.
Запускаю из tests, codeception.phar run
Чаще всего падают:

Код: Выделить всё

frontend\.\acceptance\SignupCest.php 
Couldn't see link "Logout (tester)":
frontend\.\acceptance\LoginCept.php
Couldn't see "Incorrect username or password.",".help-block"
и им подобные.

При этом судя по скриншотам и html в output, тесты должны проходить: элементы присутствуют и видимы на странице. Раз от раза тесты могут пройти успешно, или провалиться с разной комбинацией ошибок, перечисленных выше.

У кого есть идеи: в какую сторону копать?
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Валятся тесты на advanced app

Сообщение lynicidn »

прикладывайте скриншоты, нынче много народу не договаривает
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: Валятся тесты на advanced app

Сообщение dmg »

может не в тему, так как тестирование пока не освоил и проверяю все в ручную.
банальная проверка показа в форме select-options-selected тупила до перезагрузки браузера с очисткой кеша, подозреваю дело в кэширование браузером и каких-то его настроек по-умолчанию,
думаю надо в layout настроить кеширование http.
samizdam
Сообщения: 8
Зарегистрирован: 2013.04.24, 16:30

Re: Валятся тесты на advanced app

Сообщение samizdam »

@dmg: codeception для каждого теста должен запускает браузер "с нуля" по идее, этот кэш тут вряд ли влияет.
Ну вот к примеру имеем такой результат прогона:

Код: Выделить всё

Time: 38.19 seconds, Memory: 27.25Mb

There was 1 error:

---------
1) Failed to ensure login page works in ←[1mLoginCept←[22m (C:\Users\samizdam\de
velop\home\www\tracker.yii\tests\codeception\frontend\.\acceptance\LoginCept.php
)
Couldn't see "Incorrect username or password.",".help-block":
StaleElementReferenceException: Element not found in the cache - perhaps the pag
e has changed since it was looked up
For documentation on this error, please visit: http://seleniumhq.org/exceptions/
stale_element_reference.html
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50'
System info: host: 'samizdam-PC', ip: '169.254.220.208', os.name: 'Windows 7', o
s.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_67'
Driver info: driver.version: unknown

Scenario Steps:
15. ←[37;41mI see "Incorrect username or password.",".help-block"←[39;49m
14. I expect to see validations errors
13. I click "login-button"
12. I fill field "input[name="LoginForm[password]"]","wrong"
11. I fill field "input[name="LoginForm[username]"]","admin"
10. I expect to see validations errors
9 . I am going to try to login with wrong credentials

#1  C:\Users\samizdam\develop\home\www\tracker.yii\vendor\facebook\webdriver\lib
\remote\HttpCommandExecutor.php:246
#2  C:\Users\samizdam\develop\home\www\tracker.yii\vendor\facebook\webdriver\lib
\remote\RemoteWebDriver.php:471
#3  C:\Users\samizdam\develop\home\www\tracker.yii\vendor\facebook\webdriver\lib
\remote\RemoteExecuteMethod.php:34
#4  C:\Users\samizdam\develop\home\www\tracker.yii\vendor\facebook\webdriver\lib
\remote\RemoteWebElement.php:256
#5  Codeception\Module\WebDriver->Codeception\Module\{closure}
#6  Codeception\Module\WebDriver->see
#7  C:\Users\samizdam\develop\home\www\tracker.yii\tests\codeception\frontend\ac
ceptance\AcceptanceTester.php:301
#8  C:\Users\samizdam\develop\home\www\tracker.yii\tests\codeception\frontend\ac
ceptance\LoginCept.php:23
#9  Codeception\TestCase\Cept->testCodecept
#10 C:\Users\samizdam\develop\usr\codecept.phar:7

--

There was 1 failure:

---------
1) Failed to ensure that signup works in ←[1mtests\codeception\frontend\acceptan
ce\SignupCest::testUserSignup←[22m (C:\Users\samizdam\develop\home\www\tracker.y
ii\tests\codeception\frontend\.\acceptance\SignupCest.php)
Couldn't see "Username cannot be blank.",".help-block":
Failed asserting that any element by '.help-block' on page ←[1m/frontend/web/ind
ex-test.php/site/signup←[22m
Elements:
+ ←[33m<p>←[39m←[33m Password cannot be blank.←[39m
contains text 'Username cannot be blank.'

Scenario Steps:
7. ←[37;41mI see "Username cannot be blank.",".help-block"←[39;49m
6. I expect to see validation errors
5. I click "signup-button"
4. I am going to submit signup form with no data
3. I see "Please fill out the following fields to signup:"
2. I see "Signup","h1"
1. I am on page "/frontend/web/index-test.php/site/signup"


FAILURES!
Tests: 15, Assertions: 38, Failures: 1, Errors: 1.
И соответвенно скриншоты, протеворечащие результату
Вложения
testscodeceptionfrontendacceptanceSignupCest.testUserSignup.fail.png
testscodeceptionfrontendacceptanceSignupCest.testUserSignup.fail.png (15.48 КБ) 3726 просмотров
LoginCept.fail.png
LoginCept.fail.png (14.87 КБ) 3726 просмотров
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Валятся тесты на advanced app

Сообщение lynicidn »

ну все верно, у вас нет авторизации, следовательно и не будет ссылки logout.
samizdam
Сообщения: 8
Зарегистрирован: 2013.04.24, 16:30

Re: Валятся тесты на advanced app

Сообщение samizdam »

lynicidn писал(а):ну все верно, у вас нет авторизации, следовательно и не будет ссылки logout.
а в этом прогоне и не было ошибок с logout, сравните вывод со скриншотами. Как я писал в первом сообщении, ошибки плавающие, иногда с логаутом вылазит, иногда с текстом валидации. Но если падает на logout, то на скриншоте и в сохранённом html ссылка как раз таки будет :!:
Вот такая мистика.
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Валятся тесты на advanced app

Сообщение lynicidn »

подозрительно еще вот это
Driver info: driver.version: unknown
nikosid
Сообщения: 28
Зарегистрирован: 2014.01.05, 19:44

Re: Валятся тесты на advanced app

Сообщение nikosid »

У меня похожая беда, я скачал и установил себе голый yii2-app-advanced и не отрабатывают acceptance тесты для LoginPage, например, а именно те, которые должны увидеть ошибку:

Код: Выделить всё

 Step  I see "Username cannot be blank.",".help-block"
 Fail  Element located either by name, CSS or XPath element with '.help-block' was not found.
и в _output в html и скриншоте вижу, что ошибка не выводилась.
При этом просто в браузере всё отрабатывает.

Изображение

Сделал всё по инструкции по шагам https://github.com/yiisoft/yii2-app-adv ... /README.md
nikosid
Сообщения: 28
Зарегистрирован: 2014.01.05, 19:44

Re: Валятся тесты на advanced app

Сообщение nikosid »

Забыл сказать, это только в случае с WebDriver.
Если запускать с PhpBrowser, то всё ок.
Ответить