下午好,
我陷入了测试的最后一步,在插入一系列信息之后,该网站生成了一个pdf付款指南:
我需要捕获绿色信息
这里显示检查源代码时的代码:
<embed id="plugin" type="application/x-google-chrome-pdf"
src="https://secweb.procergs.com.br/sng/javax.faces.resource/dynamiccontent.properties.xhtml?ln=primefaces&v=5.3.17&pfdrid=a9fc559a-bea3-4bc2-8234-5543c59715cc&pfdrt=sc&pfdrid_c=false&uid=e483b7ac-35d3-429e-9c84-c5db516f1b8c" stream-url="blob:chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/3173c884-d121-48c6-b417-5972f907fe9e" headers="Cache-Control: no-cache, no-store, must-revalidate
Connection: Keep-Alive
Content-Encoding: gzip
Content-Language: pt-br
Content-Type: application/pdf; charset=UTF-8
Date: Mon, 03 Sep 2018 20:26:44 GMT
Expires: Mon, 8 Aug 1980 10:00:00 GMT
Keep-Alive: timeout=16, max=1021
Pragma: no-cache
Server: Apache
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-UA-Compatible: IE=Edge
" background-color="0xFF525659" top-toolbar-height="56" top-level-url="undefined">
按照我的逻辑,我甚至无法从第一步开始,通过一些独特的文本来识别屏幕上PDF的存在:
if (driver0.getPageSource().contains("SECRETARIA DE MODERNIZAÇÃO ADMINISTRATIVA E DOS RECURSOS HUMANOS")) {
System.out.println("Located, we will capture the information ...");
} else {
System.out.println("Not found...");
}
使用PDFUtil库更新主题不成功,我将其添加到库中但它不起作用
这是我的主要测试:
try {
PDFUtil pdfUtil = new PDFUtil();
pdfUtil.getText("C://64914273.pdf");
} catch (Exception ex) {
System.out.println(ex);
}
控制台根本不返回任何内容
感谢那些可以帮助我的人
一种选择是保存pdf并使用PDF库读取内容并解析您要查找的文本。
看一下PDFUtil和示例
http://www.testautomationguru.com/introducing-pdfutil-to-compare-pdf-files-extract-resources/
我认为只有在使用OCR库将信息放入PDF中时才能实现这一点,但这些信息通常非常脆弱。
我要做的是确定测试范围,如果你可以将测试分开。
一次(自动)测试,检查单击提交时发送的信息或浏览器在HTTP请求中发送的任何内容是否正确。应该是像BrowserMob这样的简单代理来拦截请求。
第二次(手动)测试,检查PDF生成器在收到信息时是否正确显示信息。
因此,一旦发送和检查信息,您的自动化测试将完成,并且只有在PDF生产者引入任何风险时才会运行手动测试