Codeception - acceptance test

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Codeception - acceptance test

Сообщение shkarbatov »

Всем привет, есть сервис на Yii2, для тестов использую Codeception.

Unit тесты работаю отлично, а вот acceptance тесты не получается запустить.

Пробую через PhpBrowser запустить

Вот мой: IndexCept.php

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

<?php
$I = new AcceptanceTester($scenario);
$I->wantTo('ensure that transfers admin work');
$I->see('test'); 
Вот мой acceptance.suite.yml

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

class_name: AcceptanceTester
modules:
    enabled: PhpBrowser
    config:
        PhpBrowser:
            url: 'http://transfer.ll/admin' 
Но падает ошибка:
LogicException: The page history is empty.

-------------------------------------------------------------------------------------------

Решил еще попробовать с WebDriver
Вот мой acceptance.suite.yml

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

class_name: AcceptanceTester
modules:
    enabled:
        - WebDriver
    config:
        WebDriver:
            url: 'http://transfer.ll/admin'
            browser: firefox
            restart: true
Запускал вот по этой инструкции:
http://codeception.com/docs/modules/WebDriver

Но тут тоже валится ошибка

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

<body id=ERR_CONNECT_FAIL>
   <div id="titles"  
      >
      <h1>ERROR</h1>
      <h2>The requested URL could not be retrieved</h2>
   </div>
   <hr>
   <div id="content">
      <p>При получении URL <a href="http://127.0.0.1:4444/wd/hub/session">http://127.0.0.1:4444/wd/hub/session</a> произошла следующая ошибка
      </p>
      <blockquote id="error">
         <p><b>Соединение с 127.0.0.1 не удалось</b></p>
      </blockquote>
      <p id="sysmsg">Система вернула: <i>(111) Connection refused</i></p>
      <p>У  
         даленный узел или сеть недоступен. Повторите запрос позднее
      </p>
      <p>Администратор Вашего кэша: <a href="mailto:sasha@send.com.ua?subject=CacheErrorInfo%20-%20ERR_CONNECT_FAIL&body=CacheHost%3A%20  
         proxy.send.com.ua%0D%0AErrPage%3A%20ERR_CONNECT_FAIL%0D%0AErr%3A%20(111)%20Connection%20refused%0D%0ATimeStamp%3A%20Mon,%2030%20Mar%202015%2014%3A22%3A26%20GMT%0D%0A%0D%0AClientIP%3A%2010.42.  
         13.109%0D%0AServerIP%3A%20127.0.0.1%0D%0A%0D%0AHTTP%20Request%3A%0D%0APOST%20%2Fwd%2Fhub%2Fsession%20HTTP%2F1.1%0AProxy-Authorization%3A%20Basic%20ZG4xMDA3ODlzZHMxOnpoRGs3NDkzNw%3D%3D%0D%0AHost%3A%201  
         27.0.0.1%3A4444%0D%0AProxy-Connection%3A%20Keep-Alive%0D%0AContent-Type%3A%20application%2Fjson%3Bcharset%3DUTF-8%0D%0AAccept%3A%20application%2Fjson%0D%0AContent-Length%3A%2085%0D%0A%0D%0A%0D%0A">sasha@send.com.ua</a>.
      </p>
      <br> 
   </div>
   <hr>
   <div id="footer">
      <p>Создано Mon, 30 Mar 2015 14:22:26 GMT на proxy.send.com.ua (squid/3.4.4)</p>
      <!-- ERR_CONNECT_FAIL --> 
   </div>
</body>
Есть подозрение, что валится она из-за прокси, но какое прокси, если все работает локально?

-------------------------------------------------------------------------------------------

Полазил по форумам, но в инете ничего не нашел, может кто-то уже сталкивался с таким?
Stay hungry, stay foolish.

Аватара пользователя
yiijeka
Сообщения: 3085
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Codeception - acceptance test

Сообщение yiijeka »

у вас локальный сервер под 127.0.0.1:4444 запущен?

Кстати по ошибке - LogicException: The page history is empty. В гугле куча вопросов без ответов за последнее время, может быть это свежий баг.
https://github.com/Codeception/Codeception/issues/1732

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

yiijeka писал(а):у вас локальный сервер под 127.0.0.1:4444 запущен?
Да, попробовал зайти на него через браузер, все открывается.

Подсказали на одном из форумов:

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

$I->wantTo('ensure that transfers admin work');
$I->amOnPage('/');  <- пропустил
$I->see('test');
 
Странно конечно, но в документации не пишут, что это обязательный параметр.
Stay hungry, stay foolish.

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

Но это касательно PhpBrowser, касательно WebDriver все еще не понятно, в чем причина. Так как если пинговать сервис из терминала, то все отлично пингуется.
Stay hungry, stay foolish.

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Codeception - acceptance test

Сообщение Insolita »

для phpBrowser попробуте урл не : url: 'http://transfer.ll/admin' а через localhost

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

Insolita писал(а):для phpBrowser попробуте урл не : url: 'http://transfer.ll/admin' а через localhost
У меня несколько проектов на localhost, как же оно узнает куда идти?
Stay hungry, stay foolish.

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Codeception - acceptance test

Сообщение Insolita »

через порт какой-нить .. а для вебдрайвер - у вас селениум или фантом установлены? http://codeception.com/docs/modules/WebDriver

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

Selenium
Stay hungry, stay foolish.

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Codeception - acceptance test

Сообщение Insolita »

и серв какой - линукс или типа openserver

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

Система - Ubuntu. Сервер - Apache.
Настраивать свой порт для каждого проекта, как-то звучит не очень, у меня сейчас их около 8 на машине.
Stay hungry, stay foolish.

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Codeception - acceptance test

Сообщение Insolita »

просто в консоли переходите в папку веб с нужным проектом и набираете php -S localhost:22334 и не закрываете - в сьюит
config:
PhpBrowser:
url: http://localhost:22334

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Codeception - acceptance test

Сообщение Insolita »

а щас заметела что у вас там ошибка вываливается - так значит у вас и так запускается норм под phpBrower и так

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

$I->wantTo('ensure that transfers admin work');
$I->amOnPage('/'); 
$I->see('test');
А так оно не срабатывает?

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

Я выше писал =)

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

$I->amOnPage('/');  <- пропустил
Stay hungry, stay foolish.

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

Проблема именно с локальным запуском, то есть когда тесты и сервис на одной машине, то есть localhost.
Insolita писал(а):просто в консоли переходите в папку веб с нужным проектом и набираете php -S localhost:22334 и не закрываете - в сьюит
config:
PhpBrowser:
url: http://localhost:22334
Пробовал так, но пишет, что

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

<h1>Not Found</h1><p>The requested resource <code class="url">/admin</code> was not found on this server.</p>
Если поставить внешний сервис, то все работает отлично. Такое чувство, что он не обращает внимание на мой /etc/hosts.
Stay hungry, stay foolish.

lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Codeception - acceptance test

Сообщение lynicidn »

отключите prettyUrl

lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Codeception - acceptance test

Сообщение lynicidn »

https://github.com/yiisoft/yii2-app-adv ... ig.php#L21 вот это не трогайте, проблема скорее всего в этом

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

Врятли в этом. На тестовом сервере, который на другой машине все работает, а на локальном - нет.
Stay hungry, stay foolish.

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

У кого-то есть еще какие-то идеи?
Stay hungry, stay foolish.

Аватара пользователя
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Украина Днепропетровск

Re: Codeception - acceptance test

Сообщение shkarbatov »

Insolita писал(а):просто в консоли переходите в папку веб с нужным проектом и набираете php -S localhost:22334 и не закрываете - в сьюит
config:
PhpBrowser:
url: http://localhost:22334
Сразу не там запустил, сейчас перепроверил, так работает, но честно говоря смахивает больше на хак, чем на решение проблемы.
Stay hungry, stay foolish.

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Codeception - acceptance test

Сообщение Insolita »

ну это по сути просто запуск на встроенноем php-шном сервере, и если на нем норм работает, а при указании в урле домена т.е работы через общий вебсервер глючит - значит что-то не так с настройками обычного веб-сервера.
А если в браузере вы вручную наберете http://вашдомен.ру/index-test.php = т.е. запускной скрипт с тестовой конфигурацией - то норм работает? Все тестовые дополнения основного конфига ... ничего там не напуталось с учетом environments/local специфичных конфигов?
Попробуйте поднять просто чистый yii2-app и запустить acceptance-тесты из коробки...

Закрыто