我有一個使用Geb的Grails黃瓜測試。Geb - 如何查詢頁面請求參數
如何獲取爲當前頁面定義的請求參數?
E.g.鑑於目前的網頁地址是www.foo.com/list?sort=name&order=asc
我該如何測試sort
和order
PARAMS的值是什麼?
我有一個使用Geb的Grails黃瓜測試。Geb - 如何查詢頁面請求參數
如何獲取爲當前頁面定義的請求參數?
E.g.鑑於目前的網頁地址是www.foo.com/list?sort=name&order=asc
我該如何測試sort
和order
PARAMS的值是什麼?
爲了得到當前的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'
使用提取網址paramters:
def builder = new URIBuilder(url);
assert 'name' == builder.query.sort;
assert 'asc' == builder.query.order;
感謝@erdi指着我在正確的方向。
//列表控制器
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
}
你想獲取當前頁面瀏覽器的請求參數嗎? – erdi
@erdi - 是的,我試圖檢查當前頁面的請求參數。我嘗試過使用page.getDriver()。getCurrentUrl(),但沒有返回參數。但是,我不確定URL是否已被正確更改(我試圖單擊列標題進行排序)。 – Tim
它是browser.driver.currentUrl,然後你需要自己從網址中提取參數或使用一個庫 – erdi