2

Geb を使用して、Grails Cucumber テストを行っています。

現在のページに定義されているリクエスト パラメータを取得するにはどうすればよいですか?

たとえば、現在のページの URL がwww.foo.com/list?sort=name&order=asc

sortおよびorderparamsの値をテストするにはどうすればよいですか?

4

2 に答える 2

7

ブラウザーで現在の URL (パラメーターを含む) を取得するには:

使用する:

def url = browser.driver.currentUrl

または (Page オブジェクト パターンを使用している場合)

def url = page.driver.currentUrl

次に、URIBuilder を使用してクエリ パラメータを抽出できます。

依存関係セクションの下の BuildConfig.groovy に以下を追加して、HTTPBuilder モジュールをインポートします。

test 'org.codehaus.groovy.modules.http-builder:http-builder:0.5.2'

以下を使用して URL パラメータを抽出します。

def builder = new URIBuilder(url);
assert 'name' == builder.query.sort;
assert 'asc' == builder.query.order;

正しい方向に向けてくれた@erdiに感謝します。

于 2013-09-07T13:17:34.540 に答える
0

//これをリストコントローラーに追加します

これは、コントローラー アクションがロードされる直前に実行されます。

def beforeIntereseptor {

def myUrl = request.request.requestURL  // to get all 
//or
def myUrl = request.request.requestURL.getParameter("ref") 
 /* "request.request.requestURL" don't get the desired URL */     
//do soemthing based on your url then

}
于 2013-09-05T13:24:38.417 に答える