2014-01-13 2 views
1

Я настраиваю автоматическое тестирование нашей домашней CMS.Тестирование изображения в приемочных тестах Codeception

В настоящий момент я хочу проверить, что на нашей тестовой странице есть определенные изображения.

я могу проверить для заголовка, который будет отображаться, если изображение существует ...

$I->see('Image Caption'); 

... но я действительно хочу, чтобы на самом деле быть в состоянии проверить на наличие самого изображения .. .

$I->seeImage('/path_to/image_file.jpg'); // I MADE THAT METHOD UP 

... или, по крайней мере IMG тег ...

$I->seeSourceCode('<img src="/path_to/image_file.jpg"'); // I MADE THAT METHOD UP TOO 

кто-нибудь знает, как это сделать-й является?

+0

Что именно вы имеете в виду под изображением «подписи»? Это то, что я пытаюсь сделать. –

+0

Это был просто текст, который я использовал, чтобы проверить, что изображение, возможно, было загружено, потому что я не мог понять, как проверить загруженное изображение. Я думаю, что решение ниже работало для меня в то время, но, честно говоря, мы больше не используем Codeception, поэтому я, вероятно, уже забыл все об этом! – WalterEgo

ответ

6

seeElement() может соответствовать вашим потребностям, например:
$I->seeElement('//img[@src="/pixel.jpg"]');
пожалуйста see doc
и для того, чтобы сделать тест более удобным для чтения, я бы рекомендовал, чтобы обернуть фактический вызов seeElement() в helper и в тесте есть что-то вроде этого
$I->seeImageWithSource('/pixel.jpg')

public function seeImageWithSource($image_url) 
{ 
    $phpBrowser = $this->getModule('PhpBrowser'); 
    $phpBrowser->seeElement('//img[@src="'.$image_url.'"]'); 
} 
+0

Спасибо за это. Это работает из коробки ... '$ this-> seeElement ('// img [@src ="'. $ Image_url. '"]');' Но я соглашаюсь на его упаковку, поэтому Я добавляю это в WebHelper 'public function seeImageWithSource ($ image_url) { $ this-> seeElement ('// img [@src ="'. $ Image_url. '"]'); } ' Ран команды сборки и попытался ... ' $ I-> seeImageWithSource ($ IMAGE_URL); ' но получил призыв к неопределенному методу Codeception \ модуль \ WebHelper :: seeElement(). Что я делаю неправильно? – WalterEgo

+1

Вы должны вызывать метод 'seeElement' из экземпляра модуля PhpBrowser, т. Е. ' public function seeImageWithSource ($ image_url) { $ phpBrowser = $ this-> getModule ('PhpBrowser'); $ phpBrowser-> seeElement ('// img [@src = "'. $ Image_url. '"]'); } ' –

+0

Бинго! Спасибо за это. – WalterEgo

Смежные вопросы