我们使用python测试套件测试内部开发的应用程序,该套件通过Selenium WebDriver完成Web导航/交互。我们的网络测试中一个棘手的部分是在应用程序中处理一系列pdf报告。我们正在测试Firefox从v3.6到v16.0.1的计划升级,并且由于firefox临时文件夹的目录结构发生了变化,我们之前捕获报告的方式不再有效。我没有编写原始的pdf捕获代码,但是我将重构它以用于我们最终使用的v16.0.1,所以我想知道是否有更好的方法来保存使用Python的selenium webdriver绑定的pdf而不是我们'目前正在做。
以前,对于Firefox v3.6,在单击生成报告的链接后,我们将扫描“C:\ Documents and Settings \\ Local Settings \ Temp \ plugtmp”目录中的pdf文件(具有特定名称)惯例)。为了清楚起见,我们没有从网页本身保存报告,我们只是使用在firefox的Temp文件夹中生成的报告。
在Firefox 16.0.1中,单击生成报告的链接后,该文件将在“C:\ Documents and Settings \ \ Local Settings \ Temp \ tmp * \ cache *”中生成,并带有随机文件名,不以“.pdf”结尾。这使得捕获此文件有点困难,如果使用类似于我们之前的技术 - 每个浏览器都有一个不同的tmp ***文件夹,其中包含一个充满文件夹的缓存,其中报告是使用随机文件名生成的
我能看到的最简单的解决方案是直接保存pdf,但我还没有办法解决这个问题。
要使用我们在FF3.6中使用的相同方法(在Temp文件夹目录中查找pdf),我认为我们需要执行以下操作:
我对这种方法感觉不太好,并且想知道是否有更好的方法来捕获pdf文件。任何人都可以提出更好的方法吗?
注意:实际抓取PDF文件的工作仍然正常。
答案 0 :(得分:0)
我们最终通过在测试之前清除firefox的临时Internet文件,然后在生成报告后查找最近创建的文件来完成此任务。