我使用Geb进行了Grails Cucumber测试.
如何获取为当前页面定义的请求参数?
例如,鉴于当前页面网址是 www.foo.com/list?sort=name&order=asc
如何测试sort和orderparams 的值是什么?
要获取浏览器中的当前URL(包括参数):
使用:
def url = browser.driver.currentUrl
Run Code Online (Sandbox Code Playgroud)
或者(如果您使用的是Page对象模式)
def url = page.driver.currentUrl
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用URIBuilder提取查询参数:
通过将以下内容添加到依赖项部分下的BuildConfig.groovy来导入HTTPBuilder模块:
test 'org.codehaus.groovy.modules.http-builder:http-builder:0.5.2'
Run Code Online (Sandbox Code Playgroud)
使用以下方法提取网址参数:
def builder = new URIBuilder(url);
assert 'name' == builder.query.sort;
assert 'asc' == builder.query.order;
Run Code Online (Sandbox Code Playgroud)
感谢@erdi指出我正确的方向.