Codeception: как проверить загрузку файла?

У меня есть страница с несколькими вариантами и кнопкой «Скачать».

Как проверить, работает ли эта кнопка — начинается загрузка документа, используя приемочные тесты Codeception?


person FelikZ    schedule 28.09.2015    source источник
comment
Вы используете WebDriver или PhpBrowser?   -  person Naktibalda    schedule 29.09.2015


Ответы (1)


См. этот предыдущий вопрос о сохранении на диск Как загрузить любой файл и сохранить его в нужном месте с помощью Selenium Webdriver

Я не думаю, что Codeception может управлять собственным диалоговым окном «Сохранить как». Вероятно, вы могли бы изменить профиль Firefox, чтобы сохранить его без запроса, проверить наличие файла в PHP и сообщить об ошибке, если файл не существует.

Если вы используете формат Cest, вы можете создать помощника, подобного следующему, в _support/WebHelper.php.

<?php
namespace Codeception\Module;

// here you can define custom functions for WebGuy

class WebHelper extends \Codeception\Module
{

    public function seeFileExists($filename)
    {
        \PHPUnit_Framework_Assert::assertTrue( file_exists($filename) );
    }

}

Это должно позволить вам сделать $I->seeFileExists('downloadpath/filename.txt'); в ваших файлах Cest.

В документации есть несколько примеров пользовательских утверждений: http://codeception.com/docs-2.0/03-ModulesAndHelpers

person cambist    schedule 30.09.2015