Удаление cookie с помощью Codeception

Я только начал использовать Codeception для написания приемочных тестов для моего приложения входа в систему на PHP. Что мне нужно сделать, так это удалить файл cookie, который был установлен, и я использовал для этого resetCookie (), но он не работает.

Вот мой код:

$I = new WebGuy($scenario);
$I->wantTo('ensure that login page is correct');
$I->amOnPage('/');
$I->click("Log in");
$I->see("cookie");
$I->resetCookie("test");
$I->reloadPage();
$I->dontSee("cookie");

Поэтому в основном я устанавливаю файл cookie в своем приложении при нажатии кнопки «Войти», и если этот файл cookie присутствует, я отображаю на сайте строку с надписью «cookie». В браузере, когда cookie удаляется и страница перезагружается, строка cookie исчезает. Это то, что пытается имитировать тест.

По какой-то причине resetCookie () ничего не делает, потому что тест не проходит на последнем шаге. Я использую его неправильно или есть другой способ сделать это? Я был бы очень признателен за вашу помощь в этом!


person rubenZ    schedule 22.05.2014    source источник
comment
Я не понимаю этот тест или почему он работает. $ I- ›see ищет СЛОВА НА ОТКРЫТОЙ СТРАНИЦЕ, а не файлы cookie! Ты не увидишь это позже.   -  person John Dee    schedule 27.05.2018


Ответы (1)


Ваш тест работает на 100%.

Также попробуйте:

$I->setCookie('test','cookie text');
$I->seeCookie('test');
$I->resetCookie('test');
$I->seeCookie('test');

Если вышеуказанный тест пройден, возможно, что-то еще не позволяет вам установить файл cookie на странице, которую вы тестируете.

Я тестировал с помощью Webdriver. Вот мой файл конфигурации.

class_name: WebGuy
modules:
    enabled:
        - WebDriver
        - WebHelper

    config:

        WebDriver:
          url: http://www.example.com 
          host: localhost 
          port: 4444
          browser: firefox 
          delay: 1000
person Kotie Smit    schedule 30.05.2014
comment
Большое спасибо! Он отлично работал с WebDriver. PhpBrowser по-прежнему не работает, но я могу с этим жить. - person rubenZ; 04.06.2014