7

学習目的で簡単な受け入れテストを実行しようとしています。これは単純な認証シナリオです。ユーザーが入力すると、ログに記録されていない場合、フォームに入力するために/adminリダイレクトされます。/login

テストを実行すると、次のエラーが発生します。

1) Couldn't login with a password protected area in LoginCest.loginUserWithProperCredentials
Guy couldn't fill field "username","rafael": Field matching id|name|label|value or css or xpath selector does not exist

Scenario Steps:
5. I fill field "username","rafael" <==== RED
4. I see current url equals "/login"
3. I am on page "/admin"
2. So that I Perform administrative tasks
1. As a Site Owner

ここに私の見解があります:

//create.blade.php
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Login</title>
    </head>
    <body>
        <h1>Login</h1>
        {{ Form::open() }}
            <div>
                {{ Form::Label('username', 'Username') }}
                {{ Form::Text('username', '') }}
            </div>
            <div>
                {{ Form::label('password', 'Password') }}
                {{ Form::password('password', '') }}
            </div>
            <div>
                {{ Form::submit('Login') }}
            </div>
        {{ Form::close() }}
    </body>
</html>

そして、ここにテストがあります:

class LoginCest
{

    public function loginUserWithProperCredentials(WebGuy $I){
        $I->am("Site Owner");
        $I->wantTo("Login with a password protected area");
        $I->lookForwardTo("Perform administrative tasks");

        $I->amOnPage('/admin');
        $I->seeCurrentUrlEquals('/login');

        $I->fillField('username', 'rafael');
        $I->fillField("password", "123456");
        $I->click("Login");

        $I->seeCurrentUrlEquals("/admin");
        $I->see("Admin area", "h1");
    }

}

どんな助けでも大歓迎です。

4

2 に答える 2

2

ユーザー名の XPath を html からコピーして、次のように記述できます。

$I->fillField('//*[@id="addPosDialog"]/div/button','Username');

' //*[@id="addPosDialog"]/div/button' - そこに xpath を貼り付けます。xpath、name、id、およびその他のロケーターを使用できます。私が問題を抱えているとき、fillField私は通常このようなことをしています。

この場合、HTML コードはビュー コードよりも重要です。私のアドバイスで問題が解決しない場合は、HTML コードを確認する必要があります。

于 2013-09-17T07:20:53.897 に答える
0

HTML構文が正しくないという問題がありました。その後、phpbrowserは信頼できません。それでも、あなたの例ではそのようには見えません。

于 2016-04-25T08:33:56.070 に答える