Groovy 如何使用GEB Spock验证web应用程序中的PDF加载

Groovy 如何使用GEB Spock验证web应用程序中的PDF加载,groovy,automation,spock,geb,Groovy,Automation,Spock,Geb,我需要验证当用户导航到某个页面时是否生成pdf。可以证明,GEB不支持PDF验证。如果我仍然无法验证pdf内容,我不介意。但我需要验证pdf在导航到该页面后是否已经存在。有时在该页面上,pdf从不生成服务器错误的intead警告消息。因此,如果pdf未加载,我需要捕获该错误。你能帮忙吗? 仅供参考,Pdf不是该页面上的链接。导航到该页面后,它会在该页面上动态加载 我在下面编写了此代码以导航到该页面: when: "Some Actions" then: "Click Cont

我需要验证当用户导航到某个页面时是否生成pdf。可以证明,GEB不支持PDF验证。如果我仍然无法验证pdf内容,我不介意。但我需要验证pdf在导航到该页面后是否已经存在。有时在该页面上,pdf从不生成服务器错误的intead警告消息。因此,如果pdf未加载,我需要捕获该错误。你能帮忙吗? 仅供参考,Pdf不是该页面上的链接。导航到该页面后,它会在该页面上动态加载

我在下面编写了此代码以导航到该页面:

when: 
    "Some Actions"
then: 
    "Click Continue button"

    PbnContinue.click();
    at PDFPage
    Thread.sleep(5000); //Need to have sleep to get enough time to load for testing purpose
    clickPbnSubmit();

expect:
    “assert something”

目前,我正在添加一些睡眠,以确保PDF有足够的时间加载。但看起来,如果他们有任何服务器错误,pdf永远不会显示,我的脚本也会失败。

什么???是否要捕获客户端中的服务器错误???无论如何,在Groovy中,您可以调用
sleep 5000
,而不是
Thread.sleep(5000)。但你可能不应该这样做,如果你依赖于时间,这个测试将非常脆弱。尝试等待加载新页面(请参阅Geb的书:)。还有一件事:你用错了斯波克。您应该有一些类似于
的内容:“一些设置”
当:“一些操作”
然后:“断言一些”
。不要将
then
块与
expect
混合使用!我需要在pdf未加载时捕获任何错误。如何验证pdf是否已上载或从未加载。仅供参考,Pdf在一个框架内显示为网页的一部分。您是否检查了此项:?