如何使用Codeception Acceptance Helper?

时间:2017-01-16 17:45:48

标签: php testing joomla codeception

在我的Cest Class中进行所有测试之前,我正尝试登录Joomla后端。

我正在使用Joomla浏览器模块: https://github.com/joomla-projects/joomla-browser

在cest类中使用它时,在每次测试之前都会执行登录,这是不需要的:

public function _before(AcceptanceTester $I)
{
    $I->doAdministratorLogin();    
}

将其添加到Acceptance Helper时,如下所示:

namespace Helper;

class Acceptance extends \Codeception\Module
{
    public function _beforeSuite($settings = array()) {
        $I = $this;
        $I->doAdministratorLogin();    
    }
}

我得到了

  

调用未定义的方法Helper \ Acceptance :: doAdministratorLogin()

1 个答案:

答案 0 :(得分:0)

您必须检索JoomlaBrowser模块:

$this->getModule('JoomlaBrowser')->doAdministratorLogin();

您还在Cest文件中使用了_before方法,但在Helper文件中使用了_beforeSuite WebDriver对象未在_beforeSuite中初始化。

您的选择是:

  1. 将该代码移至_before
  2. _initialize

    中调用_beforeSuite方法

    $这 - > getModule( 'JoomlaBrowser') - > _initialize(); $这 - > getModule( 'JoomlaBrowser') - > doAdministratorLogin();