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

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

Как проверить работоспособность этой кнопки — начать загрузку документа с помощью приемочных тестов Codeception?

2

Решение

Смотрите этот предыдущий вопрос о сохранении на диск Как скачать любой файл и сохранить его в нужном месте с помощью 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

2

Другие решения

Мы создали дополнительный модуль для этой задачи несколько лет назад. Я не знаю, работает ли он с последней версией кодового восприятия, но с ним можно было загружать файлы.

https://github.com/DigitalProducts/codeception-module-remoteupload

class CreateCommentCest
{
public function testRemoteFileUpload (WebGuy $I, $scenario)
{
$I->amOnPage("/html/formulare/anzeige/input_file.htm");
$I->attachFileRemote("Datei", "image.png");
}
}
0