Geb - 如何查询页面请求参数

时间:2013-09-05 12:42:54

标签: grails geb

我使用Geb进行Grails Cucumber测试。

如何获取为当前页面定义的请求参数?

E.g。鉴于当前页面网址为www.foo.com/list?sort=name&order=asc

如何测试sortorder参数的值是什么?

2 个答案:

答案 0 :(得分: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'

使用以下方法提取网址参数:

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

感谢@erdi指出我正确的方向。

答案 1 :(得分: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

}