代码接受:如何验证更改 Url
Codeception Acception: How to validate a changed Url
我正在尝试验证 post 登录操作。但是问题发生在登录后,当用户被重定向到索引页面时。仅对经过身份验证的用户显示欢迎消息。有人可以帮我吗。我正在使用 Yii 2 框架!
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.
我认为你不需要这个“$I->amOnPage('/index.php');”因为这不会检查当前 url(为此你应该使用“$I->seeInCurrentUrl(...)”),但会引导你到那个 url。所以你实际上在这里做的是刷新你的索引页面并丢失欢迎闪现消息。
我相信您只需要删除此命令,因为在单击“登录”按钮后您已经被重定向到主页。
我正在尝试验证 post 登录操作。但是问题发生在登录后,当用户被重定向到索引页面时。仅对经过身份验证的用户显示欢迎消息。有人可以帮我吗。我正在使用 Yii 2 框架!
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.
我认为你不需要这个“$I->amOnPage('/index.php');”因为这不会检查当前 url(为此你应该使用“$I->seeInCurrentUrl(...)”),但会引导你到那个 url。所以你实际上在这里做的是刷新你的索引页面并丢失欢迎闪现消息。 我相信您只需要删除此命令,因为在单击“登录”按钮后您已经被重定向到主页。