我正在使用Geb(WebDriver)构建测试,并且需要提交一个表单,该表单将创建一个响应文件。
我可以下载该文件(浏览器会自动将其保存到磁盘中),但我会在 GEB 中查看它。
如何将文件下载到变量中?
class CSVTest extends GebReportingTest
@Test
void csvCreation() {
to CSVExport
// select entries / fill values
selectAllEntries.value(true)
//// this will do a post
//// the server will render a file and deliver it back as a result of the submit
// CORRECTLY downloads the file
submitButton.click()
// NOT WORKING
withNewWindow (submitButton.click()) {
...
}
// NOT WORKING
def csv = download(submitButton.click())
}
}
答案 0 :(得分:0)
在点击不幸发布帖子的按钮后,您无法拦截浏览器下载的文件。
您必须使用在使用表单时发送的正确内容来合成发布请求。虽然使用Geb的DownloadSupport
课程可以这样做,但它会很复杂和笨重。您最好使用执行此类请求的库是主要功能,例如REST-Assured。