使用Selenium和JAVA访问在新浏览器窗口中打开的pdf

时间:2013-03-06 05:57:35

标签: java automation selenium-webdriver

语言 - JAVA IDE - Eclipse 工具 - Selenium Web驱动程序

我有一个测试场景,点击链接会打开一个新窗口,显示pdf内容。 PDF显示带有“保存”和“取消”按钮的表单。对于新窗口中显示的元素,我们没有使用firebug获取任何元素标识符。如何编写脚本告诉驱动程序识别pdf中的字段并输入内容,然后单击“保存”按钮。enter image description here

2 个答案:

答案 0 :(得分:0)

不确定您是否可以使用webdriver识别pdf中的字段,因为在大多数情况下,pdf将嵌入浏览器中,而pdf中的字段不是Html组件。 您可能希望检查的一件事是使用AutoIt脚本并从您的主机程序(在您的情况下是java程序)中调用此脚本。我没有尝试过将AutoIt用于pdf,但是将其用于其他目的,发现它并不难学习和使用。

您可以从java程序中调用AutoIt可执行文件,如下所示: Runtime.getRuntime().exec("checkPDF.exe");

由于它是可执行文件,如果您计划在其他平台上运行webdriver脚本,则可能会出现可移植性问题。

答案 1 :(得分:0)

不能与Selenium合作。 PDF通常使用本机桌面应用程序/浏览器插件显示,这是Selenium一般无法处理的。 BTW:你打算用PDF公式测试什么?对我来说似乎毫无意义(乍一看)。

您可以做的是:使用AWT进行桌面截屏。您应该能够使用本机桌面方法来模拟鼠标点击和按键。但是,好吧,不太好[tm],因为你可能需要记录点击坐标并在每次PDF更改时重新记录它们。

也许相关:Interacting with a PDF popup in Selenium