代码Yii2助手

时间:2016-06-20 22:33:56

标签: php yii codeception

我在基于Yii2的Web应用程序的代码中构建验收测试。 Yii2 GridView提供了一组操作按钮,可以选择以

形式使用Xpath选择器进行单击
$I->click('', '//a[@href[contains(.,"view&id=97")]]');

这很好用,直到我想点击“删除”#39;返回时出现错误,说该方法需要POST(当然是正确的)。

意识到我不知道如何拦截Javascript弹出窗口,它会问我是否真的要删除它,我会采用另一种方法。

想法是从元素中提取链接信息并将数据直接POST到此链接。这需要_request方法,只能在帮助器中使用,所以我做了一个帮手。我无法让helper类工作,因为如果使用_findElements找到按钮它会告诉我爬虫是null,如果我试图通过在帮助器中加载页面来解决这个问题,我会收到一个错误。特别是代码

class Acceptance extends \Codeception\Module
{
    public function clickActionButton($page)
    {
        $module = $this->getModule('Yii2');
        $module->_loadPage('GET', $page);
    }
}

给出错误' [yii \ base \ InvalidConfigException]目录不存在:./ vendor / bin / assets' (它还会在尝试处理此错误时报告错误,但以后会报告错误)

我不知道为什么会这样。我的配置文件看起来像

class_name: AcceptanceTester
modules:
    enabled:
        - PhpBrowser:
            url: http://localhost:8000
        - Yii2:
            configFile : '/config/web.php'
            part: ORM
        - \Helper\Acceptance

正如本文Codeception not found Yii中所建议的那样,我已将以下内容添加到_bootstrap.php中以供接受

require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');

$config = require(__DIR__ . '/../config/console.php');   
//
$application = new yii\console\Application( $config );

(它还会在尝试处理此错误时报告错误,但以后会报告错误)

毫无疑问,我错过了一些简单的事情,但我对Yii来说还是一个新手,并且无法解决问题。 (它还会在尝试处理此错误时报告错误,但以后会报告错误)

0 个答案:

没有答案