如何使用GEB下载表单提交文件

时间:2014-09-17 09:29:03

标签: groovy submit geb

我正在使用Geb(WebDriver)构建测试,并且需要提交一个表单,该表单将创建一个响应文件

我可以下载该文件(浏览器会自动将其保存到磁盘中),但我会在 GEB 中查看它。

  • 我尝试过newWindow(),但它只适用于URI ??
  • 我尝试过downloadXXX(),但没有运气......

如何将文件下载到变量中?

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())
    }
}

1 个答案:

答案 0 :(得分:0)

在点击不幸发布帖子的按钮后,您无法拦截浏览器下载的文件。

您必须使用在使用表单时发送的正确内容来合成发布请求。虽然使用Geb的DownloadSupport课程可以这样做,但它会很复杂和笨重。您最好使用执行此类请求的库是主要功能,例如REST-Assured