2012-02-10 8 views
2

I'amを働いていない、私は、私が使用している私は、送信ボタンをクリックし、このクリック操作がGEBに新しい

 <form id="loginfrm1" action="http://google.co.uk"> 
      <input id="loginsubmit1" type="submit" value="sumit me" /> 
     </form> 

のような形でページを持っている

browser = new Browser() 
browser.setDriver(new FirefoxDriver()) 
browser.go("http://localhost:8080") 
browser.$("#loginsubmit1").click() 

しかし、うまくいかないようです。どこが間違っていますか?

更新:私は一時的にそれがこの

browser.driver.findElement(By.id('loginsubmit1')).submit() 

のように、通常のwebdriverを操作する操作を変更することにより、作業しまった私は

browser.$("#loginsubmit1").click() 

答えて

0

このコマンドを使用して、間違っているのか分かりません$()は、ページだけのブラウザオブジェクトでは使用できません。このコードは動作するはずです:

browser = new Browser() 
browser.setDriver(new FirefoxDriver()) 
browser.go("http://localhost:8080") 
browser.$("#loginsubmit1").page.click() 

また、Browser.driveメソッドの使用を検討する必要があります。あなたが望むもののために、それは次のようになります。

Browser.drive(baseUrl: "http://localhost:8080"){ 
    go() 
    $("#loginsubmit1").click() 
} 

ドライブ()はそれとbrowser.pageの両方に新しいブラウザオブジェクトとデリゲートを作成しますので、彼らが直接呼び出すことができているものは何でもメソッドとプロパティので、それが動作します。 FirefoxDriverはデフォルトのため指定する必要はありませんが、指定したい場合はFirefoxDriverを指定する必要があります。

関連する問題