Codeception Acception:如何验证更改的Url

时间:2015-06-08 17:27:45

标签: php yii2 codeception acceptance-testing

我正在尝试验证并发布登录操作。但是,在用户重定向到索引页面后,登录后会出现问题。只有经过身份验证的用户才会显示欢迎消息。有人可以帮我吗。我正在使用Yii 2 Framework!

use \AcceptanceTester;

class LoginCest
{
    public function login(AcceptanceTester $I)
    {
        $I->am('Login Page');
        $I->wantTo('Login Exists?');
        $I->amOnPage('/index.php?r=site/login');
        $I->see('Title');
        $I->see('User');
        $I->see('Password');
    }

    /**
    * @after login
    */
    public function validLogin(AcceptanceTester $I)
    {
        $I->amOnPage('/index.php?r=site/login');
        $I->fillField('LoginForm[username]', 'username');
        $I->fillField('LoginForm[password]', 'password');
        $I->click('Login');
        $I->amOnPage('/index.php');
        $I->see('Welcome {UserName}!', 'h1');
    }
}

Scenario Steps:
6. I see "Welcome!","h1" <<< FAIL
5. I am on page "/index.php"
4. I click "Login"
3. I fill field "LoginForm[password]","username"
2. I fill field "LoginForm[username]","password"
1. I am on page "/index.php?r=site/login"

FAILURES! Tests: 2, Assertions: 4, Failures: 1.

1 个答案:

答案 0 :(得分:1)

我认为你不需要这个&#34; $ I-&gt; amOnPage(&#39; /index.php');&#34;因为这不会检查当前网址(为此目的,您应该使用&#34; $ I-&gt; seeInCurrentUrl(...)&#34;),但会引导您访问该网址。所以你在这里做的是刷新索引页面并丢失欢迎flash消息。 我相信您只需删除此命令,因为单击“登录”按钮后您已被重定向到主页面。