2013-09-16 7 views
6

私は学習目的のための簡単な受け入れテストを実行しようとしています。 単純な認証シナリオです。ユーザーは/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"); 
    } 

} 

任意の助けをいただければ幸いに。

答えて

1

あなたは、HTMLからのユーザ名のXPathをコピーし、書き込み可能性があります

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

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

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

0

私は、html構文が正しくないという問題がありました。その後、phpブラウザは信頼できません。それでもあなたの例ではそれはそうではありません。

関連する問題