我正在为网站编写测试脚本。该网站有标签(导航链接)。
让我们说,该标签的元素是id = email。
如果不存在,是否可以跳过整个测试。所有测试用例都基于该选项卡(id = email)。
现在,我有:
if($this->isElementPresent("id=email") == true) {
perform these steps
}
所有测试脚本都是这样的,所以它只是打开浏览器并关闭它而不进行任何测试。它正在传递它们。如果该元素不存在,是否可以跳过测试?
答案 0 :(得分:2)
我会将测试配置为使用相同的设置来查看字段是否存在,而不是跳过测试。模拟您的配置,并设置为禁用,然后测试应查找字段的缺失,并进行相应的测试。然后,将配置设置为启用,并测试该字段是否存在并进行相应的测试。
当该字段设置为禁用时,您还可以使用$ this-> markTestSkipped()。它记录在PHPUnit帮助Chapter 9. Incomplete and Skipped Tests中。
样品:
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.');
}
}