我正在尝试验证并发布登录操作。但是,在用户重定向到索引页面后,登录后会出现问题。只有经过身份验证的用户才会显示欢迎消息。有人可以帮我吗。我正在使用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.
答案 0 :(得分:1)
我认为你不需要这个&#34; $ I-&gt; amOnPage(&#39; /index.php');&#34;因为这不会检查当前网址(为此目的,您应该使用&#34; $ I-&gt; seeInCurrentUrl(...)&#34;),但会引导您访问该网址。所以你在这里做的是刷新索引页面并丢失欢迎flash消息。 我相信您只需删除此命令,因为单击“登录”按钮后您已被重定向到主页面。