我正在为网站编写测试脚本。该网站有标签(导航链接)。
假设该选项卡的元素是 id=email。
如果不存在,是否可以跳过整个测试。所有测试用例都基于该选项卡(id=email)。
现在,我有:
if($this->isElementPresent("id=email") == true) {
perform these steps
}
而所有的测试脚本都是这样的,所以它只是打开浏览器然后关闭它而不测试任何东西。它正在通过它们。如果该元素不存在,是否可以跳过测试?
我会将测试配置为使用相同的设置来查看字段是否存在,而不是跳过测试。模拟您的配置,并设置为禁用,然后测试应该寻找缺少的字段,并进行相应的测试。然后,将配置设置为启用,并测试该字段是否存在并进行相应测试。
当该字段设置为禁用时,您还可以使用 $this->markTestSkipped()。它记录在 PHPUnit 帮助第 9 章。不完整和跳过的测试中。
样本:
public function testEmailIdAbsent()
{
if($this->MockConfiguration['Email'] == 'disabled') // Or however your configuration looks
{
$this->assertFalse($Foo->IsElementPresent("id=email", "Email ID is present when disabled.");
...
}
}
public function testEmailIdPresent()
{
if($this->MockConfiguration['Email'] == 'enabled') // Or however your configuration looks
{
$this->assertTrue($Foo->IsElementPresent("id=email", "Email ID is not present when enabled.");
...
}
}
public function testEmailId()
{
if($this->MockConfiguration['Email'] == 'disabled') // Or however your configuration looks
{
$this->markTestSkipped('Email configuration is disabled.');
}
}