我使用Geb进行Grails Cucumber测试。
如何获取为当前页面定义的请求参数?
E.g。鉴于当前页面网址为www.foo.com/list?sort=name&order=asc
如何测试sort
和order
参数的值是什么?
答案 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
}