代码模块:如何搜索页面/ dom

时间:2014-11-15 00:53:24

标签: php codeception

我想写一个通用的方法,在某些时候我可以说

$I->amOnPage('/');
$I->dontSeeAnyWarningsOrErrors ();

但我没有成功。我一直在使用代码只有几个小时,所以我可能很容易遗漏一些东西,但是搜索他们的网站,他们的github repo和SO没有找到任何东西来帮助我。

这是我尝试过的结果(结果:“ErrorException:AcceptanceTester缺少参数1 :: dontSeeAnyWarningsOrErrors()”):

class AcceptanceHelper extends \Codeception\Module
{
    public function dontSeeAnyWarningsOrErrors ()
    {
        $this->dontSee ('PHP Warning');
        $this->dontSee ('PHP Error');
        $this->dontSee ('PHP Notice');
        $this->dontSee ('There was a website error');
        $this->dontSee ('Parse error: syntax error');
        $this->dontSee ('Call Stack:');
    }
}

如果我这样称呼它:

$I->amOnPage('/');
$I->dontSeeAnyWarningsOrErrors (null);

然后我得到“致命错误:调用未定义的方法Codeception \ Module \ AcceptanceHelper :: dontSee()”

另外(方法不存在;我在核心文件中找到的东西):

$res = $this->proceedSee('PHP Warning', null);
       $this->assertNot($res);

另外(“Undefined property $ session”(使用Selenium和Firefox)):

$page = $this->getModule('WebDriver')->session->getPage();

此外,当我尝试使用“dontSeeAnyWarningsOrErrors”时,如果我没有定义任何参数,那么我会抱怨如果我没有添加参数(在调用中)。

谢谢你, 汉斯

1 个答案:

答案 0 :(得分:0)

我用这个来管理它:

$I->dontSeeAnyWarningsOrErrors ($I);

然后:

class AcceptanceHelper extends \Codeception\Module 
{ 
    public function dontSeeAnyWarningsOrErrors ($browser) 
    { 
        $browser->dontSee ('PHP Warning'); 
        $browser->dontSee ('PHP Error'); 
        $browser->dontSee ('PHP Notice'); 
        $browser->dontSee ('There was a website error'); 
        $browser->dontSee ('Parse error: syntax error'); 
        $browser->dontSee ('Call Stack:'); 
    } 
}