gpt4 book ai didi

php - Codeception,不要打印特定的 Action 来报告

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:14 25 4
gpt4 key购买 nike

在 codeception 中,我想检查页面中是否存在一个元素,如果第一个元素存在则再做一次测试。我可以简单地做到这一点:

// $I is a AcceptanceTester Object and extends \Codeception\Actor class
try{
$I->see('.firstElement');
}catch(ElementNotFound $e){
// do some actions
}
// do some anothers actions

但是如果我这样做,在报告文件中我可以看到行 "I see '.firstElement'"。我不想在这份报告中看到这个测试。

我的问题:如何安静地调用\Codeception\Actor 方法?我只想做一个简单的 DOM 元素 html 检查,而不是将此操作打印到生成的报告中

最佳答案

您可以创建一个简单的辅助模块来检查元素是否存在。它可以使用 WebDriver模块或 PhpBrowser模块到元素查找。例如:

class ElementChecker extends \Codeception\Module
{
public function checkExistence($locator)
{
$elements = $this->getModule('WebDriver')->_findElements($locator);
return !empty($elements);
}
},

之后,您应该将这个助手添加到您的密码配置中。例如:

actor: SomeTester
modules:
enabled:
# some modules
- ElementChecker

并且新方法将包含在测试器类中。您可以使用它们:

if ($I->checkExistence('.firstElement')) {
// some code
}

另外,您可以在 the official documentation 中阅读更多关于助手的信息

关于php - Codeception,不要打印特定的 Action 来报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55124345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com