3

我正在为我们的内部 CMS 设置大量自动化测试。

此时此刻,我希望能够测试我们的测试页面中是否包含某些图像。

如果图像存在,我可以检查将显示的标题...

$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

有谁知道如何做到这一点?

4

1 回答 1

10

seeElement() 可能适合您的需要,例如:
$I->seeElement('//img[@src="/pixel.jpg"]');
查看文档
,并且为了使测试更具可读性,我建议将对 seeElement() 的实际调用包装在帮助程序中,并且在测试中具有类似这样的内容
$I->seeImageWithSource('/pixel.jpg')

public function seeImageWithSource($image_url)
{
    $phpBrowser = $this->getModule('PhpBrowser');
    $phpBrowser->seeElement('//img[@src="'.$image_url.'"]');
}
于 2014-01-17T00:17:21.880 回答